Оглавление:
MGate с протоколом Modbus – это шлюзы протоколов, которые позволяют подключить приборы с интерфейсами RS-232, RS-422 и RS-485 к сети Ethernet с преобразованием протоколов из Modbus RTU/ASCII в Modbus TCP или наоборот.
Инженеры часто не могут определить, когда нужно применять MGate или NPort. Если кратко, то NPort преобразует только интерфейсы СОМ в Ethernet и не изменяет данные, а MGate преобразует интерфейсы и протоколы.
Посмотрите видео с обзором серии MGate и примером настройки шлюза:
Режим преобразования Modbus TCP Slave в Modbus RTU Master
У нас есть Modbus TCP Master и нам нужно подключить к нему Modbus RTU Slave устройство, но без шлюза это сделать не получится. Шлюз в этой схеме будет выступать Modbus TCP Slave/Server по отношению к TCP Master/Client и Modbus RTU Master по отношению к RTU Slave устройству.
Для настройки шлюза воспользуемся утилитой
Чтобы было легче разобраться, посмотрите на картинку сверху.
Если вы подключаете RTU Slave устройство к СОМ порту, то выбирайте Режим RTU Slave, а если RTU Master устройство, то Режим RTU Master. Мы выберем режим RTU Slave и снимем галочку Включить ProCOM.
Основное поле обязательное для заполнения — это таблица ID подчиненных устройств.
В этой таблице мы выбираем куда отправить команду.
На картинке выше: если команда адресована устройствам с Modbus ID от 1 до 5, то шлюз отправит ее в 1 порт, а команды для устройств с Modbus ID от 6 до 10 шлюз отправит на 2 порт.
Еще в поле Порт таблицы маршрутизации можно указать дополнительные условия пересылки Modbus команд в зависимости от IP адреса или TCP порта, но это не обязательно.
Также мы можем задать смещение Modbus ID, что позволяет на разных портах иметь устройства с одинаковыми Modbus ID. Это нужно, например, когда вы не можете изменить Modbus ID конечных устройств.
Во вкладке Дополнительно можно активировать специфические функции, которые не влияют на преобразование протоколов, но влияют на безопасность. Доступны следующие настройки:
- Список разрешенных IP адресов
- Журнал сообщений
- Типы оповещений по Email, SNMP Trap или через реле
- Тип доступа к шлюзу HTTP, HTTPS, Telnet
- Политика в отношении доступа к шлюзу
Мы завершили настройку, нажимаем кнопку ОК и ждем перезагрузки шлюза. После короткого сигнала, шлюз готов к работе.
Проверка шлюза
Для проверки работы шлюза можно использовать любое ПО. Например, для эмуляции Modbus TCP Master можно использовать компьютер с ПО ModScan, а для Modbus RTU Slave ПО ModSim.
После настройки ПО Modbus TCP Master посылает команды в шлюз, а шлюз преобразует их в команды Modbus RTU и отправляет на нужный СОМ порт в соответствии с таблицей Modbus маршрутизации.
Чтобы посмотреть какие команды куда отправляются, можно запустить Мониторинг.
Нажимаем кнопку Мониторинг, а затем кнопку Пуск, мы видим команду Modbus TCP Request от Master устройства, шлюз преобразует ее в команду Modbus RTU Request и пересылает ее в Slave устройство на 1 порт. Далее шлюз получает ответ Modbus RTU Response, преобразует его в Modbus TCP Response и пересылает ответ для Master устройства.
Режим преобразования Modbus TCP Master в Modbus RTU Slave
У нас есть Modbus RTU Master и нам нужно подключить к нему Modbus TCP Slave устройство. Шлюз в этой схеме будет выступать Modbus TCP Master/Client по отношению к TCP Slave/Server и Modbus RTU Slave по отношению к RTU Master устройству.
Сетевые настройки и параметры СОМ порта будут такие же как выше.
Перейдем к настройкам преобразования протоколов.
Т.к. теперь мы подключаем RTU Master устройство к СОМ порту, значит выбираем Режим RTU Master.
Для примера настроим оба порта в режим RTU Master и снимем галочку Включить ProCOM.
Перейдем на вкладку Modbus-маршрутизация.
Т.к. у нас оба порта в режиме RTU Master, то в Таблице ID подчиненных устройств нет условия пересылки Modbus команд на СОМ порты.
Теперь добавим условие пересылки команд на IP адрес Modbus TCP Slave/Server устройства.
Если команда адресована устройствам с Modbus ID от 1 до 10, то шлюз отправит ее на IP адрес Modbus TCP Slave/Server устройства.
Мы завершили настройку, нажимаем кнопку ОК и ждем перезагрузки шлюза. После короткого сигнала, шлюз готов к работе.
Чтобы посмотреть какие команды куда отправляются, можно запустить мониторинг.
Режим ProCOM для эмуляции виртуального СОМ порта
Режим ProCOM позволяет создать на компьютере виртуальный СОМ порт с поддержкой протокола Modbus RTU, когда ПК подключен к шлюзу через Ethernet. Такой функционал необходим для совместимости с ПО, которое может работать только с СОМ портом по протоколу Modbus RTU.
Покажем на следующем примере, у нас есть компьютер, который может работать только с Modbus RTU протоколом и не имеет встроенных СОМ портов. К нему нужно подключить Modbus TCP Slave/Server устройство (также можно подключить Modbus RTU Slave).
Перейдем к настройкам преобразования протоколов.
Для создания виртуального СОМ порта поставим галочку Включить ProCOM.
Если мы не используем СОМ порты, то их можно отключить, для примера оставим их в режиме RTU Slave.
В Таблице ID подчиненных устройств нужно добавить условие для пересылки команд на IP адрес Modbus TCP Slave/Server устройства. Т.к. мы оставили включенными СОМ порты, то для них также доступны условия.
Мы завершили настройку, нажимаем кнопку ОК и ждем перезагрузки шлюза. После короткого сигнала, шлюз готов к работе.
После нажатия кнопки Добавить, в окне появятся 4 СОМ порта. При необходимости можно удалить ненужные СОМ порты.
После нажатия кнопки Ок, у нас появится СОМ3 порт. В диспетчере устройств он не отображается.
Чтобы посмотреть какие команды куда отправляются, можно запустить Мониторинг.
Подтягивающие и согласующие резисторы
В MGate есть встроенные резисторы, которые обеспечивают правильную работу линий RS-422/485.
Согласующий резистор или терминатор 120 Ом – ставится в начале и конце линии для предотвращения отражения сигнала от конца линии и искажении полезного сигнала в RS-422/485.
Подтягивающие резисторы (pull high/low resistors) – предназначены для ограничения тока, протекающего по сигнальным цепям, и чтобы сделать состояние цифрового входа по умолчанию высоким или низким.
Пример расположения резисторов для модели MGate MB3270 (подробности в руководстве пользователя к конкретной модели MGate):
Распиновка разъемов СОМ портов
Рекомендации по устранению неисправностей
Если возникли проблемы с передачей данных, то проверьте через Мониторинг приходят ли команды и куда они отправляются.
Если команды не приходят со стороны Ethernet, то проверьте:
- Правильно ли указан IP адрес шлюза в ПО
- Находится ли он в одной подcети с Master устройством
- Правильно ли настроена пересылка команд во вкладке Modbus-маршрутизация, а именно в таблице ID подчиненных устройств
- Воспользуйтесь другим ПО для проверки
Если проблема со стороны СОМ порта, то проверьте:
- Параметры СОМ порта: скорость, четность, тип интерфейса, протокол данных
- Правильность подключения проводов к порту
- Настройки во вкладке Modbus-маршрутизация
- Измените номинал подтягивающих резисторов
- Добавьте согласующий резистор (для RS-422/485)
- Воспользуйтесь другим ПО для проверки