Обзор и настройка шлюзов MDC-700 с функцией концентратора данных

26 февраля 2019 Обзоры продуктов

Обзор и настройка Modbus шлюза MDC-714 с поддержкой двух Modbus RTU Master

Оглавление:

О шлюзах MDC-700

Шлюзы серии MDC-700 представляют собой Modbus концентратор данных.

Принцип их работы следующий:

Принцип работы MDC-700

Шлюз периодически опрашивает Modbus RTU Slave устройства и сохраняет эти данные во внутренних регистрах. Одно или несколько Modbus Master устройств по протоколам Modbus RTU или Modbus TCP получают эти данные из памяти самого шлюза, а не из регистров конечных устройств.

Такой алгоритм работы позволяет ускорить получение информации из Modbus RTU Slave устройств, а также подключить несколько Modbus Master устройств по протоколам Modbus RTU или Modbus TCP к шлюзу.

Подключение нескольких Modbus Master устройств по протоколам Modbus RTU или Modbus TCP к шлюзу

Дополнительно шлюзы MDC-700 позволяют организовать обмен данными между двумя Modbus RTU Master устройствами либо организовать опрос Modbus RTU Slave устройств сразу двумя Modbus RTU Master устройствами.

Серия шлюзов MDC-700 включает в себя несколько модификаций, которые отличаются количеством и типом СОМ-портов. В таблице вы сможете увидеть отличия.

Отличия шлюзов серии MDC-700

Память шлюзов позволяет хранить до 9600 регистров на каждый канал аналогового и дискретного ввода-вывода.

Со стороны Modbus TCP возможно подключение до 8 Master устройств.

На текущий момент функция опроса Modbus TCP Slave устройств не реализована, но в будущем такая функция может появиться.

Настройка шлюза осуществляется через CSV файл.

Обзор WEB-интерфейса шлюза

Перейдем к обзору WEB-интерфейса и настройке шлюза MDC-714.

Зайдем на IP-адрес устройства.

Для первичного поиска шлюза можно воспользоваться eSearch Utility.

eSearch Utility - название шлюза

На странице видим название шлюза, а под ним надпись, которую можно изменить.

Ниже отображается статус подключения вашего компьютера к шлюзу.

Далее отображен опрос регистров по СОМ-портам.

Если нажать +, то мы увидим:

  • Список регистров, которые опрашиваются в данный момент
  • Локальные регистры, к которым привязаны опрашиваемые регистры
  • Статус опроса регистров

Ниже отображается Modbus ID адрес шлюза и TCP Port.

eSearch Utility - Modbus ID адрес шлюза и TCP Port

А также текущие настройки СОМ-портов и режим их работы: Master или Slave.

Далее идет поле для изменения IP-адреса шлюза.

eSearch Utility - поле для изменения IP-адреса шлюза

А за ним поля для загрузки настроек шлюза через CSV файл.

Через кнопки «Экспорт/Импорт» можно скачать или загрузить настройки шлюза.

В самом низу можно увидеть текущую версию прошивки шлюза.

Настройка подключения Modbus RTU Slave устройства к шлюзу

Скачаем настройки шлюза, нажав кнопку «Экспорт».

eSearch Utility - скачивание настроек шлюза

Откроем файл настроек config.csv, например, через блокнот.

Здесь мы можем указать все параметры, которые мы видели в WEB-интерфейсе.

config.csv - параметры шлюза

Подключим к шлюзу 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.

eSearch Utility - Import

Перезагружаем WEB страницу.

Сверху видим соответствие внешних и локальных регистров.

eSearch Utility - соответствие внешних и локальных регистров

Теперь достаточно послать запрос на адрес шлюза и прочитать/записать локальные регистры.

Шлюз читает регистры с 0 по 7 с подключенного модуля, а для того чтобы их же получить из шлюза, нужно читать локальные регистры с 8 по 15.

Настройка обмена данными между Modbus RTU Master устройствами

Вместо опроса Slave-устройств можно Master-устройствами записывать информацию в любые выходные регистры шлюза, что позволяет соединить два Modbus RTU Master устройства.

Для этого настроим два СОМ-порта в режим Slave, например, 1 и 4.

eSearch Utility - настройка двух СОМ-портов в режим Slave

Теперь мы можем читать и записывать регистры AO и DO в шлюзе двумя Master устройствами, что позволяет организовать двухсторонний обмен данными между двумя Modbus RTU Master.

Для записи и считывания регистров используем Modbus ID шлюза и любой из 9600 регистров AO или DO.

Оставить заявку