УДК: 621
1
А.А. Каратаев, 2В.П. Пальшин, 1З.М. Ярмухамедова
1
( КазНТУ им. К.И. Сатпаева, Алматы, Республика Казахстан, e-mail: [email protected]
2
Казахстанско-Немецкий университет, Алматы, Республика Казахстан)
ТЕХНОЛОГИЯ OPC КАК СРЕДСТВО ИНТЕГРАЦИИ АВТОМАТИЗИРОВАННЫХ
СИСТЕМ
Аннотация. Программное обеспечение для современных систем автоматизации технологических процессов становится всё более сложным и дорогостоящим. Развитие области разработки прикладного программного обеспечении требует использования всё более развитых инструментальных средств и технологий. Особенно это важно при разработке крупных программных продуктов, поддерживающих различные уровни АСУ. Сложная комплексная система, охватывающая автоматизацию на всех уровнях предприятия, начиная от самого нижнего управления датчиками и исполнительными механизмами и заканчивая уровнем управления предприятием, в основном состоит из средств вычислительной техники (персональные компьютеры, контроллеры и другие интеллектуальные устройства). Интеграция автоматизированных систем, в первую очередь, подразумевает взаимодействие между собой различных уровней программного обеспечения. В связи с этим, была разработана промышленная технология OPC.
В данной статье рассмотрены возможности применения технологии OPC в автоматизированных системах. Проведен обзор данной технологии, а также определены перспективы развития OPC.
Ключевые слова: OPC (OLE для управления процессом), технология связывания и внедрения объектов (OLE), автоматизированная система управления (АСУ), объектная модель компонентов (COM), SCADA-система, доступ данных (DA), унифицированная архитектура(UA), удаленный вызов процедур (RPC).
Целью интеграции АСУ является обмен данными в реальном времени между различными программными системами, созданных с помощью различных средств, установленных на различных платформах и работающих на разных компьютерах. То есть, они должны знать, как запросить и как отправить друг другу необходимые данные.
В этих целях была разработана промышленная технология OPC(OLE for Process Management). Технология создана консорциумом всемирно известных производителей оборудования и программного обеспечения, такими, как Rockwell Software, Fischer Rosemount при участии Microsoft. OPC представляет собой интерфейс обмена данными между различными источниками данных и программным обеспечением. Данная технология основывается на архитектуре OLE/COM/DCOM компании Microsoft [1].
Обзор технологии OPC Технология OPC была разработана для унификации механизмов взаимодействия аппаратного и программного обеспечения автоматизированных систем управления. В рамках этой технологии ОРС-серверы собирают данные от контроллеров и предоставляют их ОРС-клиентам, например, SCADA-системам. Любой ОРС-клиент может обмениваться данными с любым ОРСсервером вне зависимости от специфики устройства, для которого разрабатывался конкретный ОРС-сервер.
Главной целью данной технологии является обеспечение программной независимости от конкретных аппаратных источников данных для разработчиков систем промышленной диспетчеризации.
Назначение OPC-технологии — предоставить разработчикам промышленных программ универсальный интерфейс, включающий в себя набор функций для обмена данными с любыми устройствами.
OPC был разработан для обеспечения доступа клиентской программы к нижнему уровню технологического процесса в наиболее удобной форме. Широкое распространение технологии OPC в промышленности имеет следующие преимущества:
- независимость в применении систем диспетчеризации от используемого в конкретном проекте оборудования;
- отсутствие необходимости в модификации разработчиками программного обеспечения своих продуктов вследствие модификации оборудования или выпуска новых изделий;
- предоставление заказчику свободы выбора между поставщиками оборудования, а также возможности интегрирования этого оборудования в информационную систему предприятия, которая может охватывать всю систему производства, управления и логистики.
Основная идея OPC-технологии заключается в том, что клиентские программные приложения могут получать данные из определенного количества разнородных источников, например, ПЛК, интеллектуальное полевое оборудование, СУБД, другое ПО. т.е. OPC используется не только для обмена данными с аппаратным обеспечением, но и для связи одного приложения с другим [2].
Рис. 1. Принцип работы архитектуры Client - Server Технология OPC основана на модели распределенных компонентных объектов Microsoft DCOM и устанавливает требования к классам объектов доступа к данным и их специализированным интерфейсам для использования разработчиками клиентских и серверных приложений. Технология ОРС как средство взаимодействия с техническим устройством также может быть использована при разработке заказных программ на C++, Visual Basic, VBA, Delphi.
Применение ОРС при разработке заказных программ позволяет скрыть от разработчика всю сложность общения с аппаратурой, представляя простой и удобный метод доступа к аппаратуре через интерфейсы СОМ-объекта [3].
Существует три основных способа получения OPC-клиентом данных от OPC-сервера:
синхронное чтение, асинхронное чтение и подписка. При синхронном чтении клиент посылает серверу запрос со списком интересующих его переменных и ждёт, когда сервер его выполнит. При асинхронном чтении клиент посылает серверу запрос, а сам продолжает работать. Когда сервер выполнил запрос, клиент получает уведомление. В случае подписки клиент передаёт серверу список интересующих его переменных, а сервер затем регулярно присылает клиенту информацию об изменившихся переменных из этого списка. Эти списки в терминологии OPC называются группами. Каждый клиент может поддерживать одновременно много групп с разной скоростью обновления.
Основной единицей данных в OPC является переменная. Переменная может быть любого типа, допустимого в OLE: различные целые и вещественные типы, логический тип, строковый, дата, валюта, вариантный тип и так далее. Кроме того, переменная может быть массивом.
Существует достаточно большой перечень стандартов ОРС, представленных в таблице 1.
Консорциум OPC Foundation пытается охватить все аспекты взаимодействия с технологическим оборудованием. В разработке самих спецификаций принимают участие ведущие производители оборудования и систем автоматизации, которые стараются максимально учесть свой опыт и предоставить абсолютно все необходимое тому, кто будет использовать OPC.
Спецификация ОРС описывает две группы интерфейсов:
- ОРС СОМ Custom Interface;
- ОРС OLE Automation Interface.
В группе стандартов ОРС СОМ Custom Interface описываются интерфейсы и процедуры работы компонентов и объектов ОРС. Эта группа стандартов предназначается, прежде всего, для разработчиков программ на компилируемых языках высокого уровня [3].
Группа интерфейсов ОРС OLE Automation предназначена для разработчиков программного обеспечения.
Таблица 1. Перечень стандартов OPC OPC Common Definitions and Interfaces Общие для всех OPC-спецификаций интерфейсы Data Access Custom Interface Standard Data Access Automation Interface Standard оперативными данными, программирование на OPC Batch Custom Interface Specification OPC Batch Automation Interface Specification конфигурирования оборудования, Specification OPC Alarm and Events Automation Interface Specification Historical Data Access Custom Interface Standard Historical Data Access Automation Interface Standard хранилищами данных, программирование на языках OPC Security Custom Interface Приложения, реализующие приведенные выше стандарты называются OPC серверами.
Именно OPC сервер отвечает за получение данных от оборудования, обработку и хранение этих данных. Приложения, подсоединяющиеся к OPC серверам с целью получения от них данных, называются OPC клиентами. OPC клиент может подключиться к OPC серверам, поставляемым одним или нескольким производителями. Как следует из таблицы 1, разработанные OPC Foundation стандарты охватывают практически все аспекты создания автоматизированных систем управления технологическими процессами. На практике, производители программного обеспечения реализуют только некоторые из этих спецификаций. Наиболее распространены реализации стандарта Data Access [4].
Интеграция технологии OPC в системы автоматизации На рисунке 2 представлена схема, иллюстрирующая возможные области применения OPCсерверов в системе автоматизации предприятия. Различают несколько уровней управления:
- нижний уровень - полевые шины (fieldbus) и отдельные контроллеры;
- средний уровень - цеховые сети;
- уровень АСУ ТП - уровень работы систем типа SCADA;
- уровень АСУП - уровень приложений управления ресурсами предприятия.
Каждый из этих уровней может обслуживаться OPC-сервером, поставляя данные OPCклиенту на более высоком уровне.
Рис. 2. Возможные области применения OPC-серверов в системе автоматизации предприятия Сервер ОРС DA является наиболее широко используемым в промышленной автоматизации.
Он обеспечивает обмен данными, запись и чтение между клиентской программой и физическими устройствами. Данные состоят из трех полей: значение, качество и временная метка. Параметр качества данных позволяет передать от устройства клиентской программе информацию о выходе измеряемой величины за границы динамического диапазона, об отсутствии данных, ошибке связи и другие [5].
Существуют два стандартных режима чтения данных из ОРС-сервера:
- синхронный режим: клиент посылает запрос серверу и ждет от него ответ;
- асинхронный режим: клиент отправляет запрос и сразу же переходит к выполнению других задач. Сервер после выполнения функции запроса посылает клиенту уведомление и тот забирает предоставленные данные.
В каждом из этих режимов данные могут читаться либо из кэша ОРС-сервера, либо непосредственно из физического устройства. Чтение из кэша выполняется гораздо быстрее, но данные к моменту чтения могут устареть. Поэтому сервер должен периодически обновлять данные с максимально возможной частотой. Для уменьшения загрузки процессора используют параметр частоты обновления, которая может быть установлена для каждой группы тегов индивидуально. Кроме того, некоторые теги можно сделать пассивными, тогда их значения не будут обновляться данными из физического устройства [6,7].
Запись данных в физическое устройство может быть выполнена только двумя методами:
синхронным и асинхронным и выполняется сразу в устройство, без промежуточной буферизации.
В синхронном режиме функция записи выполняется до тех пор, пока из физического устройства не поступит подтверждение, что запись выполнена. Этот процесс может занимать много времени, в течение которого клиент находится в состоянии ожидания завершения функции и не может продолжать выполнение своей работы. При асинхронной записи клиент отправляет данные серверу и сразу продолжает свою работу. После окончания записи сервер отправляет клиенту соответствующее уведомление.
ОРС DA-сервер может иметь пользовательский интерфейс, который позволяет выполнять любые вспомогательные функции для облегчения работы с оборудованием. Например, ОРСсервер позволяет, помимо обмена данными со SCADA, выполнять следующие полезные функции [7]:
- поиск подключенного к промышленной сети оборудования;
- установку параметров оборудования (имени, адреса, скорости обмена данными, периода сторожевого таймера, наличие контрольной суммы и др.);
- создание иерархического представления имен тегов;
- наблюдение значений тегов;
- управление правами доступа к ОРС-серверу.
В соответствии со стандартом ОРС-сервер во время инсталляции автоматически регистрируется в реестре Windows. Запуск сервера осуществляется так же, как любой другой программы или автоматически из клиентской программы.
В перспективных открытых SCADA-программах интерфейс ОРС может быть включен либо как один из интерфейсов взаимодействия с внешними программами; либо являться основой структуры SCADA-программы. Инструментальные средства для разработки ОРС-компонентов могут либо поставляться разработчиками SCADA программ, либо независимыми производителями программных средств. Использование специализированных инструментальных средств создания ОРС-серверов и ОРС-клиентов значительно упрощает разработку ОРСкомпонентов, поскольку предлагает готовую реализацию ОРС-интерфейса.
Примеры архитектуры систем, включающих ОРС-серверы и ОРС-клиентов, показаны на рисунке 3 и рисунке 4. В качестве ОРС-клиента может выступать программа на языке C++, например, SCADA-система, или программа на языке Visual Basic, VBA, Delphi, поддерживающая внедрение COM-объектов (рисунок 3). Программа на языке C++ взаимодействует с ОРС-сервером через интерфейс ОРС Custom, а программа на Visual Basic, VBA, Delphi — через интерфейс автоматизации ОРС Automation. ОРС-сервер и ОРС- клиенты могут работать только на компьютерах и контроллерах с операционными системами, поддерживающими технологию DCOM (например, Windows ХР и Windows СЕ) [1,7].
Рис. 3. Пример взаимодействия прикладных программ и физических устройств через OPC - сервер на одном ОРС-сервер подключается к физическим устройствам любым способом; эти способы стандартом не предусмотрены. Клиентская программа и ОРС-сервер могут быть установлены на одном и том же компьютере (рисунок 3) или на разных компьютерах сети Ethernet (рисунок 4).
При наличии нескольких компьютеров каждый из них может содержать ОРС-сервер и подключенный к нему физические устройства.
Рис. 4. Пример применения OPC - технологии для сетевого доступа к данным в системах автоматизации В такой системе любой ОРС-клиент с любого компьютера может обращаться к любому ОРС-серверу, в том числе к расположенному на другом компьютере сети. Это достигается благодаря технологии DCOM, использующей удаленный вызов процедур (RPC — Remote Procedure Call). Например, SCADA-система (рисунок 4) может обратиться за данными к модулю ввода-вывода по пути, указанному штриховой линией. Обратим внимание, что компьютеры и контроллеры в такой архитектуре могут работать с разными промышленными сетями [1,7].
Помимо технологии OPC DA существует более современная стандартная спецификация для обмена данными в системах промышленной автоматизации, получившая название "OPC Unified Architecture", которая рассматривается как технология OPC нового поколения. OPC UA устанавливает методы обмена сообщениями между OPC сервером и клиентом, не зависящие от аппаратно-программной платформы и от типа взаимодействующих систем и сетей. Система на базе OPC UA может содержать множество клиентов и серверов. Каждый клиент может работать параллельно с несколькими серверами. Каждый сервер может обслуживать несколько клиентов.
Пользовательское приложение, например, SCADA-система, может создавать комбинированные группы клиентов и серверов для ретрансляции сообщений, которыми оно обменивается с другими клиентами и серверами, как показано на рисунке 5. Клиентом при взаимодействии с OPC сервером является прикладная программа, например, SCADA-система [5,6].
Рис. 5. Пример связи OPC UA-клиентов и серверов в одном приложении Перспективы развития технологии OPC На сегодняшний день OPC является перспективной технологией для интеграции аппаратного и программного обеспечения в системах автоматизации. Она предлагает стандарты для обмена технологическими данными, в которые заложены самые широкие возможности.
Однако, ещё довольно много оборудования и ПО не охвачено OPC-технологиями. С другой стороны, корпорация Microsoft больше не развивает COM/DCOM, который заменяется более современными технологиями, например.NET. Широкое распространение получил лишь стандарт OPC DA. Сейчас очень многие производители снабжают свои продукты OPC DA серверами. В последние годы активно развивается стандарт OPC HDA, но другие спецификации пока не набирают таких темпов развития. Более новая технология OPC UA является перспективным направлением.
Технология OPC является мощным и унифицированным средством. Она сделала значительный вклад в стандартизацию встроенных систем, взаимодействующих с компьютерами.
Множество современных компаний-разработчиков успешно применяют ее в разработке технических систем.
ЛИТЕРАТУРА
1. Денисенко В.В. Компьютерное управление технологическим процессом, экспериментом, оборудованием. – М.: Горячая линия – Телеком, 2009г. - 608 с., ил.2. Козлецов А. "OPC UA - стандарт интеграции производственных информационных систем", материалы третьей международной научно-практической конференции "Эффективные технологии управления производством" (MESA International), - 7-18 октября 2011 года, г. Москва 3. Левин С. Технология OPC в системах безопасности, журнал "Технологии защиты", №5, 2011г.
4. Официальный сайт стандарта OPC: www.opcfoundation.org 5. Пьявченко Т.А. Проектирование АСУТП в SCADA-системе. Учебное пособие по техническим дисциплинам "Автоматизированные информационно-управляющие системы" и "Интегрированные системы проектирования и управления", 2007г.
6. Федоренко Денис Программирование OPC - клиентов на C++ и C#: Учебное пособие, 2011г. - 132 с.
7. Шишов О.В. Современные технологии промышленной автоматизации: учебник, Саранск: Изд-во Мордов. ун-та, 2007. – 250 с.
REFERENCES
1. Denisenko V.V. Computer control over the technological process, experiment, equipment. – М.: Hot line – Telecom, 2009. - 608 p., illustrated.2. Fedorenko Denis OPC –clients programing on C++ and C#: Manual, 2011. - 132 p.
3. Kozletsov A. "OPC UA – integration standard for production information systems", materials of the third international scientific and practical conference "Efficient production management technologies" (MESA International), - 7-18 of October, 2011, Moscow 4. Levin S. OPC technology in safety systems, magazine "Protection technologies", №5, 2011.
5. Official site of OPC standard: www.opcfoundation.org 6. Pyavchenko T.А. Automatic control system of technological process designing in SCADA-system.
Manual in technical disciplines "Automated information and control systems" and "Integrated design and control systems", 2007.
7. Shishov O.V. Modern industrial automation technologies: manual, Saransk: Publishing house of Mordovan University, 2007. – 250 p.
ОРС технологиясы автоматтандырылган жйелерді интеграция ралы ретінде Тйіндеме. Автоматтандырылан жйелерде берілген технологияны ммкіндіктерін жне дамуын олдану масатында ОРС технологиясыны кілттік ммкіндіктеріне шолу жргізілді. ОРС технологиясыны негізгі идеясы мынада – клиенттік программалы осымшалар мліметтерді ртрлі кздерден алуы ммкін. Мысалы, ПЛК, интеллектуалды рістік жабды, МБЖ немесе баса ПЖ. Бл реалды уаыт режимінде ндірістік мліметтерді талдау, деуге жне жинауа ммкіндік береді. азіргі тада ндірісті ажеттілігіне арай жеткілікті трде аппаратты-программалы кешенді интегрирлеуге ммкіндік беретін заманауи технология болып саналады..
Кілттік сздер: OPC (OLE процессті басару шін), объекттерді байланыстыру жне енгізу технологиясы (OLE), автоматтандырылан басару жйесі (АБЖ), компоненттерді объектті лгісі (COM), SCADA-жйелері, мліметтерге кіру ыы (DA), унифицирленген архитектура(UA), процедураларды ашытыта шаырту (RPC).
Технология OPC как средство интеграции автоматизированных систем Резюме. Проведен обзор ключевых возможностей технологии OPC с целью выявить перспективы развития и возможности применения данной технологии в автоматизированных системах. Основная идея OPC-технологии заключается в том, что клиентские программные приложения могут получать данные из определенного количества разнородных источников, например, ПЛК, интеллектуальное полевое оборудование, СУБД или другое ПО, что дает невероятную гибкость сбора, обработки и анализа промышленных данных в режиме реального времени. На сегодняшний день это, пожалуй, самая современная технология, позволяющая с достаточной гибкостью интегрировать аппаратно-программный комплекс под нужды производства.
Ключевые слова: OPC (OLE для управления процессом), технология связывания и внедрения объектов (OLE), автоматизированная система управления (АСУ), объектная модель компонентов (COM), SCADA-система, доступ данных (DA), унифицированная архитектура(UA), удаленный вызов процедур (RPC).
OPC technology as integration tool of automated systems Summary. A review of key features of OPC technology in order to identify opportunities and prospects of development of this technology in automated systems has been carried out. The basic idea of OPC- technology is that the client software applications can retrieve data from a certain number of different sources such as PLCs, intelligent field equipment, database or other software, that gives you incredible flexibility of retrieving, processing and analysis of industrial data in real time. Today it’s perhaps the most modern technology that allows sufficient flexibility to integrate hardware and software package to the needs of production.
Key words: OPC (OLE for Process Management), object linking and embedding(OLE), automated control system, component object model (COM), SCADA-system, data access (DA), unified architecture(UA), remote procedure call (RPC).