This is topic Использование modbus RTU in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Здравствуйте! Я создал два Источника MODBUS - Rin_Word(4)#1 (CH=1,ADDR=1)и Rin_Word(4)#2 (CH=1,ADDR=2) и привязал их к двум каналам HEX16, после привязал эти каналs к графическим элементам. Насколько я понял источник Rin_Word(4)#1 должен ожидать ответа только от первого устройства (с 01 в первом байте ответа), и точно также второй источник - с 02. Но этого не происходит - ответ со 2го устройства записывается как второму источнику Rin_Word(4)#2 так и первому Rin_Word(4)#1, и также ответ от 1го устройства.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
А можно глянуть на Ваш проект?
Posted by Алекс К (Участник № / Member № 1337) on :
Отослал На forum@adastra.ru - PIC.prj
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Проверил Ваш проект - все отлично работает! Рекомендую запустить какой-нибудь снифер СОМ-порта (например утилита portmon - есть в Интернет) и посмотреть, что реально сами устройства отвечают.
Posted by Алекс К (Участник № / Member № 1337) on :
Кажется я понял в чем наша ошибка мы эмулировали ответы от устройств по RS232, а надо создать сеть RS485. Правильно? (По рекомендации - утилита COMPump подойдет)
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Возможно.
Posted by Алекс К (Участник № / Member № 1337) on :
Но вот что я заметил при посылке запроса 1му устройству - в ответе я могу указывать любой адрес устройства, главное чтобы он успел пройти по времени до запроса допустим устройству №2. Получается TM не проверяет в ответе № устрйства?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Нет, ModBus RTU последовательный обмен - связь полудуплекс, проверка необязательна. Если отвечает чужой модуль не на свой запрос - это уже проблема этого модуля УСО.