НТК Интерфейс
Контроллеры серии «Синком-Д». Руководство по эксплуатации
×
Меню

4.8. Настройка обмена по MODBUS RTU и MODBUS-подобным протоколам

Контроллеры серии «Синком-Д» поддерживают считывание значений ТС и ТИ с регистров устройств, а также запись в регистры устройств данных из памяти контроллера  в протоколе MODBUS RTU.
На одном канале COM можно настроить до 50 отдельных запросов считывания и записи данных различных устройств с использованием разных протоколов. Рекомендуемое ограничение - количество устройств, подключаемых к одному СОМ-порту, не должно превышать 8.
После включения контроллер непрерывно последовательно выдает сконфигурированные запросы и полученные от устройств данные (в ответах на запросы) складываются в общий массив контроллера.
 
Чтобы настроить работу COM-портов контроллера по протоколу MODBUS RTU необходимо выполнить следующие действия:
Внимание: Порты 3 и 4 контроллеров серии «Синком-Д» могут работать только по интерфейсу RS-485.
Допустимые значения: от 50 до 115200 бод для порта 1 и от 1200 до 115200 бод для портов 2, 3 и 4.
Рекомендуемые значения параметра «Стоповый бит»: 2 бита без контроля чётности и 1 бит с контролем чётности.
 
Внимание: Каждая строка описания соответствует одному запросу протокола обмена.
 
Контроллеры серии «Синком-Д» поддерживают несколько стандартных кодов функций, согласно протоколу MODBUS, и несколько специальных – для поддержки конкретных устройств и реализаций протокола. Поддерживаемые стандартные коды функций:
Код функции
Функция
1
Read Coil Status
2
Read Input Status
3
Read Holding Registers
4
Read Input Registers
6
Preset Single Register
Поддерживаемые специальные коды функций:
Внимание: так как специальные функции предназначены для поддержки конкретных протоколов и устройств, могут потребоваться специфичные настройки каналов связи и параметров запроса. Данные вопросы будут подробнее рассмотрены в разделах, посвященных конкретному коду функции.
Код функции
Устройство/реализация
90
МВ110-8А
111
Тэкон-19
100
Щит S2000
200
DCON чтение
202
DCON запись
205
ЭЛЕМЕР
Каждый из кодов функций имеет собственный набор поддерживаемых типов данных.
 
Чтобы настроить запрос необходимо выполнить следующие действия:
Число задающее адрес первого считываемого запросом регистра.
Адрес регистра можно задать в шестнадцатиричной кодировке – для этого перед адресом необходимо поставить один из знаков: $, &, x, X (должна использоваться латинская раскладка).
Внимание: Первые 10 адресов в массиве ТИ, как правило, используются в сервисных целях. В разных описаниях наблюдается разная система адресации «прямая» или с «0» и относительная с «1». В настройке контроллера необходимо указывать «прямой» адрес, т.е. указанное число переносится в запрос без изменений.
Параметр описывает количество считываемых запросом регистров.
Внимание: Назначение параметра при работе по коду функции 6 отличается. Вопрос рассмотрен более детально в соответствующем разделе.
Каждому выбранному ‘Коду функции’ соответствует свой актуальный набор ‘Типа данных’.
Этот параметр устанавливает паузу после передачи запроса, в течении которой оживляется прием ответа от устройства. Задается в мсек. В идеальном случае время ответа должно быть равно времени передачи ответного пакета + время передачи 3.5 байт. Время передачи 1 байта на скорости 9600 примерно 1 мс. Однако встречаются устройства, отвечающие на запрос с дополнительной паузой, не описанной в документации.
Рекомендация: При первичном конфигурировании для неизвестного ранее устройства установите паузу как минимум равную 1000 мс. После наблюдения реального обмена можно будет уменьшить до фактически необходимого. Этот же параметр можно использовать для “замедления” темпа опроса данных. Например, при малом количестве устройств на шине или при наблюдении медленно изменяющихся данных можно выставить время больше необходимого для ответа.
Этот параметр позволяет задать адрес в массиве ТС/ТИ контроллера, начиная с которого будут записываться принимаемые или считываться, записываемые в устройство нижнего уровня,  ТС/ТИ .
Внимание: Заданные для запроса адреса в массиве ТС/ТИ не должны пресекаться с адресами ТС/ТИ полученных из других источников.