ООО Промэнерго Автоматика

Авторизованный дистрибьютор Siemens в России

Телефон +7 (495) 215-15-16 • E-mail: sale@proenergo.ru

Мы в соцсетях
ВКонтакте Telegram YouTube

Поиск по коду

Не нашлось на сайте? Найдется на складе!

Отправьте запрос, чтобы узнать стоимость и срок поставки

    Коллаборативные роботы

    Профессиональные решения на базе коллаборативных роботов Prompower

    Укладка продукции в коробах на паллеты, нанесение клея или герметика, закгрузка/выгрузка станков, работа с прессами, работа с листогибами, контроль качества, маркировка и др.

    Сертификат партнера PROMPOWER
    Коботы Prompower R-серии
    Производство шкафов управления
    Производство шкафов управления

    Компания Промэнерго Автоматика выполняет работы по проектированию, изготовлению, программированию и пуско-наладке автоматизированных систем управления технологическими процессами и систем энергораспределения.

    Официальный дистрибьютор VEICHI
    Преобразователи частоты VEICHI

    Компания Промэнерго Автоматика является официальным дистрибьютором VEICHI в России.

    Складская программа включает весь модельный ряд в диапазоне мощностей от 0,75 до 450 кВт

    О компании Siemens
    О компании Siemens
    Выбор частотного преобразователя
    Поможем с подбором преобразователя частоты Siemens
    Каталоги Siemens
    Каталоги Siemens
    VAR — Value Added Reseller

    Компания Промэнерго Автоматика является авторизованным партнером Siemens со статусом VAR!

    Value Added Reseller

    Получить дополнительную информацию по роботам UR

    Отправьте запрос, чтобы получить всю интересующую Вас информацию по продуктам Universal Robots.

    Как соединить Simatic IOT2040 и электросчетчик «Меркурий»

    Решаемая задача

    В качестве демонстрационной задачи была принята передача телеметрии с устройства с нестандартным протоколом. С этой целью для демо-стенда был использован счетчик электроэнергии «Меркурий 206 RN», связь с которым осуществляется по шине RS-485.

    Данная схема может быть применима в случае реализации системы АСКУЭ уровня предприятия или системы автоматизированного онлайн-расчета себестоимости продукции при наличии существующей инфраструктуры учета электроэнергии. Также, данная схема с определенными оговорками может быть применима к системам коммерческого учета электроэнергии.

    Чистое время сборки, реализации протокола обмена и программирования описываемого функционала данного стенда составило около 8 рабочих часов.

    Схема соединений стенда

    Электросчетчик «Меркурий 206 RN» установлен в разрыв линии питания 220VAC и выполняет непосредственно измерение параметров электросети, включая активную и реактивную компоненты. Нагрузкой электросчетчика является блок питания Logo!Power, имеющий на выходе потребляемую шлюзом Simatic IOT2040 и тонким клиентом Simatic ITC1200. Поскольку последовательный порт электросчетчика требует 5VDC, данный тип питания был взят с USB-порта IOT2040.

    Измеренные данные запрашиваются из электросчетчика шлюзом Simatic IOT2040 по шине RS-485 с использованием собственного протокола «Меркурий»[i], после чего парсятся. По окончании этой процедуры данные становятся доступными для визуализации и отправки через порт Ethernet.

    Программная архитектура решения

    Для выполнения преобразования данных было принято решение по использованию системы Node-Red, как бесплатно входящей в состав базового образа ОС Yocto для шлюза Simatic IOT2040. Указанная система построена на программной платформе Node.js и оперирует кроссплатформенным кодом на языке JavaScript, исполняемом на сервере. Для Node-Red помимо встроенных программных модулей (в терминологии системы - nodes, узлов, нодов) присутствует большое количество, разработанных как изготовителями аппаратного обеспечения, так и свободным коммьюнити.

    Соответственно, для реализации описываемого стенда были применены нестандартные ноды «serial in» и «serial out», предустановленные Siemens, и набор компонентов node-red-dashboard, загруженный из репозитория Npmjs.org.

    В репозитории присутствуют ноды, реализующие формирование и разбор пакетов обмена по протоколу «Меркурий», однако автор стенда с целью повышения наглядности принял решение реализовать необходимый обмен самостоятельно.

    При реализации проекта в реальных условиях с успехом также могут быть применены ноды для отправки данных по почти любым известным протоколам – MQTT, REST, Modbus TCP/RTU, S7 и т.п.

    Запрос данных из электросчетчика

    Протокол «Меркурий» является протоколом типа «запрос ведущего – ответ ведомого», производным от Modbus/RTU. Качество документирования протокола среднее, что привело к необходимости проведения ряда экспериментов и увеличило время реализации проекта. Например, одной из неявно документированных особенностей протокола является то, что в пределах одного пакета четырёхбайтовый адрес устройства передаётся старшим байтом вперёд, а двухбайтовый CRC – младшим.

    Протокол насчитывает несколько десятков функций, из которых было выбрано шесть, обеспечивающих передачу текущих данных. Протокол имеет возможность получения архивных данных из электросчетчика, однако в рамках демостенда их реализация была признана нецелесообразной.

    Блок запросов отрабатывается 1 раз в 2 секунды, задержка между отправкой отдельных запросов 100 мс. Данный тайминг является подобранным с точки зрения достаточности обновления на экране и считываемости отдельных сообщений обмена в окне отладки. ВременнЫе характеристики реализованы с использованием стандартных нодов “inject” и “delay”.

    Код формирования запроса сделан унифицированным (путём копирования исходников), выбор функции определяется константами в первых строках исходника. При необходимости внутренние переменные могут быть несложно вынесены в параметры вызова функции. С той же целью CRC получается расчетным образом, а не константами.

    Описываемый код формирует массив специализированного типа Buffer, предназначенного для отправки в последовательный порт. Отличие данного типа от TypedArray[ii], описываемого стандартом ECMAScript 2015 состоит в том, что Buffer может состоять только из элементов Uint8 и не допускает полиморфизма составляющих массив элементов. Это позволяет избежать большого количества неявных проблем, возникающих при отправке через порт элементов длиннее 8 бит.

    Сформированный буфер отправляется при помощи ноды “serial out”, которая использует устройство /dev/ttyS2 (соответствует внешнему разъему X30 COM1) в режиме 9600 8N1. Режим порта “RS-485” был заранее выставлен при помощи внутренней команды iot2000setup, выполненной в консоли через SSH

    Парсинг данных

    Обработка ответа электросчетчика начинается с сообщения ноды “serial in” о получении данных в буфер последовательного порта. Код процедуры использовался в том числе для парсинга обмена между электросчетчиком и компьютером и поэтому содержит компоненты работы как с запросами, так и с ответами. Разбор ответа для выбранных шести функций выполняется полностью, с именованием и образмериванием, для остальных – кратко.

    Функция парсинга имеет два выхода. Первый является диагностическим, в него выводится сообщение типа Object, содержащее тип сообщения, номер функции, измеренный параметр и его значение, единицы измерения. Данный формат вывода пригоден для практически любой обработки или отправки во внешние системы. Второй является рабочим, в него выводится сообщение, в котором topic обозначает наименование передаваемой величины, а само тело сообщения в формате number – значение величины.

    Визуализация данных

    Местная визуализация данных готовится при помощи компонентов node-red-dashboard, построенных на базе известной библиотеки Grafana. Разбор общего потока сообщений о различных параметрах выполняется при помощи стандартной ноды switch в зависимости от свойства сообщения topic. Выходы блока switch соединены с компонентами, образующими отдельные поля вывода информационного экрана.

    Структура компонентов на экране (группировка) задаётся фиксированно в параметрах соответствующих нодов, положение на экране подстраивается браузером динамически в зависимости от разрешения клиента. Передача осуществляется при помощи HTML5, не требующем наличия дополнительных компонент в клиенте.

    Для непосредственно отображения в демо-стенде использован тонкий клиент ITC1200 v2, как умеющий работать по указанному протоколу без дополнительных компонентов. Вместо него может быть применено любое устройство с барузером HTML5, промышленного или бытового назначения.

    Быстрый заказ

    Отправьте заявку и получите очень выгодное коммерческое предложение по оборудованию Siemens
    в течение 4 часов






    Быстрый заказ

    Отправьте заявку и получите коммерческое предложение по оборудованию Siemens