MODBUS TCP¶
Контроллеры, у которых присутствует порт Ethernet, поддерживают протокол Modbus TCP. Основные принципы работы с протоколом такие-же, как и для Modbus RTU.
Режим подчиненного¶
Этот режим ничем не отличается от работы в режиме Modbus RTU. Все сетевые переменные, присутствующие в контроллере, доступны как по протоколу Modbus RTU, так и по Modbus TCP, без каких-либо ограничений.
Единственным отличием от Modbus RTU является адресация самого устройства. Если для доступа к устройству через Modbus RTU используется его адрес, то при запросе через Modbus TCP необходимо указывать нулевой адрес.
В качестве примера рассмотрим настройку известной программы Modbus Poll.
В диалоге подключения указываем тип подключения Modbus TCP/IP и IP адрес контроллера. Номер порта должен быть установлен 502.
Затем в диалоге Read/Write Definition устанавливаем параметр SlaveID в ноль и указываем нужный адрес стартового регистра, количество регистров и другие необходимы параметры запроса.
При установке в запросе адреса отличного от нуля, контроллер будет работать в режиме маршрутизации. Все пакеты он будет перенаправлять в свой RTU порт для устройства с указанным адресом. Если контроллер содержит несколько COM портов, то по умолчанию маршрутизация производится с портом COM0. В некоторых устройствах есть возможность указать номер порта маршрутизации, более подробная информации содержится в описание конкретного контроллера.
Режим мастера¶
Для отправки запросов по протоколу Modbus TCP используются те же блоки чтения/записи, что и при работе с Modbus RTU. Однако для работы блоков на вход адреса нужно устанавливать значение в формате однобайтового числа. IP адрес имеет другую размерность. Поэтому для работы блока необходимо настроить таблицу диапазонов адресов в порту Ethernet контроллера. Это позволит задать соответствие однобайтового адреса и IP адреса.
Настройка заключается в установке стартового адреса, количества адресов и стартового IP адрес диапазона. Согласно этим настройкам будет вычисляться IP адрес контроллера, к которому будет отправляться запрос. Диапазонов может быть несколько.
Например, имеется контроллер, с адресом 192.168.1.38. Добавляем в настройку порта диапазон как указан на рисунке. Для доступа к 192.168.1.38 необходимо указать адрес 38 на входе блока Modbus.
В остальном работа с Modbus TCP в режиме мастера не отличается от работы в режиме Modbus RTU.
Работа с OPC-сервером¶
В этом разделе описана настройка контроллера и порядок работы с OPC-серверами (на примере Lectus OPC сервер)
Настройка опроса переменных панели Z031¶
Первый запуск конфигуратора сервера
Добавляем узел и производим его настройку согласно рисунку. Особое внимание обращаем на адрес устройства, который установлен в 0. Это означает, что запросы будут адресованы непосредственно панели. Для задания IP адреса панели нажимаем кнопку «Настройка» и в открывшемся окне указываем адрес и порт. Порт всегда равен 502.
Далее к узлу добавляем необходимое количество переменных.
Для переменной указывается адрес, права доступа, частота опроса.
Настройка опроса переменных контроллера, подключенного к порту RTU панели Z031¶
Настройка опроса переменных контроллера, подключенного к порту RTU панели производится аналогичным образом. Единственное отличие состоит в том, что адрес устройства узла должен быть не 0, а равен адресу Modbus подчиненного контроллера. В этом случае панель будет работать в режиме шлюза, пересылая запросы, полученный от OPC сервера в порт RTU.
На рисунке показана настройка опроса контроллера с адресом 1, подключенного к порту RTU панели с IP адресом 192.168.1.38.