|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Стандарта ОРСНа российском рынке систем автоматизации технологических процессов с некоторой задержкой относительно общих тенденций развития информационных систем начинает формироваться совершенно новый класс задач — интеграционные, связанные с объединением потоков информации от разнородных локальных систем сбора данных и управления технологическими объектами. Решению подобных задач препятствуют многочисленные трудности, во-первых, связанные с несовместимостью локальных систем (по форматам данных, до поддерживаемым интерфейсам и протоколам обмена), во-вторых, в большинстве случаев речь идёт об объединении территориально распределённых систем, и здесь на первый план выходят вопросы организации передачи данных, редко встречающиеся при внедрении локальных систем. Те же вопросы, связанные с организацией передачи данных, возникают и при необходимости проектирования любой территориально (географически) распределённой АСУ ТП. Кроме того, при построении масштабных систем сбора данных и управления достаточно часто встречаются задачи, для которых не находится оптимального решения в рамках предлагаемых одним поставщиком программно-аппаратных средств, и вновь возникают проблемы совместимости разнородного оборудования и программного обеспечения. Промышленно развитые страны столкнулись с этими вопросами значительно раньше, что и вызвало к жизни появление первого единого стандарта для организации сбора и передачи данных в системах промышленной автоматизации — ОРС, позволяющего, с одной стороны, полностью решить проблему несовместимости интерфейсов и протоколов обмена данными при объединении разнородных АСУ ТП и с другой стороны, дающего заказчику возможность свободного выбора оборудования и программного обеспечения АСУ ТП без жёстких привязок к частнофирменным решениям. Процесс обмена информацией с технологическими устройствами происходит внутри ОРС-серверов — программ, поставляемых как производителями оборудования, так и независимыми разработчиками. (На разработке ОРС-серверов специализируются многие компании, например Automated Solutions, Kepware, Matrikon, Cybtec и другие.) Сложности, появляющиеся при создании территориально (географически) распределённых проектов, связанные с организацией каналов передачи данных как от поставщиков данных (контроллеров, УСПД, УСО), так и между иерархическими уровнями системы, зачастую разделенными сотнями километров. В большинстве случаев существующие каналы связи не отличаются качеством и надёжностью, а построение специализированных линий передачи данных невозможно по экономическим причинам. Это значит, что программное обеспечение, отвечающее за обмен информацией между объектами системы, должно уметь устойчиво передавать достаточно большие объёмы информации по низкоскоростным линиям, автоматически реагировать на часто возникающие коллизии и разрывы связи, самостоятельно осуществлять выбор наиболее коротких маршрутов передачи данных в случаях, когда имеющиеся каналы передачи перестают работать и появляются новые. Сложности системы передачи данных можно оценить на примере рис.31.
Рис. 31 Пример распределенной системы передачи данных
ОРС (OLE for Process Control) - это стандарт взаимодействия между программными компонентами системы сбора данных и управления (SCADA), основанный на объектной модели COM/DCOM фирмы Microsoft. Через интерфейсы ОРС одни приложения могут читать или записывать данные в другие приложения, обмениваться событиями, оповещать друг друга о нештатных ситуациях (тревогах), осуществлять доступ к данным, зарегистрированным в архивах (так называемые «исторические» данные). Эти приложения могут располагаться как на одном компьютере, так и быть распределенными по сети, при этом независимо от фирмы поставщика стандарт OLE for Process Control, признанный и поддерживаемый всеми ведущими фирмами-производителями SCADA-систем и оборудования, обеспечит их совместное функционирование. Особый класс ОРС-приложений представляют собой ОРС-серверы конкретных аппаратных устройств - они поставляются многими производителями аппаратуры (а также независимыми производителями, но в этом случае они, как правило, не бесплатные). ОРС-сервер создает своего рода абстракцию аппаратуры, позволяя любому ОРС-клиенту записывать и считывать данные с устройства. Устройство, для которого есть ОРС-сервер, может использоваться вместе с любой современной SCADA-системой. Реализация ОРС основана на объектной модели COM/DCOM фирмы Microsoft. COM — это Component Object Model - модель многокомпонентных объектов, позволяющая приложению манипулировать удаленными программными объектами, точнее, вызывать те или иные функции (методы) этих объектов так, как будто объекты находятся «рядом». Объект может находиться и в самом деле рядом (в адресном пространстве приложения) - тогда это просто СОМ. Если же объект находится в другой программе на том же компьютере или на другом узле сети, то это DCOM -Distributed (распределенная) СОМ. В распределенном случае (DCOM) вызов любой функции объекта перехватывается специальным агентом-посредником, так называемой proxy/stub DLL, которая выполняет роль представителя объекта у обратившегося к нему клиента. Proxy/stub DLL упаковывает параметры функции (marshaling - транспортировка) и передает вызов операционной системе, которая (возможно, по сети) доставляет вызов по назначению, то есть заставляет реальный объект выполнить заданную функцию. Результат затем возвращается (примерно по той же цепочке) приложению-клиенту. Удобство использования DCOM состоит в том, что приложение-клиент совершенно не обязано знать, где реально находится объект - о степени удаленности объекта оно может судить только по увеличению расхода времени на вызов функции. ОРС-взаимодействие основано на клиент-серверной схеме. ОРС-клиент (например, SCADA), вызывая определенные функции объекта ОРС-сервера, подписывается на получение определенных данных с определенной частотой. В свою очередь, ОРС-сервер, опросив физическое устройство, вызывает известные функции клиента, уведомляя его о получении данных и вручая сами данные. Таким образом, при ОРС-взаимодействии используются как прямые СОМ-вызовы (от клиента к серверу), так и обратные (callback, от сервера к клиенту). Это надо учитывать при настройках безопасности DCOM в Windows NT: если клиент «видит» данные, но не получает их, значит, скорее всего, система безопасности NT блокировала обратные вызовы. Стандарт ОРС, в отличие, например, от устаревшего DDE (Dynamic Data Exchange), хотя и основан на универсальном фундаменте - COM/DCOM, разрабатывался специально для использования в промышленной автоматизации, поэтому он имеет вполне содержательную концептуальную сторону, то есть, на самом деле, свою проблемно-ориентированную модель взаимодействия, которая и реализована через совокупность СОМ-интерфейсов. Эта концептуальная сторона в известной степени независима и представляет самый большой интерес, особенно для пользователя-непрограммиста, для которого топкости реализации СОМ-интерфейсов не столь важны. В принципе, основные идеи ОРС могли бы быть реализованы и с помощью других объектных технологий (получилось бы что-нибудь вроде CORBA for Process Control, например), однако распространенность Windows-платформ предопределила выбор в пользу стандартов Microsoft. Стандарт состоит из трех основных спецификаций: 1) доступ к данным реального времени (Data Access); 2) обработка тревог и событий (Alarms & Events); 3) доступ к историческим данным(Historical Data Access). ОРС-серверов, соответственно, тоже может быть три вида, хотя не возбраняется совмещать все эти функции в одном. ОРС-серверы физических устройств обычно являются только серверами данных (Data Access Servers). Серверы тревог и исторические чаще всего «паразитируют» на серверах данных. Сервер тревог формирует определенные логические переменные, называемые состояниями (conditions), имея в качестве исходной информации некую переменную (тег), полученную от сервера данных. Состояния изменяют свое значение, если переменная, например, вышла за допустимые границы. Об изменении состояния сервер тревог оповещает клиентов, посылая им событие (тревогу), а клиент возвращает серверу подтверждение, что он тревогу воспринял. Впрочем, могут существовать состояния, не связанные с каким-либо параметром и управляемые сервером тревог по собственному усмотрению (например, если сервер тревог напрямую взаимодействует с аппаратурой, он может устанавливать или снимать состояние неисправности). Серверы исторических данных получают от серверов данных параметры в реальном времени и архивируют их, а затем предоставляют эти данные другим приложениям (например, для построения графиков трендов). Центральное место среди спецификаций ОРС занимает доступ к данным реального времени (DataAccess). Это самая старая и отработанная спецификация, в настоящее время действует ее вторая версия. Базовым понятием этой спецификации является элемент данных (Item). Каждый элемент данных (то есть фактически - параметр технологического процесса) имеет значение, время последнего обновления (timestamp) и признак качества, определяющий степень достоверности значения. Значение может быть практически любого скалярного типа: булево, целое, с плавающей точкой и т.п. - или строкой (на самом деле это так называемый OLE VARIANT). Время представляется с 100-наносекундной точностью (на самом деле это FILETIME Win32 API). Качество — это код, содержащий в себе грубую оценку достоверности параметра — UNCERTAIN, GOOD и BAD (не определено, хорошее и плохое), а на случай плохой оценки — еще и расшифровку, например, QUAL_SENSOR_FAILURE - неисправность датчика. Следующим вверх по иерархии является понятие группы элементов (ОРС Group). Группа создается ОРС-сервером по требованию клиента, который затем может добавить в группу элементы (Items). Для группы клиентом задается частота обновления данных, и все данные в группе сервер старается обновлять и передавать клиенту с заданной частотой. Отдельно стоящих вне группы элементов быть не может. Клиент может создать для себя на сервере несколько групп, различающихся требуемой частотой обновления. Группа (кроме так называемых публичных групп) всегда создается для каждого клиента своя, даже если состав элементов и частоты обновления совпадают. Отсоединение клиента приводит к уничтожению созданных для него групп. Элементы в группе - это своего рода клиентские ссылки на некие реальные переменные (теги), находящиеся на сервере или в физическом устройстве. Понятие тега спецификацией ОРС не определяется, но подразумевается неявно. Элементы в группу клиент добавляет по имени, и эти имена, разумеется, на самом деле являются именами соответствующих тегов. Клиент может либо знать нужные имена заранее (если он такой умный), либо запросить список имен тегов у сервера. Для запроса имен тегов служит интерфейс lOPCBrowseServerAddressSpace, с помощью которого сервер описывает клиенту свое «пространство имен», организованное в общем случае иерархически. Пример полного имени тега: Устройство_1. Модуль_2. Аналоговый Вход_3 (в качестве разделителя используется точка). При добавлении элемента в группу клиент всегда указывает это полное имя. Заметим, что группы, создаваемые клиентом на сервере, не обязаны совпадать (и, как правило, не совпадают) с подразделами пространства имен сервера, элементы в группу добавляются вразнобой. Единственное, что их объединяет. - это общая частота обновления и синхронность отправки клиенту. Наконец, на верхней ступеньке иерархии понятий находится сам ОРС-сервер. Из всех перечисленных (ОРС-группа, ОРС-элемент) он единственный является СОМ-объектом, все остальные объекты доступны через его интерфейсы, которые он предоставляет клиенту. Схема взаимодействия ОРС-клиентов с ОРС-сервером представлена на рис. 33. Обмен данными между клиентом и сервером может осуществляться в двух режимах — синхронном и асинхронном. При асинхронном варианте обмена сервер сам оповещает клиента об изменившихся значениях данных, на которые подписался клиент (по возможности с частотой, заданной клиентом при создании группы). При синхронном клиент осуществляет инициативное чтение или запись данных. Запись может быть только синхронной.
Рис. 33 Взаимосвязь групп и элементов OPC показана на рис. 34.
Рис. 34. Взаимосвязь групп и элементов OPC Разработано множество различных ОРС-серверов. Рассмотрим интерфейс пользователя на примере ADAM OPC –сервер. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |