Що таке OPC?
OPC (OLE for Process Control) - промисловий стандарт, створений консорціумом виробників обладнання та програмного забезпечення за участю Microsoft. Цей стандарт описує інтерфейс обміну даними між пристроями управління технологічними процесами. Головною метою його створення було надання розробникам систем диспетчеризації деяку незалежність від конкретного типу контролерів і пристроїв введення-виведення. OPC грунтується на технології OLE / COM / DCOM компанії Microsoft.
Основні причини створення OPC
Досить багато програм-клієнтів може отримувати дані з різних джерел і робити їх доступними для драйверів незалежних розробників. Але при цьому виникають такі проблеми:
- Кожна програма диспетчеризації повинна мати драйвер для конкретного пристрою введення-виведення.
- Виникають конфлікти між драйверами різних розробників, що призводить до того, що якісь режими або параметри роботи обладнання не підтримуються всіма розробниками ПЗ.
- Модифікації обладнання можуть призвести до втрати функціональності драйвера.
- Конфлікти при зверненні до пристрою - різні програми диспетчеризації не можуть отримати доступ до одного пристрою одночасно через використання різних драйверів.
Виробники обладнання намагаються вирішити цю проблему за допомогою розробки додаткових драйверів. Однак ці спроби зустрічають сильний опір розробників систем диспетчеризації, які повинні, в цьому випадку, ускладнювати свої клієнтські протоколи.
OPC проводить чітку розмежувальну лінію між виробниками обладнання та розробниками драйверів. Дана технологія надає механізм збору даних з різних джерел і передачу цих даних будь-клієнтській програмі незалежно від типу використовуваного обладнання.
OPC був розроблений для забезпечення доступу клієнтської програми до нижнього рівня технологічного процесу в найбільш зручній формі. Широке поширення технології OPC в промисловості має такі переваги:
- Незалежність в застосуванні систем диспетчеризації від використовуваного в конкретному проекті обладнання.
- Розробники програмного забезпечення не повинні постійно модифікувати свої продукти через модифікації устаткування або випуску нових виробів.
- Замовник отримує свободу вибору між постачальниками обладнання, а також має можливість інтегрувати це обладнання в інформаційну систему підприємства, яка може охоплювати всю систему виробництва і управління.
Стандарт обміну даними OPC базується на поширеній загальноприйнятою схемою Клієнт-Сервер. Ця архітектура дозволяє підключити безліч клієнтів до одного сервера. І навпаки, даний стандарт дозволяє використовувати одному клієнту різні ОРС-сервери.
SCADA-програми диспетчеризації є OPC-клієнтами, які отримують дані технологічного процесу з OPC-серверів. OPC-сервери спираються на комунікаційний протокол представленого обладнання. З'єднання з OPC-серверами відбувається або локально в межах одного комп'ютера, або через мережу, що розширює можливості в побудові топології збору даних за допомогою OPC-серверів.
Типи специфікацій OPC
Стандарт OPC був створений на базі специфікацій OPC. В даний час набули найбільшого поширення такі специфікації:
- OPC Data Access (OPC DA) - забезпечує доступ до даних в режимі реального часу.
- OPC Alarm Events (OPC AE) - забезпечує OPC-клієнта інформацією про події та тривогах.
- OPC Historical Data Access (OPC HDA) - забезпечує доступ до архівів, що зберігаються в базах даних.
- OPC Batch - відправляє рецепти дозування в технологічний процес і відстежує їх виконання.
Зараз в розробці знаходяться ще дві спеціфіаціі: OPC Data Access 3.0 і OPC XML.
У специфікації OPC Data Access необхідно стежити за використанням версії даної специфікації: сервер OPC Data Access 1.0 може спілкуватися тільки з клієнтом OPC Data Access 1.0 client. Тому зручніше, якщо OPC-сервер підтримує кілька версій OPC-специфікації.
VDBOPC-сервер є OPC-сервером, що забезпечує доступ OPC-клієнтів до даних відповідно до специфікацій OPC DA 1.0 і 2.0, OPC AE 1.1. При цьому він також є OPC-клієнтом, який має можливість отримувати дані з OPC-серверів пристроїв введення-виведення згідно специфікацій OPC DA 1.0 і 2.0, OPC AE 1.1.
Розробка ОРС-модулів
З точки зору програмування, існує кілька мов програмування для написання клієнтської програми: C / C ++, Visual Basic, Delphi і т.д. Щоб відповідати сучасним вимогам до середах розробки, специфікації OPC містять два різних підходи до написання OPC-клієнта. Для впровадження його в програму, написану на C / C ++, використовується Custom interface, а для програм на Visual Basic, використовуйте Automation Interface. В основному, OPC-сервери пишуться на C / C ++.
Для установки надійного з'єднання між OPC-сервером і OPC-клієнтом, написаними на різних мовах, використовується OPC Automation Wrapper. Він організовує взаємозв'язок між OPC-сервером, написаним на C / C ++ і додатком на Visual Basic.
Операційні системи
У Windows CE мережеві можливості з'явилися у версії 3.0. Зараз стандарт OPC був розроблений і для операційної системи Linux.
Зв'язок OPC-сервера з процесом
Перший крок в конфігурації OPC-клієнта - встановити на комп'ютер OPC-сервер (локальний або мережевий). При встановленні зв'язку OPC-клієнта з OPC-сервером, технологія COM надає механізм сканування доступних OPC-серверів на вказаному комп'ютері, що дозволяє швидко встановити з'єднання з OPC-сервером. Це сканування називається OPC server browsing.
Другий крок - це зв'язати дані з конфігурації OPC-сервера з конфігурацією OPC-клієнта. Забезпечується це за допомогою завантаження даних (item browsing), яка підтримується і OPC-сервером і OPC-клієнтом. Після цього необхідно пов'язати змінні бази даних OPC-клієнта зі змінними OPC-сервера. Якщо OPC-сервер або OPC-клієнт не підтримують завантаження даних, конфігурація OPC-клієнта перетворюється в досить тривалу роботу. В цьому випадку зв'язування даних забезпечується вручну згідно з документацією на OPC-сервер за правилами іменування і розташування даних всередині сервера.