OPC-сервер я считаю неотъемлемая часть Автоматизации промышленности. OPC-сервер это связующее звено между верхним и нижним уровнем автоматики. Некий такой «Серый кардинал» АСУ ТП — невидимая и в то же время полезная программа, без нее не работает ни одна SCADA.
В своих статьях я стараюсь писать понятным и простым языком, «на пальцах». Пишу ниже статью про ОРС сервер для «чайников».
Приветствую всех, на связи автор блога, Семен. Приступаю к написанию статьи.
Что за ОРС-сервер?
Технология OPC (OLE for Process control) была разработана для унификации механизмов взаимодействия программного обеспечения систем управления с аппаратурой этих систем.
В рамках этой технологии ОРС-серверы собирают данные от контроллеров и предоставляют их ОРС-клиентам (например, SCADA-системам). Любой ОРС-клиент может обмениваться данными с любым ОРС-сервером вне зависимости от специфики устройства, для которого разрабатывался конкретный ОРС-сервер.
ОРС-сервер — маленькая утилитка, предоставляющая единый интерфейс для управления объектами автоматизации.
По-русски говоря, некий шлюз, который сам опрашивает регистры различных контроллеров и приборов и передаёт данные системе верхнего уровня.
Сервер — это набор спецификаций стандартов. Каждый из них имеет чёткий список функций определённого назначения. Вот некоторые из них:
- OPC DA (Data Access) — самый распространённый и востребованный стандарт. Принимает и передаёт данные оперативно (в текущий момент времени);
- OPC HDA (Historical Data Access) — предоставляет доступ к сохранённым данным;
- OPC UA (Unified Architecture) — последняя конфигурация, которая содержит в себе кросс-платформенность;
Несколько таких утилит я внедрял в проектах. Вот некоторые из них:
- Lectus OPC;
- Modbus Universal Master OPC;
- AR — OPC;
- OPC — сервер ОВЕН;
Рассмотрим некоторые из них и построим пример конфигурации опроса.
Какие бывают OPC — сервера
В этом разделе кратко рассмотрю сервера, которые я применял чаще всего:
Lectus
Московские разработчики, к сожалению о них информации мало, поэтому это всё что мне известно. Компания ОВЕН активно продвигала эту программу. Сейчас у них есть своя разработка. В общем я ставил, достаточно удобно конфигурировать регистры опроса, настраивать параметры связи. Я применял на объекте Диспетчеризации Биофабрики. Прошло уже около 10 лет. Сбоев не было.
Программа платная.
Вот их функционал вкратце:
- реализация функциональности OPC и DDE сервера;
- связь с Modbus RTU/ASCII сетью по выделенной линии, используя последовательный интерфейс RS-232C или RS-485;
- связь через TCP/IP;
- связь через коммутируемые телефонные линии;
- работа в режиме «Master» и «Slave»;
- конфигурирование иерархического адресного пространства доступных серверу переменных;
- доступные типы данных: byte, word, double word, short integer, small integer, integer, single float, double float, currency, date, boolean;
- мониторинг значений переменных;
- вычисление значения переменной по заданной формуле;
- симулирование значения переменной (константа, случайное, счетчик);
- ведение подробного лога диагностических сообщений;
- формирование любого Modbus запроса;
- передача данных в любой SQL сервер.
Modbus Universal Master OPC
Программа компании Инсат (разработчиков MasterSCADA). С программой я работал по большей части для проверки связи с устройствами и настроек конфигураций.
Есть бесплатная версия на 32 точки.
В принципе удобоваримое меню, понятные настройки.
Основной функционал:
- Масштабирование значений (приведение к требуемому диапазону);
- Групповая правка тегов;
- Мастер импорта тегов из csv файлов;
- Гибкая перестановка байтов (в словах длиной до 8 байтов);
- Выделение отдельных битов в теги;
- Автоматическое преобразование типов;
- Поддерживаемые типы данных bool, int16, uint16, int32, uint32, float, double, string;
- Ведение подробного лога диагностических сообщений;
- Отслеживание качества связи с устройством;
- Поддержка резервирования каналов связи (в редакциях версии H);
- Поддержка 20 функции Modbus (функция 0x14 — Read File Record);
- Формирование любого Modbus запроса;
- Гибкое управление групповыми запросами;
- Поддержка внеочередного чтения после записи значения при управлении;
- Трассировка обмена с устройствами;
- Архивирование тегов с передачей архивов по OPC HDA;
- Поддержка ODBC-клиента (в редакциях на 2 501 и более тегов, версия M и H): возможность обмена данными со сторонними приложениями, не поддерживающими технологию OPC, – MES, ERP и BI-системами, различными системами учета и контроля, облачными сервисами и т.д.
Овен ОРС-сервер
Ну и наконец моё самое любимое. Это ОРС — сервер от ОВЕНа. Программа бесплатная, пока. Имеет поддержку modbus RTU, TCP, Over TCP. Ну в основном они заточены под свои устройства. Есть готовые шаблоны опроса устройств. Есть возможность снимать данные с OwenCloud напрямую.
Я в основном работаю с оборудованием ОВЕН, поэтому мне достаточно и этого ОРС-сервера.
Основной функционал:
- Опрос приборов по протоколу Modbus TCP, работающих по интерфейсу Etnernet.
- Опрос приборов по протоколам Modbus RTU/ASCII и ОВЕН, работающих по интерфейсу RS-485 (например, с использованием преобразователей интерфейсов ОВЕН АС4-М и АС3-М).
- Осуществляет чтение и запись значений устройств из облачного сервиса OwenCloud.
- Обеспечивает программный интерфейс для доступа SCADA-систем к данным OPC-сервера.
- Работа только в режиме Master для опроса приборов.
- Поддержка Modbus-функции с 1 по 6, 15(0x0F),16(0x10).
- Добавление приборов ОВЕН с готовыми шаблонами (списками параметров).
- Добавление программируемых реле через экспорт таблицы сетевых переменных из OwenLogic с использованием плагина для OwenLogic.
- Добавление ПЛК через файл конфигурации, экспортируемый из CODESYS V2.3.
- Создание и сохранение пользовательских шаблонов для приборов, работающих по протоколам Modbus TCP, Modbus RTU/ASCII, ОВЕН.
- Просмотр значений переменных в реальном времени.
- Поддержка работы с большим количеством переменных – до 10 000 тегов.
- Контроль качества связи и удобный лог диагностических сообщений.
Пример опроса ОРС-сервера
По своей работе все сервера между собой похожи. Так как я в основном работаю на оборудовании ОВЕН, то все конфиги на сайте буду представлять именно в этом сервере.
Скачать утилиту можно на официальном сайте.
Создаем новый проект.
ПКМ — добавить новый узел.
Настраиваем связь и наименование узла.
Есть 5 вариантов связи
- Modbus-RTU — интерфейс 485
- Modbus-ASCII — интерфейс 485
- Modbus TCP — Ethernet
- ОВЕН — собственный протокол
- OwenCloud — для связи с облаком напрямую
После этого можем добавить произвольное устройство, или из библиотеки, или из файла.
Можем перетащить из шаблонов.
После этого шаблон выдает нам весь арсенал параметров, относящиеся к конкретному устройству. То есть делать больше ничего не нужно. Лишнее можно выключить, чтобы не занимало время опроса.
Это настройки регистров, то что я выделил красным, тут можно выключить из опроса тег.
После всех настроек можно запустить опрос, проверить связь.
Здесь мы получаем информацию о параметрах связи, логи в журнале и т.д.
Сейчас у меня всё красное, потому что датчик не подключен. Написано качество — BAD, то есть нет связи.
На этом я заканчиваю, если есть вопросы, пишите в комментах.
С уважением, Гридин Семен.