Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы к экзамену по АСУП / АСУП. Конспект лекций.doc
Скачиваний:
75
Добавлен:
02.03.2016
Размер:
3.45 Mб
Скачать

Мрв (dde-клиент) – Excel (dde-сервер)

Если монитор выступает в роли DDE-клиента, для конфигурирования обмена используются переменные DDE, которые создаются в группе DDE слоя ИСТОЧНИКИ/ПРИЕМНИКИ навигатора проекта.

Запрос значения в режиме ADVISE. Создадим в узле канал ch1 и свяжем его с переменной DDE с параметрами:

Откроем Excel, создадим новую книгу и запустим узел – установится связь монитора с книгой Excel, активной в данный момент, в режиме ADVISE. В этом режиме DDE-сервер (Excel) будет посылать DDE-клиенту (монитору) значение (при каждом его изменении) ячейки G6 (Row=6, Column=7) листа Sheet1, и это значение будет записано во вход канала ch1.

Запрос значения в режиме REQUEST. Создадим в узле канал ch2 и свяжем его с переменной DDE:

Для запроса в режиме REQUEST тип переменной DDE должен быть INPUT. Для запроса в режиме REQUEST параметру РЕЖИМ переменной DDE можно также задать значение REQ/POKE[data/r] или REQ/POKE[data/n]. Откроем Excel, создадим новую книгу и запустим узел – установится связь монитора с книгой Excel, активной в данный момент, в режиме REQUEST. В этом режиме монитор генерирует в соответствующем потоке запросы на чтение значения ячейки G6 листа Sheet1 и записывает это значение во вход канала ch2.

Задание значения в режиме POKE. Для передачи в указанную ячейку таблицы Excel выходного значения канала (атрибут Q), привязанная к этому каналу переменная DDE должна иметь тип OUTPUT. Создадим в узле канал ch_p и свяжем его с переменной DDE, параметры которой зададим следующим образом:

Для записи значения в Excel параметру MODE переменной DDE можно также задать значение REQ/POKE[data/r] или REQ/POKE[data/n]. Откроем Excel, создадим новую книгу и запустим узел – установится связь монитора с книгой Excel, активной в данный момент, в режиме POKE. В этом режиме монитор генерирует в соответствующем потоке запрос на запись выходного значения (при каждом его изменении) канала ch_p в ячейку G6 листа Sheet1.

Обмен данными по opc-технологии

