Работа с Modbus RTU сервером в CoDeSys 3.5

Версия драйвера 3.5.12.40

Для работы сервера Modbus RTU в проект программы контроллера необходимо добавить устройство Mega12NW_mbRTU_server, которое устанавливается в репозиторий устройств с помощью файла Mega12NW_mbRTU_server.devdesc.xml. В настройках соотнесения выбрать Вкл.2 (всегда в задаче цикла шины), для постоянного выполнения программы драйвера.

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

  1. Write_Coils
  2. Write_Holding_Registers
  3. Read_Coil_Status
  4. Read_Input_Status
  5. Read_Holding_Registers
  6. Read_Input_Registers

Под каждый тип выделено по 1024 адреса. Для передачи данных из драйвера в программу CoDeSys используются Write_Coils и Write_Holding_Registers. Соответсвенно для передачи данных из CoDeSys в драйвер используются остальные четрые типа.

Для настройки COM-портов необходимо использовать следующие переменные:

  1. COM# Baudrate – скорость порта, бит/c;
  2. COM# Parity – четность, 0 – None 1 – Odd 2 – Even;
  3. COM# Data bits – биты данных;
  4. COM# Stop bits – стоповые биты;
  5. Slave ID – Modbus адрес сервера

Настройки портов по умолчанию:

Baudrate – 115200 бит/c, Parity – 0 (None), Data bits – 8, Stop bits – 1, Slave ID – 3.

Версия драйвера 3.5.12.41

Для подключения COM портов к RTU серверу в проект программы контроллера, помимо устройства Mega12NW_mbRTU_server, необходимо добавить устройства Mega12NW_mbRTUport_onServer. Описания драйвера устанавливается в репозиторий устройств с помощью файлов Mega12NW_mbRTUport_onServer.devdesc.xml и Mega12NW_mbRTU_server.devdesc.xml. В настройках соотнесения выбрать Вкл.2 (всегда в задаче цикла шины), для постоянного выполнения программы драйвера. К серверу Modbus RTU можно подключить до 4-х драйверов порта Modbus RTU.

Каждый порт имеет свою Modbus карту по 4096 адресов каждого типа. Для открытия порта необходимо в переменной Port задать номер соответствующего порта (1,2,3 или 4), 0 – для закрытия порта. Узнать состояние портов (1 – открыт; 0 - закрыт) можно во вкладке Конфигурация устройства Mega12NW_mbRTU_server.