PDA

Просмотр полной версии : Modbus TCP Slave каналы



vicgerrard
13.07.2022, 23:02
Имеется необходимость обмениваться с верхним уровнем несколькими большими массивами данных (привязывать каждую переменную к регистру не подходит) по modbus TCP (верхний уровень -- master, ПЛК -- slave)

в ПЛК Schneider Electric modbus Slave встроен, и достаточно указать нужным переменным в Global Variables List адреса, которые сразу станут доступны по модбасу
С тем, что тут так не сделать, я смирился, добавил Modbus Tcp Slave, но столкнулся с тем, что нельзя несколько массивов привязать к одному типу регистров:
61646
Пришлось привязать 1000 регистров к одному большому массиву и вручную уже следить за адресацией внутри и сериализацией/десериализацией значений в структуры.
Смирился и с этим, но в одном из ваших вебинаров на ютубе наткнулся на скриншот, где регистры были разделены на каналы, к каждому из которых можно привязать массив:
61645
Но никак не удалось натыкать в sp17 подобное. Как это сделать? Или может есть другие рекомендации для подобных, как у меня, случаев?

Евгений Кислов
14.07.2022, 06:18
Но никак не удалось натыкать в sp17 подобное. Как это сделать?

Это скриншот настройки ПЛК в режиме Master - в вашем случае он не подойдет.


Или может есть другие рекомендации для подобных, как у меня, случаев?

Используйте ФБ MB_TcpSlave из библиотеки OwenCommunication.
См. пример использования: https://youtu.be/Cv9kxIT1eOA?t=4944