Оглавление:
- О шлюзах MDC-700
- Обзор WEB-интерфейса шлюза
- Настройка подключения Modbus RTU Slave устройства к шлюзу
- Настройка обмена данными между двумя Modbus RTU Master
О шлюзах MDC-700
Шлюзы серии MDC-700 представляют собой Modbus концентратор данных.
Принцип их работы следующий:
Шлюз периодически опрашивает Modbus RTU Slave устройства и сохраняет эти данные во внутренних регистрах. Одно или несколько Modbus Master устройств по протоколам Modbus RTU или Modbus TCP получают эти данные из памяти самого шлюза, а не из регистров конечных устройств.
Такой алгоритм работы позволяет ускорить получение информации из Modbus RTU Slave устройств, а также подключить несколько Modbus Master устройств по протоколам Modbus RTU или Modbus TCP к шлюзу.
Дополнительно шлюзы MDC-700 позволяют организовать обмен данными между двумя Modbus RTU Master устройствами либо организовать опрос Modbus RTU Slave устройств сразу двумя Modbus RTU Master устройствами.
Серия шлюзов MDC-700 включает в себя несколько модификаций, которые отличаются количеством и типом СОМ-портов. В таблице вы сможете увидеть отличия.
Память шлюзов позволяет хранить до 9600 регистров на каждый канал аналогового и дискретного ввода-вывода.
Со стороны Modbus TCP возможно подключение до 8 Master устройств.
На текущий момент функция опроса Modbus TCP Slave устройств не реализована, но в будущем такая функция может появиться.
Настройка шлюза осуществляется через CSV файл.
Обзор WEB-интерфейса шлюза
Перейдем к обзору WEB-интерфейса и настройке шлюза MDC-714.
Зайдем на IP-адрес устройства.
Для первичного поиска шлюза можно воспользоваться eSearch Utility.
На странице видим название шлюза, а под ним надпись, которую можно изменить.
Ниже отображается статус подключения вашего компьютера к шлюзу.
Далее отображен опрос регистров по СОМ-портам.
Если нажать +, то мы увидим:
- Список регистров, которые опрашиваются в данный момент
- Локальные регистры, к которым привязаны опрашиваемые регистры
- Статус опроса регистров
Ниже отображается Modbus ID адрес шлюза и TCP Port.
А также текущие настройки СОМ-портов и режим их работы: Master или Slave.
Далее идет поле для изменения IP-адреса шлюза.
А за ним поля для загрузки настроек шлюза через CSV файл.
Через кнопки «Экспорт/Импорт» можно скачать или загрузить настройки шлюза.
В самом низу можно увидеть текущую версию прошивки шлюза.
Настройка подключения Modbus RTU Slave устройства к шлюзу
Скачаем настройки шлюза, нажав кнопку «Экспорт».
Откроем файл настроек config.csv, например, через блокнот.
Здесь мы можем указать все параметры, которые мы видели в WEB-интерфейсе.
Подключим к шлюзу Modbus RTU Slave модуль M-7055D с дискретными входами и выходами на СОМ 2.
В настройках CSV-файла СОМ 2 должен быть Master.
Обратите внимание на Response Timeout и Delay Between polls. Вам нужно задать их так, чтобы они были больше реального времени ответа от самых удаленных устройств, чтобы не возникали ошибки при опросе.
Например, устройство отвечает вам через 220 мс, вы ставите Response Timeout = 300 мс или более и Delay Between polls = 100 мс.
Снизу указываем, какие регистры нужно опрашивать.
Для опроса дискретных входов укажем строчку:
*,2,1,2,0,8,2,0,
Которая расшифровывается так:
«*» означает что команда обрабатывается, далее через 2 СОМ-порт (цифра «2») опрашиваем устройство с 1-первым Modbus ID адресом (цифра «1»), код функции 2 для опроса дискретных входов (цифра «2»), начиная с 0 регистра (цифра «0»), количество регистров 8 (цифра «8»), при истечении таймаута действуем по коду 2 (цифра «2»), предустановленное значение равно 0 (цифра «0»).
Последние два значения расшифровываются так:
Значения TimeoutEventProcess - Превышение таймаута:
0 - Вернуть код ошибки
1 - Использовать предыдущее значение
2 - Использовать предустановленное значение
Значения PresetValue - Предустановленное значение:
Определяет число, которое будет возвращаться при срабатывании TimeoutEventProcess в значении 2 (Использовать предустановленное значение).
Чтобы управлять выходами, нужно добавить их в шлюз, а для этого нужно считывать их текущие значения.
После добавления чтения выходных регистров, мы используем тот же регистр, для отправки команд на изменение состояния выхода.
Для опроса дискретных выходов укажем строчку
*,2,1,1,0,8,2,0,
Которая расшифровывается по аналогии с вышеописанным примером так: через 2 СОМ порт опрашиваем устройство с 1 Modbus ID адресом, код функции 1 для опроса дискретных выходов, начиная с 0 регистра, количество регистров 8, при истечении таймаута действуем по коду 2, предустановленное значение равно 0.
Сохраняем файл, выбираем файл настройки через Choose file и нажимаем Import.
Перезагружаем WEB страницу.
Сверху видим соответствие внешних и локальных регистров.
Теперь достаточно послать запрос на адрес шлюза и прочитать/записать локальные регистры.
Шлюз читает регистры с 0 по 7 с подключенного модуля, а для того чтобы их же получить из шлюза, нужно читать локальные регистры с 8 по 15.
Настройка обмена данными между Modbus RTU Master устройствами
Вместо опроса Slave-устройств можно Master-устройствами записывать информацию в любые выходные регистры шлюза, что позволяет соединить два Modbus RTU Master устройства.
Для этого настроим два СОМ-порта в режим Slave, например, 1 и 4.
Теперь мы можем читать и записывать регистры AO и DO в шлюзе двумя Master устройствами, что позволяет организовать двухсторонний обмен данными между двумя Modbus RTU Master.
Для записи и считывания регистров используем Modbus ID шлюза и любой из 9600 регистров AO или DO.