RS-485 как начать передавать сигнал

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#81

Сообщение Kot » 18.05.2023{, 11:17}

ну почему видно но мизерно
на 115200 такт передечи равен 2мс
2023-05-18_151306.png
на 300 такт уже 347мс
2023-05-18_151451.png
хотя я думал что он всегда одинаковый должен быть что бы в него влез пакет
а тут оказывается импульс в паке у 300 бод равен примерно 1,67мс а у 115200 8,8мкс видимо поэтому и тактовый уменьшен

щас я есп попробую на ещё большем уарте передать

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#82

Сообщение KSP » 18.05.2023{, 11:19}

Вы когда просто свисток т.е преобразователь USB-485 не подключенный по 485 вставляете и открываете Qmodbus программа ругается или просто сразу открывается?
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#83

Сообщение Kot » 18.05.2023{, 11:38}

она ругается на ардуино вторую точнее на тот порт сом11
хотя его потом видит без проблем но не взаимодействует с ним
qmodbas.mp4
(697.38 КБ) 12 скачиваний

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#84

Сообщение KSP » 18.05.2023{, 11:50}

это он не ругается а пишет что устройства в вашем случае с СН-340 нет попробуйте вставить УНО и прорамма сама определит ком порт если это произойдет значит свисток приказал долго жить.

Отправлено спустя 12 минут 55 секунд:
невнимательно прочитал вторая ардуино приказала долго жить
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#85

Сообщение Kot » 18.05.2023{, 12:11}

да нет это я походу затупил там надо было выбирать 485 а не ардуино

на есп при 115200 тоже сыпит потери
2023-05-18_160925.png
на слейве генератор посекундный а на мастере вывод в уарт их
но доходят только крошки

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#86

Сообщение KSP » 18.05.2023{, 12:17}

проект который загружен на есп можно посмотреть. Я вот что про нее нашел
СпойлерПоказать
22 вход.png
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#87

Сообщение Kot » 18.05.2023{, 12:32}

затестил два слейва всё норм
3333.mp4
(978.22 КБ) 10 скачиваний

по есп
слейв.flp
(104.14 КБ) 12 скачиваний
мастер.flp
(72.47 КБ) 10 скачиваний
Отправлено спустя 5 минут 36 секунд:
а как в есп завысить скорость ?
у автора максимум 115200
на есп можно выбрать 921600 но в компорте нет такой цыфры там есть
2023-05-18_163757.png
2023-05-18_163757.png (2.11 КБ) 484 просмотра

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#88

Сообщение KSP » 18.05.2023{, 12:48}

а зачем такая скорость на "ШАТЛ" программа пойдет 9600 для ваших 6 данных за глаза

Отправлено спустя 6 минут 41 секунду:
тест для двух слейвов прошел а мастер пробовали залить

Отправлено спустя 7 минут 9 секунд:
Num of coils выставляется число регистров которые нужно считать после Start adress т.е. если после Start adress 5 поставить Num of coils 7 и в слейве все эти адреса присутствуют с 5 по 12 он их за один запрос прочитает и выведет на табличку внизу поэтому скорость бешеная не требуется.
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#89

Сообщение Kot » 18.05.2023{, 13:28}

вы так и не уловили суть эксперементов
на 9600 РХ мастера молчит от слова всегда
на 115200 РХ подаёт признаки жызни принимая отрывочно данные изредка
в теории если поднять скорость то станет хорошо

мастер щас залью

я вам поже покажу длину времени пакета входящего как только заработает между одним и несколькоми интегерами
в теории пишут чтобы передать 1 байт нужно 10 бит 9600/10=960 байт в сек
моё предположение тогда т.к. 1 интегер занимает 2 байта то мы может принять 480 интегеров в 1 сек ?

Отправлено спустя 12 минут 23 секунды:
а что нужно выбирать при мастере ?
2023-05-18_174029.png
Отправлено спустя 1 минуту 3 секунды:
и что он будет считывать если нет слейва ?

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#90

Сообщение KSP » 18.05.2023{, 14:10}

протокол модбас работает по принципу телеграфа поэтому там все немного не так: мастер посылает телеграмму где 2 байта адрес устройства т.е. слейва потом что нужно от слейва записать или прочитать потом номера регистров потом контрольную сумму это куча байт потом ждет ответ и если период синхронизации превысил время на ответ шлет телеграмму повторно. А скорость влияет только на время занятия одной телеграммой чем больше скорость тем быстрее она дойдет.
Программа Qmodbus это симулятор мастера сети она и формирует эту первую телеграмму , а для симулятора слейва нужна другая программа я пользуюсь MODSIM32 , но она посложнее и адреса у нее начинаются с 1 т.е адресс 0 не симулируется.

Отправлено спустя 10 минут 7 секунд:
в этом описании можно найти все что касается передачи и приема и всего остального
СпойлерПоказать
ModBus_RTU.pdf
(638.61 КБ) 13 скачиваний
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#91

Сообщение Kot » 18.05.2023{, 14:41}

скачал такую Modbus Slave 8.2.0.1934
но нипонятно что с ней делать
2023-05-18_183943.png
2023-05-18_183943.png (10.4 КБ) 458 просмотров
вписал 57 кудато но на ардуино не загорелся 13 светодиод

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#92

Сообщение KSP » 18.05.2023{, 14:52}

