Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpargalka_atp_v_ngp.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
46.68 Mб
Скачать

1. Общие положения о спецификации орс.

Чтобы лучше почувствовать, что такое OPC, рассмотрим подробнее главный, по большому счёту, стандарт (ОРС Data Access) . Будем называть его сокращённо DA.

Стандарт DA предназначен для поставки оперативных данных от оборудования и/или к оборудованию. Для стандарта DA реализованы спецификации как Custom-интерфейса, так интерфейса Автоматизации. С точки зрения функциональных интерфейсов, последний ничем не отличается от Custom, кроме того, что не позволяет одновременно работать с несколькими OPC-серверами и добавлен COM-интерфейс IDispatch, обязательный в OLE Automation. Это позволило OPC Foundation издать обёртку (wrapper) в виде dll, преобразующую один интерфейс в другой.

Второе замечание. Стандарт DA имеет две версии интерфейсов: 1.0 и 2.0. OPC-клиент предварительно запрашивает, может ли он работать с нужным ему COM-интерфейсом в используемом OPC-сервере. С точки зрения функциональности, в версии 2.0 механизм уведомления клиента приведён к стандартному механизму COM/DCOM, что упрощает программирование.

Более интересно рассмотреть, с чем работает DA.

Данные

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

Свойства

Каждая переменная обладает свойствами. Различаются обязательные свойства, рекомендуемые и пользовательские. Обязательными свойствами, понятно, обязана обладать каждая переменная. Это, во-первых, текущее значение переменной, тип переменной и права доступа (чтение и/или запись). Во-вторых, очень важные свойства качество переменной и метка времени. Технология OPC ориентирована на работу с оборудованием, а оборудование может давать сбои, так что корректное значение переменной не всегда известно OPC-серверу, о чём и уведомляется клиент через качество (хорошее/плохое/неопределённое и дополнительная информация). Метка времени сообщает о том, когда переменная получила данное значение и/или качество. Ещё одним обязательным свойством является частота опроса переменной OPC-сервером. Не совсем понятно, почему это свойство объявлено обязательным, так как не все OPC-серверы работают в режиме опроса оборудования. Поэтому существуют серверы, не реализующие это свойство. Последним из обязательных свойств является описание переменной. Это строковое значение, содержащее информацию для пользователя о том, зачем нужна эта переменная.

Получение данных

Существует три основных способа получения OPC-клиентом данных от OPC-сервера: синхронное чтение, асинхронное чтение и подписка. При синхронном чтении клиент посылает серверу запрос со списком интересующих его переменных и ждёт, когда сервер его выполнит. При асинхронном чтении клиент посылает серверу запрос, а сам продолжает работать. Когда сервер выполнил запрос, клиент получает уведомление (через интерфейс соответствующего COM-объекта, реализованного в клиенте!). И, наконец, в случае подписки клиент передаёт серверу список интересующих его переменных, а сервер затем регулярно присылает клиенту информацию об изменившихся переменных из этого списка (опять же, через интерфейс соответствующего COM-объекта клиента!). Эти списки в терминологии OPC называются группами. Каждый клиент может поддерживать одновременно много групп с разной скоростью обновления.

Запись данных

Ничем не отличается от чтения, за исключением того, что нет записи по подписке.

Источники данных

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

Организация данных

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

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

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

OPC базируется на технологии OLE/COM компании Microsoft. На основе использования этой технологии, OPC Data Server обеспечивает программистов возможностью решения следующих задач:

  • Подключаться к OPC Data Server.

  • Читать и записывать оперативные данные SCADA.

  • Запрашивать отчеты об исключительных ситуациях.

  • Просматривать доступные поля данных.

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

Клиенты OPC могут определять одну или несколько групп OPC в рамках сервера OPC.

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

В каждой группе клиент может определить один или несколько элементов OPC.

Элементы OPC представляют связи с источниками данных в рамках сервера. С каждым элементом ассоциируются значение, маска качества (Quality Mask) и метка времени (Time Stamp). Это значение имеет тип VARIANT. Маска качества похожа на индикатор качества. Она показывает состояние качества значения данных элемента. Индикаторы качества (Quality flags) описаны в спецификации специализированного интерфейса доступа к данным OPC (OPC Data Access Custom Interface Specification). Эта спецификация доступна по адресу http://www.opcfoundation.org.

Обратите внимание, что элементы не являются источниками данных; источником данных служит SCADA. Элементы - это просто связи с полями параметров SCADA.

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

Как уже было сказано выше связь приложении осуществляется с использованием интерфейса ОРС Automation. Ниже приведены все свойства и методы данного интерфейса, те из них, которые с последствии будут использоваться при разработке примера ОРС клиента будут выделены.

При осуществлении связи все сводится к тому, чтобы связать имеющееся элементы группы с конкретному параметрами ОРС сервера, при этом в качестве параметром ОРС сервера можно указывать как оперативные значения, так и теги базы данных, свойства объектов, значения локальных и глобальных переменных (если переменная локальна, то данная процедура или функция ОРС сервера должна выполняться во время запроса клиента), а также результаты выполнения скриптов (в случае если SCADA поддерживает встроенные языки высокого уровня). Очень важно чтобы при осуществлении связи пути к интересующим параметрам SCADA системы были верными, и сBarcode – приложение, описанное в этой работе, является программой на Visual Basic 6.0, которая служит интерфейсом между сканнером штрих-кодов, присоединенным к последовательному порту Интеграционной Станции и сервером данных OPC. Основное функциональное назначение данной программы использоваться не будет, а использоваться оно будет в качестве отправной точки. В ходе разработки в нее будут включены несколько функции, осуществляющих связь с ОРС сервером и выборку необходимых данных. Помимо этого будут описаны функции осуществляющие запись данных в ОРС сервер, но в данной работе они использоваться не будутинтаксис их, был понятен ОРС серверу. Об этом будет еще сказано ниже.

Демонстрационное приложение Barcode – это программа на Visual Basic и, следовательно, использует интерфейс Automation для доступа к OPC Data Server. Для написания клиента OPC, использующего специализированный интерфейс.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]