Интерфейсы и их методы объекта OPCGroup
⇐ ПредыдущаяСтр 10 из 10
Интерфейс IOPCGroupStateMgt:
Интерфейс IOPCPublicGroupStateMgt:
Интерфейс IOPCSyncIO:
Интерфейс IOPCAsyncIO2:
Интерфейс IOPCItemMgt:
Интерфейс IConnectionPointContainer:
8.3.3 Объект EnumOPCItemAttributes
Интерфейс IEnumOPCItemAttributes:
8.4 Поддержка технологии OPC в системе TraceMode
TraceMode может выступать в качестве OPC-сервера и OPC-клиента. В качестве OPC-клиента он поддерживает следующие режимы: SYNC/CACHE – синхронное чтение из кэша; SYNC/DEVICE – синхронный обмен данными с устройством; ASYNC/DEVICE – асинхронный обмен данными с устройством; ADVISE – асинхронное чтение данных при изменении их значения. В режиме ADVISE принимаются значения, присылаемые по каналу подписки, которые присылаются сервером только при изменении значения параметра. В режиме ASYNC опрашивается OPC-сервер и принимаются данные, присылаемые по каналу подписки. Поддерживаемые типы данных: VT_R4 (FLOAT, 4 байта) – для каналов типа FLOAT и VT_I4 (INT, 4 байта) – для каналов типа HEX.
Доступ к значениям каналов через механизм OPC осуществляется с помощью программного шлюза. Он реализован в виде отдельного программного модуля, поддерживающего интерфейс OPC Data Access (OPCDA) версии 2.0. В состав шлюза OPC входят следующие файлы: opcgate.exe – исполнительный модуль шлюза; opccomn_ps.dll – библиотека поддержки DCOM для OPC 2.0; opcproxy.dll – библиотека поддержки DCOM для OPC 2.0. Шлюз должен быть зарегистрирован на том компьютере, где установлен TraceMode. Доступ к данным через шлюз осуществляется при условии работы TraceMode. Шлюз OPC для TraceMode имеет следующие идентификаторы: ProgID:"TraceMode.OPC_Gateway", CLSID:{D5238CB9-AEBE-11D2-B5E1-00409524E73B}.
8.5 Поддерживаемые интерфейсы
В качестве OPC-сервера TraceMode поддерживает следующие интерфейсы. 1. Интерфейсы сервера: - IOPCCommon – поддерживается (смена LCID реализована только для NT); - IOPCServer – поддерживается; - IOPCBrowseServerAddressSpace – поддерживается; - IconnectionPointContainer – (для IOPCShutdown) поддерживается; 2. Интерфейсы группы: - IOPCGroupStateMgt – все методы, кроме CloneGroup(); - IOPCSyncIO – поддерживается; - IOPCAsyncIO2 – поддерживается; - IOPCItemMgt – поддерживается; - IOPCAsyncIO – поддерживается; - IdataObject – поддерживается; - IEnumOPCItemAttributes – поддерживается; - IconnectionPointContainer – (для IOPCDataCallback) поддерживается. Для обращения к различным атрибутам каналов надо после имени канала через точку указать обозначение атрибута в мнемонике ТРЕЙС МОУД. Например, channel.R – реальное значение канала channel. Чтение значений атрибутов каналов разрешено всем OPC-клиентам. Чтобы разрешить OPC-клиентам запись в каналы, можно использовать два механизма: 1. Создать в проекте пользователя с именем default (пароль не имеет значения) – в этом случае запись разрешена всем OPC-клиентам. Данный способ разрешения записи в каналы имеет наивысший приоритет.
2. Создать в реестре раздел HKEY_LOCAL_MACHINE\Software\AdAstra\TRACE MODE\5.0\OPC Gateway. Создать в нем следующие текстовые параметры и задать их значение: Login – имя пользователя; Password – пароль. Значения этих параметров, а также имя пользователя и пароль OPC-клиента, через шлюз OPC передаются серверу матобработки. В случае совпадения имен и паролей, OPC-клиент получает разрешение на запись в каналы. Данный способ имеет более низкий приоритет по отношению к первому. То есть, если имя и пароль OPC-клиента не совпадают с указанными в реестре, но при этом в проекте создан пользователь с именем default, OPC-клиент получает право на запись в каналы. Если ни один из этих способов не применен, то запись в каналы запрещена, и операция Write возвращает ошибку E_FAIL. Посредством своей программы OPC-клиент может установить значения трех системных переменных с целью проверки, разрешена ли ему запись в каналы: $OPCGATE_USER – имя пользователя; $OPCGATE_PASSWORD – пароль пользователя; $OPCGATE_LOGIN_STATUS – если запись разрешена, устанавливается в единицу.
8.6 Настройка обмена по OPC. Файл конфигурации
Для обмена данными с OPC-серверами предусмотрен специальный подтип каналов. Он называется OPC. МРВ может одновременно установить связь с 256-ю серверами. Для каждого из них создается файл конфигурации, в котором описываются его идентификаторы и соответствие его каналов каналам ТРЕЙС МОУД. Эти файлы располагаются в директории проекта. Их имя формируется следующим образом: NODENAME_OPC<n>.CNF, где NODENAME – имя базы каналов узла; <n> – номер от 0 до 255 (этот номер соответствует номеру сервера). Файлы конфигурации OPC-сервера имеют текстовый формат. 1. В первой строке файла присутствует следующая запись: %%OPC_SERVER_CONFIG. 2. Далее следуют строки, описывающие параметры сервера: - PROGID:<id>, где id – идентификатор в формате строки, под которым OPC-сервер зарегистрирован в системе. - CLSID:<id>, где id – идентификатор в формате GUID, под которым OPC-сервер зарегистрирован в системе. При наличии параметра CLSID параметр PROGID игнорируется. - HOSTNAME:<PC_name>, где PC_name – имя компьютера в сети. Этот параметр следует задать при обмене с удаленным OPC-сервером. В этом случае необходимо задать параметр CLSID. 3. Далее в файле описания следуют описания каналов.
- Каждое описание начинается строкой: %CHANID:<id>, где <id> – идентификатор канала ТРЕЙС МОУД. Если файл конфигурации создается автоматически, то в нем прописываются числовые идентификаторы. При редактировании файла вручную можно указать имя канала. - После этой строки следует описание канала OPC-сервера: ID:<id>, где <id> – идентификатор канала OPC-сервера. - ACCPATH:<path>, где <path> – путь доступа (зависит от OPC-сервера). При отсутствии этого атрибута в качестве пути доступа принимается пустая строка. Для доступа к удаленному серверу может потребоваться запуск утилиты DCOMCNFG.EXE и установка соответствующих разрешений. Удаленный сервер должен запускаться пользователем, имеющим достаточно прав. В случае невозможности запуска OPC-серверов МРВ выдает код ошибки 50. Контроль текущего состояния обмена по OPC осуществляется с помощью канала ДИАГНОСТИКА с дополнением к подтипу OPC. Значение этого канала определяет следующие ситуации в обмене: 0 – нормальная работа; 3 – ошибка записи; 4 – ошибка чтения; 5 – ошибка работы с памятью; 7 – ошибка конфигурации (конфигурационных файлов); 9 – ошибка связи с OPC-сервером; 11 – ошибка выполнения операции (вызова ОС или функции OPC); 12 – неизвестная ошибка.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|