Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КонспЛекций_ГСиИО_Козак.doc
Скачиваний:
102
Добавлен:
06.12.2018
Размер:
8.64 Mб
Скачать

Особенности механизмов работы opc серверов

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

Рис. 35. Структура объектной модели OPC сервера

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

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

Реализация интерфейсов opc в сервере

OPC - (OLE for Process Control) стандартное описание интерфейса для локального и сетевого обмена данными. Технология OPC основана на механизме DCOM (Distributed Component Object Model) Microsoft Windows. Интерфейс IUnknown является базовым интерфейсом в COM/DCOM. Объект OPC сервера является прямым наследником интерфейса IUnknown (Рис. 36). Идиома точек стыковки выражает общую концепцию регистрации экспортируемых интерфейсов как небольшого числа интерфейсов стандартной инфраструктуры. Наиболее фундаментальным из этих интерфейсов является IConnectionPoint.

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

Рис. 36. Стандартные интерфейсы OPC сервера

OPC сервер вне зависимости от стандарта OPC (Data Access, Alarm & Event, Historical Data Access и т.д.) использует интерфейс IOPCCommon. Этот интерфейс предоставляет возможность устанавливать и запрашивать значение идентификатора LocaleID, который будет действовать для данной клиент-серверной сессии. Благодаря этому, действия одного OPC клиента не затрагивают других клиентов. Также как и для других интерфейсов, например IUnknown, объект, реализующий интерфейс IOPCCommon, для каждого сервера уникален. И объект сервера доступа к данным, и объект сервера уведомлений должны обеспечить реализацию интерфейса IOPCCommon. Клиент, который поддерживает соединение с этими серверами, будет использовать интерфейсы этих двух объектов независимо.