Найти тему
Ты же инженер АСУ ТП

Что такое OPC-сервер и с чем его едят?

Оглавление

OPC-сервер я считаю неотъемлемая часть Автоматизации промышленности. OPC-сервер это связующее звено между верхним и нижним уровнем автоматики. Некий такой «Серый кардинал» АСУ ТП — невидимая и в то же время полезная программа, без нее не работает ни одна SCADA.

В своих статьях я стараюсь писать понятным и простым языком, «на пальцах». Пишу ниже статью про ОРС сервер для «чайников».

Приветствую всех, на связи автор блога, Семен. Приступаю к написанию статьи.

Что за ОРС-сервер?

Технология OPC (OLE for Process control) была разработана для унификации механизмов взаимодействия программного обеспечения систем управления с аппаратурой этих систем.

В рамках этой технологии ОРС-серверы собирают данные от контроллеров и предоставляют их ОРС-клиентам (например, SCADA-системам). Любой ОРС-клиент может обмениваться данными с любым ОРС-сервером вне зависимости от специфики устройства, для которого разрабатывался конкретный ОРС-сервер.

ОРС-сервер  — маленькая утилитка, предоставляющая единый интерфейс для управления объектами автоматизации.

По-русски говоря, некий шлюз, который сам опрашивает регистры различных контроллеров и приборов и передаёт данные системе верхнего уровня.

Сервер — это набор спецификаций стандартов. Каждый из них имеет чёткий список функций определённого назначения. Вот некоторые из них:

  1. OPC DA (Data Access) — самый распространённый и востребованный стандарт. Принимает и передаёт данные оперативно (в текущий момент времени);
  2. OPC HDA (Historical Data Access) — предоставляет доступ к сохранённым данным;
  3. 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 точки.

-2

В принципе удобоваримое меню, понятные настройки.

Основной функционал:

  • Масштабирование значений (приведение к требуемому диапазону);
  • Групповая правка тегов;
  • Мастер импорта тегов из 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 напрямую.

Я в основном работаю с оборудованием ОВЕН, поэтому мне достаточно и этого ОРС-сервера.

-3

Основной функционал:

  • Опрос приборов по протоколу 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 тегов.
  • Контроль качества связи и удобный лог диагностических сообщений.

Пример опроса ОРС-сервера

По своей работе все сервера между собой похожи. Так как я в основном работаю на оборудовании ОВЕН, то все конфиги на сайте буду представлять именно в этом сервере.

Скачать утилиту можно на официальном сайте.

-4

Создаем новый проект.

-5

ПКМ — добавить новый узел.

-6

Настраиваем связь и наименование узла.

-7

Есть 5 вариантов связи

  • Modbus-RTU — интерфейс 485
  • Modbus-ASCII — интерфейс 485
  • Modbus TCP — Ethernet
  • ОВЕН — собственный протокол
  • OwenCloud — для связи с облаком напрямую
-8

После этого можем добавить произвольное устройство, или из библиотеки, или из файла.

-9

Можем перетащить из шаблонов.

-10

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

-11

Это настройки регистров, то что я выделил красным, тут можно выключить из опроса тег.

-12

После всех настроек можно запустить опрос, проверить связь.

-13

Здесь мы получаем информацию о параметрах связи, логи в журнале и т.д.

Сейчас у меня всё красное, потому что датчик не подключен. Написано качество — BAD, то есть нет связи.

На этом я заканчиваю, если есть вопросы, пишите в комментах.

С уважением, Гридин Семен.