Добавление и конфигурирование подмодуля ModbusRoute =================================================== В данном уроке мы с вами разберем тему рентрансляции пакетов с данными из одного канала в другой. Напишем программу, в котором будет налажена приём-передача пакетов Modbus TCP - Modbus RTU. Рассмотрим элементы подмодуля ModbusRoute. .. csv-table:: Элементы ModbusRoute :header: "Элемент","Описание" :widths: 20, 50 :align: center "ChannelFrom", "Выбор порта передачи: * PACKET_CHANNEL_TCP (передаваемые данные протоколом TCP через канал связи Ethernet) * PACKET_CHANNEL_UDP (передаваемые данные протоколом UDP через канал связи Ethernet) * RS_232_UART * RS_485_1_UART * RS_485_2_UART * RS_485_IMMO_UART (передаваемые данные протоколом RTU через межмодульный шлейф)" "ChannelTo", "Выбор порта приёма: * RS_232_UART * RS_485_1_UART * RS_485_2_UART * RS_485_IMMO_UART (передаваемые данные протоколом RTU через межмодульный шлейф)" "ModbusAdress", "Modbus адрес устройства, для которого производится ретрансляция из одного канала в другой [1]_" .. [1] При указании адреса 255 ретранслирует все пакеты полученные с канала «извлечения» в канал «записи». Для нашего урока потребуется программа Modbus Poll и Modbus Slave, преобразователь usb-rs485 (в нашем случае выбираем преобразователь интерфейсов USB-HART/RS-485). Создаем новый проект на любом языке, мы выберем FBD. Добавляем какую-либо глобальную переменную в программе и определим ее во вкладке "Project". Далее добавим подмодуль ModbusRoute. .. figure:: img/28.png :align: center :width: 600 Для нашего случая выберем из TCP в RS485_1 по Modbus-адресу 13. .. figure:: img/29.png :align: center :width: 600 Скомпилируем программу и загружаем в ПЛК. Запускаем программу Modbus Poll, настроим параметры подключения через TCP. .. figure:: img/30.png :align: center .. figure:: img/31.png :align: center Также параллельно запускаем еще одну программу Modbus Slave, с настройками представленными ниже. .. figure:: img/32.png :align: center .. figure:: img/33.png :align: center .. figure:: img/gif8.gif :align: center :width: 600 Далее запускаем автоматическое инкрементирование регистра по адресу 6000. .. figure:: img/gif13.gif :align: center :width: 600 Как видно, данные ретранслируются из одного канала в другой.