Теги контроллеров Logix и Omron по EtherNet/IP прямо в чате
Подключите EtherNet/IP к ИИ-агенту: теги контроллеров Rockwell Logix, Micro800 и Omron NJ/NX через шлюз. Агент покажет значения и посчитает простои за неделю.
Как агент работает с EtherNet/IP
Данные читает шлюз: программа, которая ставится службой на компьютер или сервер в сети объекта и ходит к контроллеру по EtherNet/IP, TCP порт 44818. В подключении указываются адрес контроллера или его Ethernet-модуля, тип контроллера и маршрут к ЦП, например 1,0. Наружу шлюз отправляет данные только исходящим соединением.
ControlLogix, CompactLogix и Micro800 отдают список своих символов, поэтому карту тегов можно не писать: шлюз читает теги контроллера и его программ, разбирает шаблоны структур и читает каждое значение до элементарных типов, по умолчанию не больше 10 000 тегов. Соседние элементы одного массива читаются одним запросом, до 120 элементов по умолчанию. Перед опросом шлюз спрашивает у устройства, кто оно, и при несовпадении типа называет, кто ответил.
Протокол ведёт встроенная в шлюз библиотека libplctag, и из неё объявлены только функции чтения: записи в контроллер у драйвера нет. Тег, который контроллер не знает или читать не даёт, помечается плохим со своим кодом и запрашивается заново на следующем опросе, остальные читаются дальше. Обрыв сессии завершает круг опроса, и следующий подключается заново.
Omron NJ/NX, PLC-5, SLC 500 и MicroLogix список тегов не отдают, поэтому для них карта тегов обязательна: имя переменной или адрес таблицы данных, например N7:0, и тип. Шлюз отправляет изменения значений и раз в 1800 секунд повторяет тег, который не менялся. Если связь с облаком рвётся, данные копятся на диске шлюза и приходят после восстановления.
Сценарии интеграции
Что сейчас в контроллере
Агент найдёт теги контроллера и его программ по имени, например Tank или Program:Main, и покажет текущие значения со временем отсчёта.
Сводка по массиву
Агент возьмёт историю элементов массива, например счётчиков Counts[0]…Counts[9], и покажет по часам минимум, максимум, среднее и последнее значение.
Простои за неделю
Агент заберёт сырые отсчёты статуса работы за неделю и посчитает число остановок, их длительность и общее время простоя.
Задача на выход за порог
Агент заведёт задачу, которая запустится, когда значение тега выйдет за порог и продержится заданное время, а не на каждый отсчёт за порогом.
Теги, которые не читаются
Агент назовёт теги с отказом контроллера и причиной: тега нет, тип в карте не совпал, индекс за концом массива, чтение запрещено.
Пропуски в данных
Агент покажет промежутки истории без отсчётов и скажет, на связи ли шлюз объекта сейчас.
Примеры: EtherNet/IP
14 остановок, в сумме 6 ч 40 мин простоя.
- Самая длинная в среду: 2 ч 05 мин после 14:10
- 9 остановок короче 10 минут, все в первой смене
Считаю по сырым отсчётам тега статуса работы из Program:Main, а не по сводке за час.
Как подключить
Перед подключением
- Контроллер ControlLogix, CompactLogix, Micro800, Omron NJ/NX или PLC-5/SLC
- Порт 44818 открыт между контроллером и компьютером шлюза
- Маршрут к ЦП (порт и слот) за Ethernet-модулем
- Для Omron NJ/NX, PLC-5, SLC 500 и MicroLogix: список тегов с типами
- Компьютер в сети объекта для службы шлюза
- Сервер пускает только известные адреса? Разрешите подключения с 158.160.205.91 и 87.228.27.163.
- 1
Узнайте тип контроллера
controllogix подходит и для CompactLogix; ещё micro800, omron-njnx, plc5, slc500, micrologix. Шлюз сверяет тип с ответом устройства и называет, кто ответил.
- 2
Запишите маршрут к ЦП
Порт и слот ЦП через запятую: 1,0 это объединительная плата, слот 0. ControlLogix обычно доступен через Ethernet-модуль в шасси. У Micro800 маршрута нет.
- 3
Пропустите порт 44818 до шлюза
EtherNet/IP работает по TCP на порту 44818. Сеть между компьютером шлюза и контроллером или его Ethernet-модулем должна пропускать это соединение.
- 4
Для Omron и PCCC выпишите теги
Omron NJ/NX, PLC-5, SLC 500 и MicroLogix список тегов не отдают. По строке на тег: путь, имя или адрес таблицы данных (N7:0) и тип.
Частые вопросы
Заведите шлюз во вкладке «Шлюзы» и поставьте его службой на компьютер в сети объекта. В подключении укажите адрес, например tcp://10.0.12.5:44818, тип контроллера и маршрут к ЦП. Для Logix и Micro800 карту тегов можно оставить пустой, для остальных перечислите теги. Подключение назначается шлюзу, и он начинает опрос.
У Logix и Micro800 все пользовательские теги контроллера и программ, включая члены структур и элементы массивов; служебные теги модулей ввода-вывода не входят. У Omron NJ/NX и PCCC теги из карты. Для каждого тега агент читает текущее значение, историю интервалами и сырые отсчёты.
Нет. Из библиотеки протокола в шлюз подключены только функции чтения, функции записи в нём не объявлены. Агент ничего не пишет в контроллер.
Сначала тип контроллера: Micro800, выбранный как controllogix, отвечает отказами и таймаутами, и шлюз называет, кто ответил на самом деле. Затем маршрут к ЦП: у ControlLogix это порт и слот за Ethernet-модулем, у Micro800 поле пустое. Отказ отдельного тега с кодом значит, что имя или тип в карте не совпали с контроллером.