Каналы описывают операции чтения или записи над регистрами Modbus-устройства. Для Master-модулей поддерживаются два типа каналов: чтение регистров хранения и запись одного регистра.
Чтение: modbus_func = 3 (Read Holding Registers)
| Поле | Тип | Описание |
|---|---|---|
| name | string | Уникальное имя канала в рамках ведомого устройства. |
| modbus_func | int | Код функции Modbus. Для чтения всегда 3. |
| addr3 | int | Внутренний адрес МЭК для данного канала. Желательно устанавливать равным offset. |
| offset | int | Modbus-адрес регистра на устройстве (начальный адрес). |
| register_count | int | Количество считываемых регистров подряд. Для одного регистра – 1. |
| cycle_time | int | Период циклического опроса, в миллисекундах. |
| event_error | bool | При значении true ошибка связи по этому каналу будет генерировать системное событие. |
Запись: modbus_func = 6 (Write Single Register)
| Поле | Тип | Описание |
|---|---|---|
| name | string | Уникальное имя канала в рамках ведомого устройства. |
| modbus_func | int | Код функции. Для записи одного регистра всегда 6. |
| addr3 | int | Внутренний адрес МЭК для данного канала. Желательно устанавливать равным offset. |
| offset | int | Modbus-адрес регистра на устройстве. |
| cycle_time | int | Периодичность попыток записи, в миллисекундах. |
| write_on_change | bool | Если true, запись выполняется только при изменении значения в контроллере (экономия трафика). Если false – циклическая запись с периодом cycle_time. |
| event_error | bool | При значении true ошибка связи по этому каналу будет генерировать системное событие. |
Важно: Для функции 6 поле register_count отсутствует – запись всегда производится в один регистр.