Файл: Курс лекций Разработчик Афонин Ю. Д. Екатеринбург, 2007 2 Содержание.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 222
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
109
✓ органы управления различных типов, например кнопки, рубильники, ползунковые или поворотные регуляторы,
✓ экранные формы отображения параметров процесса типа стрелочных, полосковых или цифровых индикаторов, а также сигнализирующие табло различной формы и содержания,
✓ возможность создания архивов аварий, событий и поведения переменных процесса во времени (так называемые тренды), а также полное или выборочное сохранение параметров процесса через заданные промежутки времени постоянно или по условию,
✓ упрощенный язык для реализации алгоритмов управления, математических и логических вычислений,
✓ средства документирования как самого алгоритма, так и технологического процесса,
✓ ядро или монитор реального времени, который обеспечивает детерминизм поведения системы или, иными словами, предсказуемое время отклика на внешние события,
✓ драйверы к оборудованию нижнего уровня АСУ ТП,
✓ сетевые функции,
✓ средства защиты от несанкционированного доступа в систему,
✓ многооконный графический интерфейс и другие очевидные функции, такие как импорт изображений и создание собственных библиотек алгоритмов, динамических объектов, элементов мнемосхем и т.п.
Ничего себе списочек, да это запрограммировать - полжизни уйдет, а вторая половина - на отладку - скажут те, кто начал программировать в последние пятьдесять лет - и с точностью до полжизни будут правы.
Где же выход, и есть ли он. Конечно есть. Нужно всего лишь выбрать подходящий пакет ПО для АСУ ТП.
Прежде чем рассматривать конкретные реализации пакетов АСУ ТП
(SCADA, MMI), давайте на простом примере разберемся, как в них происходит программирование. Поскольку все пакеты SCADA в общих чертах похожи друг
110 на друга, не будем связывать пример ни с одним из них конкретно.
Предположим, что нам нужно создать экран операторской станции, который состоит из следующих элементов
• кнопка «Старт»,
• полосковый индикатор состояния аналогового входа «Температура»,
• табло «Авария»
Типичная последовательность действий, которые нам нужно будет выполнить, примерно следующая:
1. формирование статического изображения рабочего окна. Это может быть фон, заголовки, мнемосхема техпроцесса и т. п. Для создания статического изображения, как правило, используются внешние графические редакторы, например Paint Brush, а готовое изображение затем импортируется в пакет SCADA. Хотя некоторые пакеты имеют собственные средства рисования, все они содержат и средства импорта изображений в форматах типа BMP или
WMF.
2. Формирование динамических объектов (ДО) рабочего окна. Как правило, динамические объекты создаются при помощи специализированного графического редактора самого пакета SCADA по жестко заданному алгоритму или на основе набора библиотечных элементов с последующим присвоением параметров. В частности, для изображения полоскового индикатора нам нужно будет в простейшем случае изобразить прямоугольники, соответствующие начальному и конечному значению параметра, и задать эти значения. На этом же шаге ДО присваивается логическое имя, под которым он будет фигурировать в алгоритме управления. Одновременно путем ответов на вопросы меню или при заполнении соответствующего формуляра задается привязка логического имени ДО к конкретному каналу ввода/вывода. В конце этого шага мы имеем набор необходимых нам ДО, соответствующим образом размещенных на фоне статического изображения и базу каналов ввода/вывода.
Единственное, что остается сделать для получения работающей программы операторской станции, - описать взаимосвязи между логическими именами ДО
111 и алгоритм функционирования системы.
3. Описание алгоритма отображения и управления. Этот шаг выполняется в разных SCADA системах по-разному, хотя общие черты остаются. В простейшем случае при помощи обычного текстового редактора на языке типа BASIC записываются логические и математические формулы с использованием логических имен ДО. Например, если при превышении значения 90 параметра «Температура» нам нужно включить табло «Авария», то делается запись:
IF ТЕМПЕРАТУРА > 90 THEN АВАРИЯ=1 ELSE АВАРИЯ=0
В более сложных пакетах алгоритм может описываться при помощи языка функциональных блоков (ФБ). Причем исходные наборы ФБ включают в себя все, что душе угодно: от простых фильтров и математических функций до
PID-регуляторов. Как правило, в таких системах предусматривается возможность создания собственных ФБ, содержащих тексты программ или формул на встроенном языке высокого уровня. На этом шаге процесс
«программирования» заканчивается. Все, что нам остается сделать, - запустить полученную стратегию под управлением следующей неотъемлемой части всех пакетов SCADA - программы-монитора, или, как ее часто называют, Runtime.
Достаточно просто, не правда ли? И, вы обратили внимание, знание языка С нам не потребовалось.
6
.2 Пакет Genie
Производитель Genie — американское отделение фирмы Advantech, известной как производитель компьютеров и электроники для промышленной автоматизации. Пакет Genie предназначен для программной поддержки аппаратуры фирмы Advantech и в первую очередь содержит драйверы именно для нее. Хотя никто не запрещает использовать его и с оборудованием других изготовителей, значительная часть «Руководства пользователя» посвящена процедуре написания собственных
DLL-драйверов, обслуживающих
«нестандартные» устройства ввода/вывода. Одна из главных отличительных черт этого пакета - прекрасно продуманный интерфейс пользователя.
112
Намеренно сократив число «степеней свободы» в инструментальной части пакета и написав прекрасный Help, авторы создали уникальный по простоте освоения программный продукт. В лучшем случае через несколько часов знакомства с пакетом вы уже сможете написать что-нибудь работающее. В худшем стоит задуматься о смене профессиональной ориентации.
GeniDAQ -программное обеспечение для построения систем сбора, анализа, визуализации данных и управления, работающее под управлением операционных систем Windows 95/98/NT. Наличие специальной оболочки для построения пользовательских приложений значительно сокращает время их разработки и максимально облегчает этот процесс. При этом нет необходимости написания программного кода, и весь процесс разработки сводится к "рисованию" системы на графическом экране с последующей привязкой к физическим каналам ввода-вывода. Для построения комплексных систем и организации сложных алгоритмов обработки данных имеется возможность использования программ на Visual Basic. Открытая архитектура
GeniDAQ позволяет легко интегрировать его с другими приложениями через механизмы OLE, DDE, ODBC.
GeniDAQ обеспечивает легкий для освоения человеко-машинный интерфейс и предоставляет объектно-ориентированную графику. В этой системе имеется возможность записи исторических трендов и генерации отчетов по требуемой форме. Она также предоставляет возможность встраивания программ на Visual Basic, реализации многозадачного режима работы. Наряду с этим данная система подготовки программных продуктов обеспечивает поддержку механизмов DDE, OLE, ODBC и технологии ОРС, а также легкую интеграцию с системами программирования МЭК 61131, в том числе с UltraLogik.
GeniDAQ имеет ряд ключевых отличий от разработанного ранее широко известного программного продукта аналогичного назначения Genie, обеспечивающих решение более широкого круга задач на новом уровне. В отличие от предшествующей системы GeniDAQ является 32-разрядным
113 приложением. Она обеспечивает параллельное сканирование задач для повышения эффективности операций ввода-вывода, обновление графической информации на экране и эффективный диалог с оператором, т.е. успешное выполнение критичных по времени задач.
Технология ОРС обеспечивает возможность использования в системах на базе GeniDAQ оборудования других производителей. Для этого достаточно иметь соответствующие ОРС-серверы. ОРС (OLE for process control) - стандартный интерфейс для связи между программным обеспечением SCADA и различными контроллерами и устройствами ввода-вывода. ОРС-серверы
(драйверы) фирмы Advantech полностью соответствуют спецификации ОРС и позволяют подключать контроллеры ADAM-4000/5000 к широкому кругу
MMI/SCADA программ от различных производителей, установленных на хост- компьютере.
Любое программное обеспечение, соответствующее спецификации ОРС-пользователя, может получать данные из ОРС-серверов
Advantech.
Возможность использования протокола TCP/IP обеспечивает работу с данными технологического процесса в реальном времени с любого узла сети, а также дистанционное управление процессом.
GENIE позволяет использовать PC как инструмент для графического создания, моделирования, работы по сбору данных и управлению процессами в реальном масштабе времени при помощи задач, где задача определена как совокупность блоков устройств и элементов дисплея, которые связаны друг другом. Каждая задача при выполнении имеет одинаковый период или частоту просмотра.
В одно и тоже время может быть использовано любое число Блоков и
Устройств I/O, их количество ограничивается только быстродействием вашего компьютера и объемом его памяти. GENIE обеспечивает Вас самым быстрым и эффективным способом решения проблем сбора данных и управления процессами.
114
GENIE состоит из двух модулей программного обеспечения:
• редактора задач (GENIE Strategy Editor) со встроенным редактором дисплея (Diplay Editor) (рис. 6.1), и
• программы выполнения (GENIE Runtime).
Рисунок 6.1 – Панель задач GeniDAQ.
1 2 3 4 5 6 7 8 9 10
Редактор Задач. Редактор задач GENIE представляет из себя пиктограмно - основанную среду проектирования, которая обеспечивает, с помощью инструментальных средств (Toolbox), формирование схемы из блоков устройств и дисплеев, благодаря которым разрабатывается, управляется, и просматривается процесс. При использовании мыши и клавиатуры пиктограммы блоков соединяются вместе и используются для работы с аппаратными средствами I/O через драйвера Advantech DLL, что в конечном итоге позволяет управлять и контролировать ваш процесс. Пиктограммы
Дисплея соединены со схемой задач для отображения и управления событиями во время их исполнения программой GENIE Runtime.
Дисплея соединены со схемой задач для отображения и управления событиями во время их исполнения программой GENIE Runtime.
115
Типичная процедура для разработки задач состоит из следующих шагов:
С помощью мыши выбрать и расположить в рабочей области необходимые пиктограммы инструментальных средств Редактора Задач (рис.
6.2, 6.3).
Рисунок 6.2 – Подключение входного канала к блоку аналогового ввода.
2. Для конфигурирования параметров блоков произвести двойное нажатие на каждую пиктограмму и в связанном диалоговом окне произвести настройку.
3. Для установки элементов дисплея запустите Редактор дисплея.
Редактор Дисплея используется для разработки панелей операционного дисплея (Operator Display Panel) т.е. установления динамических связей между задачей и процессом отображением данных. Используя растровый фон, Вы можете создать панель, подобную дисплеям промышленных процессов. Из элементов инструментальных средств дисплея Вы создадите любой операционный дисплей.
116
Типичная процедура разработки Операционного дисплея в Редакторе
Дисплея состоит из следующих шагов:
Рисунок 6.3 – Конфигурирование блока аналогового ввода
Типичная процедура разработки Операционного дисплея в Редакторе
Дисплея состоит из следующих шагов:
1. Вызовите Редактор Дисплея (рис.6.4).
2. Из комплекта инструментальных средств возьмите мышью нужные элементы и переместите их в желательное место рабочей области.
3. Измените размер элемента, используя один из окаймляющих черных квадратов.
4. Сконфигурируйте каждый элемент, вызывая диалоговое окно двойным нажатием на его поверхность. Для динамического отображения
(или управления. если оно предусмотрено) Вы можете выбирать любой блок
Редактора Задач.
117 5. Добавьте на панелях дисплея текстовые поля и строки для логической связи информации дисплея.
6. Добавьте на дисплей фоновое изображение (если необходимо).
7. Сохраните Дисплей.
Рисунок 6.4 – Редактор дисплея и конфигурирование стрелочного индикатора.
6.3 Технология OPC
OPC (OLE for Process Control) – промышленный стандарт, созданный консорциумом всемирно известных производителей оборудования и программного обеспечения при участии Microsoft. Этот стандарт описывает интерфейс обмена данными между устройствами управления технологическими процессами.
Главной целью было предоставить разработчикам систем диспетчеризации некоторую независимость от конкретного типа контроллеров. OPC основывается на технологии
OLE/COM/DCOM компании Microsoft, Inc.
Рассмотрим основные причины создания OPC. Довольно много
118 программ-клиентов может получать данные из различных источников и делать их доступными для драйверов независимых разработчиков. Но при этом возникают следующие проблемы:
▪
Каждая программа диспетчеризации должна иметь драйвер для конкретного устройства АСУ (Рис. 6.5а).
▪
Возникают конфликты между драйверами различных разработчиков, что приводит к тому, что какие-то режимы или параметры работы оборудования не поддерживаются всеми разработчиками ПО.
▪
Модификации оборудования могут привести к потере функциональности драйвера.
▪
Конфликты при обращении к устройству – различные программы диспетчеризации не могут получить доступ к одному устройству одновременно из-за использования различных драйверов.
Рисунок 6.5a - Пример схемы работы "множества различных драйверов"
Производители оборудования стараются решить эту проблему с помощью разработки дополнительных драйверов. Однако эти попытки встречают сильное сопротивление разработчиков систем диспетчеризации, которые должны, в этом случае, усложнять свои клиентские протоколы.
OPC проводит четкую разграничительную линию между производителями оборудования и разработчиками драйверов.
119
Рисунок 6.5б - Решения на базе OPC
Данная технология предоставляет механизм сбора данных из различных источников и передачу этих данных любой клиентской программе вне зависимости от типа используемого оборудования (рис. 6.5б). Это позволяет разработчикам сосредоточиться на производительности и оптимизации работы серверной части, которая отвечает за сбор данных.
Преимущества технологии OPC. OPC был разработан для обеспечения доступа клиентской программы к нижнему уровню технологического процесса в наиболее удобной форме. Широкое распространение технологии OPC в промышленности имеет следующие преимущества:
▪
Независимость в применении систем диспетчеризации от используемого в конкретном проекте оборудования.
▪
Разработчики программного обеспечения не должны постоянно модифицировать свои продукты из-за модификации оборудования или выпуска новых изделий.
▪
Заказчик получает свободу выбора между поставщиками оборудования, а также имеет возможность интегрировать это оборудование в информационную систему предприятия, которая может охватывать всю систему производства, управления и логистики.