АБАК ПЛК
Руководство по настройке и программированию
×

Опросчик Modbus TCP (Master)

 
Чтобы организовать на ПЛК связь по Modbus TCP в роли Master, необходимо в Alpha.Server контроллера из панели элементов добавить Опросчик Modbus TCP: Коммуникационные модули → Modbus → Опросчик Modbus TCP.
 
ModbusTcpMaster
 
При необходимости настройте свойства данного коммуникационного модуля. Далее необходимо настроить опрос стороннего устройства по карте адресов. Для этого необходимо вернуться в пространство Domain данного ПЛК и добавьте элемент «Компьютер» из панели элементов. Для примера задано имя «LSU_Device».
 
Элемент «Компьютер»
 
Внутри данного элемента необходимо добавить «Исполняющий компонент» из панели элементов, а также задать свойства для адаптера Ethernet. Присвоим принадлежность к сети RSU_NET.
 
Свойства Адаптера Ethernet
В исполняющем компоненте необходимо добавить приложения Application и станцию Modbus TCP из панели элементов. Задать свойства станции (например, номер станции – 4).
 
Свойства Modbus TCP
 
В Application создаются необходимые сигналы для опроса. Структуру дерева сигналов допускается организовать, используя логические объекты в роли папок. В данном примере созданы две ветви: Production и Diagnose.
 
Production и Diagnose
Блок «Diagnose» содержит несколько сигналов, имеющих направление «Выход».
Папка «Production» включает в себя два вложенных пакета (подпапки): «Zone_A» и «Zone_B», каждый из которых содержит идентичный набор сигналов.
 
«Zone_A» и «Zone_B»
 
После добавления сигналов необходимо создать карту адресов и привязать файл карты в свойствах.
 
Свойства ModbusAddressMap
Далее необходимо присвоить переменным адреса.
 
ModbusAddressMap
 
Для станции Modbus TCP в свойствах указать карту адресов из Application.
 
Путь к элементу ModbusTcpSlave
В Опросчике Modbus TCP на уровне Alpha.Server контроллера необходимо добавить данную станцию для опроса.
 
Опросчик ModbusTcpMaster
 
При необходимости параметры связи для данного Slave-устройства допускается задать в свойствах.
Далее на уровне Application необходимо добавить опрашиваемые сигналы. Допускается создать собственную структуру дерева сигналов либо повторить структуру созданного Slave-устройства.
 
Дерево сигналов
Далее создаются сигналы и добавляются линии-присвоения. Также допускается выполнить транспонирование всех сигналов данной ссылки. После этого добавляются все оставшиеся сигналы. В результате сформированное дерево сигналов в обозревателе решений отображается в требуемом виде.
 
Дерево сигналов в обозревателе решений
 
Далее можно оперировать созданными переменными в других областях пользовательского приложения или передавать данные на верхний уровень и сторонние устройства. После подготовки конфигурации можно приступить к развертыванию решения и проверке связи. В данном примере будет использован эмулятор Modbus Slave на ПК. Подключение выполняется по указанному IP-адресу и Slave-ID (номеру станции).
В OPC Explorer можно отследить сигналы ПЛК, в том числе сервисный сигнал подключения к Slave-устройству. Данный сигнал расположен по следующему пути в дереве OPC: Service → Modules → ModbusTcpMaster → LSU_Device → ModbusTcpSlave → ConnectionState. При плохом качестве опрашиваемых переменных и значении FALSE переменной ConnectionState подключение к Slave-устройству отсутствует.
 
Сервисный сигнал подключения к Slave-устройству
 
Если ConnectionState принимает значение TRUE, а ряд переменных не читаются, значит допущена ошибка при формировании карты адресов или настройки опроса выставлены некорректно.
 
Ошибка отображения сигналов
 
Если все настройки выполнены верно, на контроллере и на Slave-устройстве будет осуществляться корректный коммуникационный обмен.
 
Корректный коммуникационный обмен
 
В данном примере в OPC Explorer отображаются сигналы из ПЛК, которые были экспонированы из объектных ссылок (опрашиваемых переменных). В программе Modbus Slave инициализированы переменные для передачи, в соответствующие регистры выполнена запись значений. Все переменные были считаны контроллером. Согласно карте адресов, переменная «LSU_modbus_device.Zone_A.CMD» произвела запись в 1-й бит регистра №202 (нумерация регистров начинается с нуля).
Онлайн помощь создана в Dr.Explain