double arrow

Реализация интерфейсных OPC в системах ЧПУ


OPC – это набор повсеместно принятых спецификаций, предоставляющих универсальный механизм обмена данными в системах контроля и управления. Технология OPC определяет интерфейс между OPC-клиентом и OPC-серверами.

OPC-сервер – программа, получающая данные во внутреннем формате устройства или системы и преобразующая эти данные в формат OPC. OPC-сервер является источником данных для OPC-клиентов. По своей сути OPC-сервер – это некий универсальный драйвер физического оборудования, обеспечивающий взаимодействие с любым OPC-клиентом.

OPC-клиент – программа, принимающая от OPC-серверов данные в формате OPC.

Таким образом, OPC-технология обеспечивает независимость потребителей от наличия или отсутствия драйверов или протоколов, что позволяет выбирать оборудование и программное обеспечение, наиболее полно отвечающее реальным потребностям бизнеса.

Что это дает для производителя оборудования?

Универсальный механизм интеграции производимого им оборудования в любую систему, поддерживающую технологию OPC.

До создания OPC-технологии производителю промышленного оборудования приходилось создавать и поддерживать множество драйверов для наиболее распространенных систем автоматизации (или договариваться с производителями этих систем). Применение OPC-технологии позволяет отказаться от создания драйверов и заменяет их одним универсальным OPC-сервером, многократно сокращая затраты на разработку и дальнейшее сопровождение. При этом обеспечивается возможность подключения любой системы автоматизации, наиболее подходящей клиенту, а не только одной из нескольких наиболее распространенных.




Все функции ОРС-сервера описываются спецификациями этой технологии и соответствующими стандартами.

Существует довольно широкий набор интерфейсных ОРС-стандартов:

· общие стандарты для всех ОРС-спецификаций;

· для обмена оперативными данными с приложениями на C++ и Visual Basic;

· для обслуживания событий (event) и внештатных ситуаций (alarm);

· для работы с базами данными;

· для обработки прав доступа к данным и др.

Основной стандарт, называемый DA (Data Access), описывает передачу оперативных данных от оборудования или к оборудованию. По этому стандарту ОРС-клиент может взаимодействовать с ОРС-серверами от одного или нескольких производителей. Объекты ОРС-сервера напоминают обычные СОМ-объекты.

ОРС Data Access-сервер необходим для работы со встроенной системой и состоит из нескольких объектов: сервера (рис. 1.11), группы (рис. 1.12) и элемента данных (рис. 1.13).

Рисунок 1.11 - Стандартный OPC-объект - сервер

Рисунок 1.124 - OPC-группа

Рисунок 1.13 - OPC-элемент

Объект-сервер поддерживает информацию о сервере и служит контейнером для объектов-групп.



Объект-группа поддерживает информацию о самой себе и предоставляет механизм для включения и логической организации объектов-элементов. ОРС-группы создают клиентам возможность организовывать данные. Например, группа может выводить элементы на экран монитора оператора или представлять их в сообщении. Группы могут обслуживать разных клиентов. Данные можно читать и писать. ОРС-клиент может сконфигурировать скорость, с которой ОРС-сервер будет обновлять данные клиента.

Существуют два типа групп: public и local (или private). Тип public служит для деления групп между многими клиентами, тип local предназначен для одного клиента. В пределах группы клиент определяет один или больше ОРС-элементов.

Орс-элементы устанавливают связи с источниками данных в пределах сервера. Из позиций специального интерфейса ОРС-элемент недоступный для ОРС-клиента, как объект. Иначе говоря, не существует внешнего интерфейса, который был бы определен для ОРС-элемента. Все виды доступа к ОРС-элементам осуществляются с помощью ОРС-групп, которые содержат ОРС-элементы. Элементы-переменные не служат источниками данных, они представляют собой лишь соединение с ними. ОРС-элемент следует рассматривать не как физический источник данных, на который ссылается адрес, а как что-то специфицирующее адреса данных.

Таким образом, основной единицей данных в OPC служит переменная (item). Переменные могут быть любого типа, допустимого в OLE, – целой, вещественной, логической, строчной, датой и др. Кроме того, переменная может быть массивом.



К обязательным свойствам переменной относятся: значение (Value), тип (Type), качество переменной (Quality), метка времени (Time Stamp), права доступа (чтение, запись), частота опроса ОРС-сервером и описание переменной (назначение).

Качество предполагает, что в источниках данных возможны отказы, поэтому корректное значение переменной не всегда известно ОРС-серверу и поэтому клиент сообщает серверу о качестве переменной – хорошее, плохое, неопределенное.

Метка времени сообщает, когда переменная получила конкретное значение и качество.

Частота опроса определяет интервал чтения переменной.

Описание переменной представляет собой строчное значение, которое содержит информацию для пользователя о назначении переменной.

Существуют три способа получения ОРС-клиентом данных от ОРС-сервера: синхронное чтение, асинхронное чтение и подписка.

При синхронном чтении клиент посылает серверу запрос со списком переменных, которые его интересуют, и ждет, пока сервер его выполнит.

При асинхронном чтении клиент посылает серверу запрос, а сам продолжает работать. Когда сервер выполнил запрос, клиент получает сообщение.

В случае подписки клиент передает серверу список переменных, которые его интересуют, а сервер потом регулярно присылает клиенту информацию об изменениях значений переменных со списка. Эти списки в терминологии ОРС называют группами. Каждый клиент может поддерживать одновременно много групп с разной скоростью восстановления.

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

Переменные в ОРС-сервере могут быть сформированы или в простой список, или в «дерево», напоминающее «дерево» файлов на диске. Есть соответствующие интерфейсы для навигации по этому дереву. Предусмотрены также возможности оповещения завершения работы ОРС-сервера, запроса информации о самом сервере и запроса списка зарегистрированных групп.

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

Кроме серверов, которые осуществляют доступ к данным DA, существуют серверы доставки сообщений типа «alarms» и «events». В ОРС alarm определяют как нерегулярную ситуацию, которая представляет собой особый случай условий. Условие (condition) - это поименованное состояние событийного ОРС-сервера или одного из его вложенных объектов. Примерами условий могут служить HighAlarm, HighHighAlarm, Normal, LowAlarm, и LowLowAlarm.

В отличие от alarm событие (event) является заметной ситуацией, которая имеет значение для ОРС-сервера и заинтересованных ОРС-клиентов. Событие может быть, а может и не быть ассоциировано с условием. Например, переходы с HighAlarm в Normal есть события, ассоциированные с условиями.

Интерфейс ОРС-сервера предлагает методы, которые позволяют ОРС-клиенту задавать следующие сервисы:

· устанавливать типы событий, которые поддерживает ОРС-сервер;

· подписываться на специфические события для того, чтобы ОРС-клиенты могли получать сообщение об этих событиях;

· осуществлять доступ к условиям и управлять условиями, создаваемыми ОРС-сервером.

Спецификации ОРС всегда содержат два набора интерфейсов: интерфейсы пользователя (Custom Interfaces) и интерфейсы автоматизации (Automation Interfaces). Последние имеют доступ к приложениям, написанным на Visual Basic (рис. 1.14).

Рисунок 1.14 - Разновидности OPC-интерфейсов

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

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

Рисунок 1.15 - Типичная архитектура OPC

Таким образом, клиентское ОРС-приложение взаимодействует с ОРС-сервером через специфицированный разделяемый интерфейс и специальный интерфейс пользователя или интерфейс автоматизации. Эти интерфейсы решают проблему открытого управления, т.е. обеспечивают совместимость и интерактивность разнообразных локальных устройств.







Сейчас читают про: