четверг, 30 июня 2011 г.

Zelio Logic - Коммуникационные модули Modbus

Программируемые реле Zelio Logic имеют возможность подключаться к сетям RS-485 и Ethernet и, при этом, поддерживает протоколы Modbus RTU/ASCII и Modbus TCP соответсвенно. Для этого применяются модули расширения SR3MBU01BD и SR3NET01BD. Именно о всем этом хозяйстве и пойдет речь сегодня.

Первое о чем необходимо упомянуть это совместимость с различными моделями реле - реле должно быть расширяемым (SR3**) и питаться от сети постоянного тока 24В (SR3**BD).
Второй нюанс о котором стоит упомянуть сразу - оба модуля являются пассивными устройствами в том смысле, что могут лишь отвечать на запросы внешних устройств. Т.е. в терминологии Modbus RTU/ASCII модуль является Slave-ом, в терминологии Modbus TCP - сервером.
Работать с модулями SR3MBU01BD (Modbus RTU/ASCII) можно как в режиме программирования на Ladder, так и в режиме FBD. Модули SR3NET01BD могут быть использованы лишь при работе с языком FBD. Вообще говоря по моему мнению использовать один из коммуникационных модулей и использовать Ladder бессмысленно, однако для полноты картины именно с этого мы и начнем.
Итак, мы имеем модуль Modbus RTU и реле, которое программируется на Ladder. В этом случае нам доступны следующие объекты:
Как видите для записи доступны лишь часы реального времени (мы можем корректировать время). Все остальное что доступно это образы входов и выходов, а также  статусное слово.
Биты статусного слова имеют следующие значения:
  • 0 - показывает в RUN(1) или STOP (0) находится реле;
  • 1 - показывает включен ли режим мониторинга;
  • 2 - показывает наличие активного Alarm-a;
  • 3 - показывает наличие активной ошибки;
  • 7 - наличие ошибки тайм-аута.
При программировании в FBD все намного интереснее.
На ряду с тем-же функционалом (Часы РВ, слово Статуса) появляются 4 входных и 4 выходных слова, которые могут быть прочитаны (%MW16-%MW19) и записаны (%MW20-%MW23) пользовательской программой.
В качестве иллюстрации приведу небольшую программку, которая выполняет всего 3 действия - принимает переменную из вне (%MW16) складывает ее с константой и выдает результат в выходную переменную (%MW20).


В качестве бесплатного Modbus-клиета (мастера) могу посоветовать программку CAS Modbus Scanner. Или платный аналог Modbus Poll.