на модсим похожа: сначала нажимаете коннект и правильно все заполняете в порту потом новый файл и вписываете данные странно но на моей программе 0 нет на всякий случай впишите и в 1 адрес Функция для считываемого регистра должна быть F3 если я правильно понял попробуйте где-то должна меняться. Я уже оба проекта так проверял по отдельности все срабатывает а вместе не хотят эти платы видеть друг друга.
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#93

Сообщение Kot » 18.05.2023{, 15:14}

да я уже методом тыка заставил загореться светодиод
пробую анализатором изучить симулятор

вот и я про тоже симуляторы оба взаимодействуют с модулем притом даже на 9600 а без симулятора не хотят

Отправлено спустя 9 минут 4 секунды:
в анализаторе всё идеально запрос/ответ
2023-05-18_192157.png
тока не понятно почиму он пишит везде инвалид чексумма если светодиод горит на мастере непрерывно а значит сбоев нету
2023-05-18_192051.png
Отправлено спустя 5 минут 34 секунды:
в общем я проверил меняя адреса
оказалось что первые 10 бит это 8 точек для адреса потом квадратик это наверное стоп бит и красный точка это чет нечет наверное далее ещё каких то 10 бит и далее ещё какой то зоопарк битов
2023-05-18_192729.png
Отправлено спустя 12 минут 3 секунды:
поставил синхронизацию в 10 мс
ответ приходит так же стабильно без каких либо потерь
2023-05-18_193459.png
единственное я не получил период равный 20 мс видимо если не допустимое число то прога сама проставляет минимальный итервал запросов
2023-05-18_193439.png
ладно что будем делать с 12 потрачеными днями в пустую как его заставить работать ?

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#94

Сообщение KSP » 18.05.2023{, 16:43}

залил проект мастера в 6 версии все четко заработало значит все-таки библиотека в 8 работает , но с косяками

Отправлено спустя 1 минуту 16 секунд:
вот этот проект залил
Вложения
НАНО м.flp
(76.72 КБ) 10 скачиваний
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#95

Сообщение Kot » 18.05.2023{, 16:57}

не 6 версия не вариант
мне надо есп32 и стм32 соединить да и ПБ туда не полезут в старую версию

а зачем вы дублируете переменную переменной ?
я отрубил симулятор слейва а на мастере так и остался гореть светодиод значит переменная тут полноценная

приём пакета одного интегера от симулятора составил 7 мс а если их сделать 6 интегоров то пакет будет длиться 17мс в общем в синхронизацию 1сек можно кучу напихать их тока вот будет 6 стм у каждой по 6 интегоров итого их 48 и теоретически уйдёт 816 мс а ещё будут болеалены и того придётся приподнять скорость что бы всё влезло в 1 сек

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#96

Сообщение KSP » 18.05.2023{, 17:05}

секунда я вам писал здесь не причем можно передать за один раз в районе 252 байт, не бит а байт. Так устроен протокол. Надо подумать как все это сделать. ПБ настолько большие или лень переписывать и 6 версия вашу плату поддерживает.

Отправлено спустя 1 минуту 3 секунды:
а мастера и слейв можно местами поменять

Отправлено спустя 14 минут 26 секунд:
или как вариант писать на обсуждении 8 версии автору, что мастер перестает опрашивать слейвы
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#97

Сообщение Kot » 19.05.2023{, 12:17}

я писал ему он промолчал видимо это не важно

я вот не могу Modbus Poll принять данные почемуто хотя через qmodbas принимает их
я выставил все нужные настройки
ТХ отсчытывает опрашивает в программе
красные буквы не горят тоесть ошибок в связи нету
трафик опроса движется
светодиоды на ардуино моргают оба что на РХ и тХ синхронно с Modbus Poll при опросе
но данные всегда равны 0
2023-05-19_145231.png
ардуино слейв настроен как обычно да и дело то не в нём qmodbas же принимает данные
2023-05-19_161514.png
может какая то символичная кнопка есть ненажатая в проге ?

Отправлено спустя 1 минуту 52 секунды:
приэтом в Modbus Poll сканер адресов нормально видит их все 6 штук
2023-05-19_161807.png
2023-05-19_161807.png (9.74 КБ) 405 просмотров

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#98

Сообщение KSP » 19.05.2023{, 12:36}

кнопка может и есть вчера грузил вот этот проект вроде четко отрабатывает скорее всего нужен холдинг регистр слейве попробуйте вот такой мастер, но в слейве обязательно добавьте холдинг можно просто тег, но лучше тэг и глобальную переменную. Я очень давно поднимал такую тему у меня не шел модбас пока в проект не был вставлен блок дисплея т.е вставляешь блок все работает без блока опроса нет.
СпойлерПоказать
мастер на НАНО.flp
(131.29 КБ) 9 скачиваний
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#99

Сообщение Kot » 19.05.2023{, 12:53}

нет вчера я работал с симулятором на слейве там всё норм
теперь на оборот симулятор мастера модбаса стоит

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#100

Сообщение KSP » 19.05.2023{, 13:06}

модбас на симуляторе может работать, а может и врать симулятор посылает единичную телеграмму и ждет на нее ответ лучше пробовать на платах там уже работает библиотека модбас, а у нее свои причуды. А переменные модбас я дублирую по привычке на первых версиях без записи в глобальную переменную дело не шло не знаю почему сейчас может и не надо.
S

Ответить

Вернуться в «Помогите, а то я "нимагу"»