OPC
Что делать, если разрабатываешь программу оператора на СКАДА а под рукой нет устройства (ПЛК, ПР, датчика) с которым программа должна обмениваться данным по протоколу Modbus? Или если разрабатываешь программу для ПЛК а нет модулей ввода/вывода, обмен данными с которыми, опять же, идет по Modbus?
Именно такая проблема недавно возникла у меня при разработке программы на СКАДА Trace Mode 6- нужно было обеспечить вывод на ПК оператора данных по протоколу Модбас от 30 ПИД-регуляторов МИК-21-05, но у меня под рукой не было ни одного.
Первая моя мысль была- написать программу-эмулятор(имитатор, симулятор) самому. Вторая мысль была о том, что такие программы уже созданы, нужно просто поискать.
И, действительно, в интернете есть много программ-эмуляторов устройств Модбас.
Потратив полдня, я перебрал целую кучу таких программ. Но большинство из них мне не понравились- многие были платные, некоторые позволяли имитировать только 1 устройство(а мне нужно было сразу 30), были программы с чересчур заумным интерфейсом.
И все-таки я нашел хороший бесплатный эмулятор, который оправдал все мои надежды. Программа называется «DevEmu программный эмулятор Modbus-slave».
x-Messenger это семейство программируемых реле фирмы Easy Electronic. О другом семействе устройств этой фирмы, xLogic я уже писал тут и тут. В принципе, единственное отличие x-Messenger состоит в использовании в процессорных модулях более продвинутых интерфейсов передачи данных- Ethernet и GSM/SMS/GPRS.
Сегодня рассмотрим программируемые реле EXM-8AC-R-HMI и ELC-12DC-DA-R-N-HMI:
- Характеристики
- Конструкция
- Документация и ПО
- Связь со SCADA
- Работа с ELC-12DC-DA-R-HMI
- Работа с EXM-8AC-R-HMI
- Моё мнение о x-Messenger
Характеристики
EXM-8AC-R-HMI | ELC-12DC-DA-R-HMI | |
Назначение | Программируемое реле с беспроводным интерфейсом передачи данных GSM/GPRS | Программируемое реле с интерфейсом Ethernet |
Питание | AC 110…240V | DC 12…24V |
Интерфейсы связи | GSM/GPRS, RS232, RS485 | Ethernet, RS232, RS485 |
Входы | 6 DI | 8 DI (в т.ч. 4 AI/DI) |
Выходы | 2 DQ (Реле, 10 А) | 4 DQ (Реле, 10 А) |
Высокоскор. входы | — | + |
Высокоскор. выходы | — | — |
Дисплей | 16×4 знаков | 16×4 знаков |
Возможность расширения | + | + |
RTC | + | + |
Размеры (ШхВхГ) | 95х90х68 мм | 95х90х68 мм |
Среда программирования | eSmsConfig | eSmsConfig |
Цена | 3010 грн | 1760 грн |
Цены указаны по курсу на момент написания статьи: 1$= 8 грн.
Конструкция
Несмотря на разное количество входов/выходов, оба устройства собраны в абсолютно одинаковых корпусах. Не задействованные отверстия просто закрыты заглушками. Класс защиты корпусов- IP20.
Вид сверху:
Как я уже писал, бесплатный OPC-сервер MasterOPC на 32 тега позволяет организовать запись данных,принятых от внешних устройств, в базу данных SQLite.
А зачем вообще OPC-серверу нужно писать данные в БД, когда для такой задачи есть СКАДА?
Для некоторых задач использование СКАДА является излишне сложным и дорогим. Например, если нужно организовать ведение архива данных о показаниях датчиков и впоследствии выводить по ним отчеты. В таком случае для записи в БД можно использовать OPC-сервер, а для построения отчетов Exel.
Так же запись в БД из OPC-сервера позволит создать полноценную АСУ ТП на бесплатной SCADA KVisionOPC, которая всем хороша, но не умеет вести архивы.
Для организации записи из MasterOPC в БД нам понадобятся:
- Modbus Universal MasterOPC Server 32.Версия 2.0.0.16
- Программа для создания и редактирования БД SQLite SqliteDoq
Внимание! Пример корректен для MasterOPC server версии 2.0.0.16. В более старших версиях(начиная с версии 3) изменен формат файла конфигурации.
Пример организации записи из MasterOPC в БД.
Допустим, с помощью MasterOPC мы принимаем от модуля аналогового ввода или ПЛК данные о температуре на объекте. Вместо реального ПЛК или МАВ будем использовать симулятор. Эти данные(температуру) нужно раз в 10 сек. записывать в БД SQLlite. Для этого:
1. С помощью SqliteDoq создадим базу данных «arch.sqlite3» , в ней таблицу «fromopc» с полями
Название |
Тип |
Описание |
dt | DATETIME | Текущие дата и время |
t | REAL | Температура |