Спасибо за ответ. Два блока "ComConn" на один порт я тоже пробовал, не работает. "ComConn" инициализирует порт, и это должно делаться один раз, как я думаю. Далее вот, как за "ComConn" подключить два модуля с разными адресами? С "ComConn" на модули должны прийти два сигнала: "Handle" и "Done". "Done" после элемента "AND" подаем напрямую на два модуля. Что делать с "Handle" (идентификатор открытого порта), как его подать на два модуля?
Подав питание на модуль,он самостоятельно подключается к сети(в случае если речь о 485 то можно подключить более одного прибора) и далее ждет запроса от мастера по заданному протоколу как в модуле так и в плк. Если работаете с бибкой модбас,то в блоке посылающем запрос на чтение или запись будете вводить и хандле и соответствующий адрес и вот какой адрес введете,прибор с таким адресом и ответит.
Здается мне что Вы зря за библиотеки взялись,всё это можно сделать через конфигуратор
ПЛК308, два модуля: МВ110-16Д и МУ110-16Р
подключены по RS-485 последовательно к порту 5 ПЛК
(RJ45 - "2 оранжевый" к "А" первого модуля и к "А" второго модуля)
(RJ45 - "4 синий" к "В" первого модуля и к "В" второго модуля).
Конфигуратором выставленны в обоих модулях скорости 115200,
протокол обмена ModBus-RTU, (в МУ110-16Р протокола обмена нат),
и базовые адреса приборов 16 и 32.
Проект в CoDeSys 3.5. Помещаем блок "ComConn" который настраивает 5 порт.
"Hendle" соединил ко второму модулю, он и опрашивается, индикатор RS-485
на нем мигает, на первом модуле нет. Ошибки "wErrCode" во втором модуле нет,
в первом есть.
Как опросить/записать значения в два модуля?
Использовать блоки "Uniread"/"Uniwrite"?
Проект.jpgКонфигуратор 1.jpgКонфигуратор 2.jpg