Сравнительно недавно, в 1994 г., под эгидой Microsoft была создана организация OPC Foundation (http://www.opcfoundation.org). Как определяет сама OPC Foundation, ее цель — разработка и поддержка открытых промышленных стандартов, регламентирующих методы обмена данными в режиме реального времени между клиентами на базе ПК и ОС Microsoft. Сейчас организация насчитывает более 270 членов, включая почти всех ведущих поставщиков контрольно-измерительного и управляющего оборудования для АСУ ТП. Достаточно назвать такие фирмы, как Siemens, Schneider Automation, Rockwell Software, Wonderware, Intellution, Ci Technologies.

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

OPC основана на модели распределенных компонентных объектов Microsoft COM/DCOM и устанавливает требования к классам объектов доступа к данным и их специализированным интерфейсам для использования разработчиками клиентских и серверных приложений. Для обмена данными с приложениями-клиентами, разработка которых ведется на языках типа MS Visual Basic, а также с популярными приложениями типа Excel, спецификация OPC содержит дополнительные (но необязательные для реализации) требования к интерфейсу OLE-автоматизации (OLE Automation).

Структура взаимодействия между приложениями-клиентами и серверами OPC различных производителей показана на рисунке:

Опираясь на объектную технологию COM/DCOM, стандарт OPC фиксирует определенную модель взаимодействия между клиентом и сервером. Базовым понятием этой модели является элемент данных (Item). Каждый элемент данных имеет значение, время последнего обновления (timestamp) и признак качества, определяющий степень достоверности значения. Значение может быть практически любого скалярного типа – булево, целое, с плавающей точкой и т.п. – или строкой (так называемый OLE VARIANT). Время представляется со 100-наносекундной точностью (FILETIME Win32 API). Реальная точность измерения времени обычно бывает хуже и, в общем случае, зависит от реализации сервера и аппаратуры. Качество – это код, содержащий в себе грубую оценку – UNCERTAIN, GOOD и BAD (не определено, хорошее и плохое), а на случай плохой – еще и расшифровку, например QUAL_SENSOR_FAILURE – неисправность датчика.

Следующим вверх по иерархии является понятие группы элементов (OPC Group). Группа создается OPC-сервером по требованию клиента, который затем может добавлять в группу элементы (Items). Для группы клиентом задается частота обновления данных, и все данные в группе сервер старается обновлять и передавать клиенту с заданной частотой. Отдельно стоящих вне группы элементов быть не может. Клиент может создать для себя на сервере несколько групп, различающихся требуемой частотой обновления. Для каждого клиента всегда создается своя группа (кроме так называемых публичных групп), даже если состав элементов и частоты обновления совпадают. Отсоединение клиента приводит к уничтожению группы.

Элементы в группе – это своего рода клиентские ссылки на некие реальные переменные (теги), находящиеся на сервере или в физическом устройстве. Понятие тега спецификацией OPC не определяется, но подразумевается неявно. Элементы в группу клиент добавляет по имени, и эти имена являются именами соответствующих тегов. Клиент может либо знать нужные имена заранее, либо запросить список имен тегов у сервера. Для запроса имен тегов служит специальный интерфейс, с помощью которого сервер описывает клиенту свое “пространство имен”, организованное в общем случае иерархически. Пример полного имени тега: Устройство1. Модуль5. АналоговыйВход3. При добавлении элемента в группу клиент всегда указывает это полное имя. Заметим, что группы, создаваемые клиентом, не обязаны совпадать (и, как правило, не совпадают) с подразделами пространства имен сервера, элементы в группу добавляются “в разнобой”. Единственное, что их объединяет – это общая частота обновления и синхронность отправки клиенту.

На верхней ступеньке иерархии понятий находится сам OPC-сервер. Из всех перечисленных (OPC-группа, OPC-элемент) он единственный является COM-объектом, все остальные объекты доступны через его интерфейсы, которые он предоставляет клиенту.

OPC предоставляет быстрый и надежный канал обмена данными. Скорость обмена определяется тем, что он проводится через общую память и реализуется модулями динамической библиотеки DLL или локальным EXE сервером. По данным тестирования, например, на компьютере Pentium233 сервер OPC поставлял 20000 данных в секунду 4-м клиентам при 10% загрузке процессора.

Существует достаточно большой перечень стандартов ОРС. Консорциум OPC Foundation пытается охватить все аспекты взаимодействия с технологическим оборудованием. В разработке самих спецификаций принимают участие ведущие производители оборудования и систем автоматизации, которые стараются максимально учесть свой опыт и предоставить абсолютно все необходимое тому, кто будет использовать OPC. Однако наибольшее практическое применение нашла пока только спецификация Data Access (DA).

OPC-стандарты:

OPC Common Definitions and Interfaces — общие для всех OPC-спецификаций интерфейсы;

Data Access Custom Interface Standard — спецификация COM-интерфейсов для обмена оперативными данными, программирование на Cи++;

Data Access Automation Interface Standard — спецификация COM-интерфейсов для обмена оперативными данными, программирование на языках типа Visual Basic;

OPC Batch Custom Interface Specification — спецификация COM-интерфейсов конфигурирования оборудования, программирование на Cи++;

OPC Batch Automation Interface Specification — спецификация COM-интерфейсов для конфигурирования оборудования, программирование на языках типа Visual Basic;

OPC Alarms and Events Custom Interface Specification — спецификация COM-интерфейсов для обслуживания событий (event) и нештатных ситуаций (alarm), программирование на Cи++;

OPC Alarm and Events Automation Interface Specification – спецификация COM-интерфейсов для обслуживания событий и нештатных ситуаций, программирование на языках типа Visual Basic;

Historical Data Access Custom Interface Standard — спецификация COM-интерфейсов для работы с хранилищами данными, программирование на Cи++;

Historical Data Access Automation Interface Standard — спецификация COM-интерфейсов для работы с хранилищами данными, программирование на языках типа Visual Basic;

OPC Security Custom Interface — спецификация COM-интерфейсов для обработки прав доступа к данным, программирование на Cи++;

Кто же использует OPC? Первая категория — производители оборудования автоматизации. Предполагается, что тот, кто создает, например, плату сбора данных, снабжает ее не только драйвером, но и реализует OPC-сервер, работающий с этой с платой через драйвер или даже напрямую. Тем самым OEM-производитель предоставляет стандартный доступ к своей плате.Список потенциальных изготовителей OPC-серверов неограничен. OPC-сервером можно снабдить контроллер, плату ввода/вывода, адаптер полевой шины, программу пересчета, генератор случайных чисел, что угодно, лишь бы это устройство поставляло или принимало данные. Но все-таки здесь речь идет в первую очередь о программном обеспечении для более низкого уровня в системах автоматизации. Ко второй категории пользователей OPC относятся те, кто реализует программное обеспечение более высокого уровня, например, поставщики SCADA-пакетов.

Лекция 20

Физический уровень промышленных сетей

Интерфейс RS-232

Исторически все промышленные сети являются продуктом эволюции порта RS-232, который предназначался для подключения на двухпроводном шнуре одного периферийного устройства к персональной ЭВМ. Стандарт RS-232 (RS – recommended standard рекомендованный стандарт,), описывает интеpфейс междy аппаpатypой пpиема и пеpедачи данных. Стандарт был разработан достаточно давно, в 60-х годах 20-го века. В настоящее время действует редакция стандарта, принятая в 1991 году ассоциациями электронной и телекоммуникационной промышленности, под названием EIA/TIA-232-E.

Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) — ООД (Оконечное Оборудование Данных), второе — DCE (Data Communications Equipment) — ОПД (Оборудование Передачи Данных). Как правило, DTE (ООД) — это компьютер, а DCE (ОПД) — это модем, хотя RS-232 может использоваться и для подключения к компьютеру периферийных устройств (мышь, принтер), и для соединения с другим компьютером или контроллером. Для соединения строго соответствующих стандарту устройств DTE и DCE нужен кабель "контакт в контакт". Для соединения двух DTE-устройств используют так называемые нуль-модемные кабели, в которых провода "перекрещиваются" в соответствии с назначением сигналов. Изначально стандарт описывал применение 25-контактного соединителя, типа DB25. DTE-устройство должно оснащаться вилкой (male - "папа"), DCE-устройство — розеткой (female - "мама"). Позднее, с появлением IBM PC, стали использовать усеченный вариант интерфейса и 9-контактные соединители DB9, наиболее распространенные в настоящее время.

Полный набор цепей используется только для подключения к ПЭВМ внешнего модема. В остальных случаях, например при подключении к ПЭВМ промышленного контроллера, используется ограниченный набор цепей, зависящий от аппаратной и программной реализации стыка в контроллере. Для соединения многих устройств достаточно минимального набора цепей интерфейса RS-232: RD (приёмник), TD (передатчик) и Signal Ground (общий провод, нулевой провод, заземление). Важно отметить, что интерфейс не обеспечивает гальванической развязки устройств.

Логической единице соответствует диапазон напряжения от –12 до –3 В (на приёмнике); логическому нулю — от +3 (на приёмнике) до +12 В. Диапазон от –3 до +3 В — зона нечувствительности. Разность потенциалов между схемными землями (SG) соединяемых устройств должна быть менее 2 В, при более высокой разности потенциалов возможно неверное восприятие сигналов.