Учебно-методическое пособие SCADA-системы. Учебнометодическое пособие по учебным дисциплинам субд реального времени
Скачать 3.27 Mb.
|
Вопросы и задания 1. Что такое мнемосхема промышленного комплекса? В чем за- ключаются основные отличия мнемосхемы от других отображений промышленного комплекса, например, от схемы цепи агрегатов? 2. Перечислите основные стандарты, регламентирующие проектирование и создание мнемосхем. Сформулируйте основные требования этих стандартов, предъявляемые к мнемосхемам. 3. Оцените стандарты, регламентирующие проектирование и со- здание мнемосхем, на соответствие современным условиям проекти- рования и создания САУ. 4. Согласны ли Вы с требованием размещать на мнемосхеме только те элементы, которые необходимы диспетчеру (оператору) для контроля и управления объектом? 5. Назовите основные этапы процесса разработки мнемосхем промышленного комплекса. Какие из этих этапов должны выпол- няться последовательно, а какие этапы могут выполняться парал- лельно? 6. Перечислите общие черты и отличия таких документов как схема цепи агрегатов и схема автоматизации технологического про- цесса промышленного комплекса. Каковы области их применения? 7. Дайте определение понятия «технологический регламент» промышленного комплекса. Кто осуществляет разработку технологи- ческого регламента? 8. Составьте технологический регламент пуска/останова какого- либо технологического процесса или производства. 9. Дайте определение понятия «режим работы» промышленного комплекса. Кто осуществляет разработку режимов работы? 10. В чем отличие режима работы промышленного комплекса «Автомат» от режима «Дистанция»? 11. В каких случаях используется местный пост управления технологическим агрегатом? 12. Перечислите основные инструменты создания статических элементов мнемосхемы. 13. Назовите схожие и отличающиеся, по вашему мнению, ме- тоды и принципы работы в графических редакторах SCADA-систем и в популярных графических редакторах (например, Adobe Photoshop, CorelDraw, Microsoft Paint). 14. Что такое тег базы данных SCADA-системы? 39 15. Перечислите общие черты и отличия внешних и внутренних тегов базы данных SCADA-системы. Каковы области их применения? 16. Назовите наиболее часто используемые типы тегов базы дан- ных SCADA-системы. С чем связана их популярность? 17. Раскройте понятие «скрипт» обработки событий в SCADA- системе. 18. Перечислите основные типы скриптов SCADA-систем. 19. Дайте определение понятия «анимация» мнемосхемы. 20. Назовите основные анимационные методы при создании мне- мосхемы. 40 3. СОЗДАНИЕ МНЕМОСХЕМЫ ПРОМЫШЛЕННОГО КОМПЛЕКСА С ИСПОЛЬЗОВАНИЕМ SCADA-СИСТЕМЫ 3.1 Постановка задачи по созданию мнемосхемы промышленного комплекса Постановка задачи по созданию мнемосхемы промышленного комплекса с помощью SCADA-системы в общем виде может быть представлена следующим образом. Дано. 1. Исходные данные по промышленному комплексу: схема цепи агрегатов; схема автоматизации технологического процесса; технологический регламент промышленного комплекса; режимы работы САУ промышленным комплексом. 2. SCADA-система. Ограничения. 1. Ограничения по финансовым ресурсам. 2. Временные ограничения: по срокам поставки SCADA-системы; по срокам разработки мнемосхемы. Требуется. Разработать мнемосхему промышленного комплекса. В соответствии с последовательностью действий по созданию мнемосхемы промышленного комплекса, определенной в разделе 2.2, поставленная цель будет достигнута при последовательном решении следующих задач: анализ исходных данных по промышленного комплексу и вы- бор объектов необходимых для создания мнемосхемы. создание статических объектов мнемосхемы промышленного комплекса; создание БД параметров технологического процесса; написание скриптов обработки событий; наложение элементов анимации на статические элементы мне- мосхемы. Рассмотрим задачу создания мнемосхемы на примере промыш- ленного комплекса углеобогатительной фабрики. В качестве SCADA- системы будет использована SCADA-система InTouch корпорации 41 Wonderware (США). Обогатительная фабрика (ОФ) – это горное предприятие для первичной переработки твѐрдых полезных ископаемых с целью полу- чения технически ценных продуктов, пригодных для промышленного использования. Часто ОФ входит в состав горно-обогатительного комбината. С помощью различных технологий (флотация, магнитная сепа- рация и других) на ОФ из добытой руды получают концентрат, в ко- тором содержание полезного компонента намного выше, чем в ис- ходном сырье. На ОФ перерабатываются (обогащаются) руды цветных метал- лов, руды чѐрных металлов, неметаллические полезные ископаемые и уголь. 3.2 Создание мнемосхемы промышленного комплекса обогатительной фабрики 3.2.1 Анализ исходных данных по обогатительной фабрике На первом этапе создания мнемосхемы промышленного ком- плекса ОФ необходимо провести анализ исходных данных: схемы цепи агрегатов; схемы автоматизации технологического процесса; технологического регламента промышленного комплекса; режимов работы промышленного комплекса. В приложении В представлены схема автоматизации технологи- ческого процесса ОФ (рисунок В.1) и перечень оборудования про- мышленного комплекса ОФ. Рассматриваемая в данном разделе ОФ является углеобогати- тельной и включает в себя следующие основные корпуса: узел подготовки разубоженной горной массы перед обогаще- нием; корпус обогащения разубоженной горной массы в крутонаклонных сепараторах; главный корпус обогащения разубоженной горной массы в отсадочной машине «БАТАК»; корпус обогащения шламов. Все агрегаты и системы ОФ разделены по характеру участия непосредственно в технологическом процессе комплекса, на две 42 группы: технологически взаимосвязанные агрегаты и системы ком- плекса, образующие технологическую схему. Совместное функцио- нирование таких агрегатов и систем обеспечивает протекание техно- логического процесса и его безопасность; автономные агрегаты и системы. Функционирование таких агрегатов и систем не связано жестко с функционированием агрега- тов технологической схемы и не оказывает непосредственного влия- ния на ход и безопасность технологического процесса. Например, в узле подготовки разубоженной горной массы перед обогащением (рисунок 10) к технологически взаимосвязанным агрегатам и системам комплекса отнесены: конвейера ленточные поз.13, 15; питатели поз.12.2, 12.3; железоотделитель поз.13.1; металлоискатель поз.13.2; дробилка поз.14.1; вентилятор аспирационный поз.14.2. Рисунок 10 –Схема цепи агрегатов корпуса «Узел подготовки разубо- женной горной массы перед обогащением» К автономным агрегатам и системам узла подготовки разубо- женной горной массы перед обогащением отнесены: весы конвейерные поз.13.3 конвейера 13; 43 расходомер (труба Вентури) поз.14.3; каплеулавливатель поз.14.4; шламовый насос поз.14.6; фронтальные погрузчики поз.12.1.1, 12.1.2. Технологически взаимосвязанные агрегаты и системы включены в технологический регламент промышленного комплекса. Например, пуск корпуса «Узел подготовки разубоженной гор- ной массы перед обогащением» в соответствии с технологическим регламентом производится в следующей последовательности: 1) вентилятор аспирационный поз.14.2; 2) конвейер ленточный поз.15; 3) дробилка поз.14.1; 4) металлоискатель поз.13.2; 5) железоотделитель поз.13.1; 6) конвейер ленточный поз.13; 7) питатель поз.12.2 8) питатель поз.12.3; Интервал между пусками агрегатов варьируется от нескольких секунд до минут. Останов технологической линии корпуса «Узел подготовки разубоженной горной массы перед обогащением» по регламенту про- изводится в обратной последовательности, по ходу «сгона» нагрузки: 1) питатель поз.12.3; 2) питатель поз.12.2 3) конвейер ленточный поз.13; 4) железоотделитель поз.13.1; 5) металлоискатель поз.13.2; 6) дробилка поз.14.1; 7) конвейер ленточный поз.15; 8) вентилятор аспирационный поз.14.2; В САУ промышленным комплексом ОФ предусмотрены три ос- новных режима управления – «Автомат», «Дистанция», «Местный» (описаны в разделе 2.2.1) и один дополнительный – «Локальный местный». Режим «Локальный местный» необходим для кратковре- менной остановки какого-либо агрегата технологической цепи для осмотра и мелкого ремонта без аварийной остановки цепи технологи- чески взаимосвязанных агрегатов. 44 3.2.2 Создание статических элементов мнемосхемы промышленного комплекса обогатительной фабрики На втором этапе разработки мнемосхемы осуществляется созда- ние статических объектов мнемосхемы промышленного комплекса ОФ. Создание статических элементов мнемосхемы осуществляется в среде разработки и конфигурирования SCADA-системы InTouch WindowMaker как с помощью простых объектов, так и с помощью сложных. WindowMaker имеет в своем распоряжении четыре основных типа простых объектов: линии (Line, H/V Line, Polyline); объекты с заливкой (Rectangle, Rounded Rectangle, Ellipse, Polygon); текст (Text); кнопка (Button). К сложным объектам WindowMaker относятся: ячейка (Cell); символ (Symbol); мастера (Wizards); объекты ActiveX (ActiveX Control). Каждый из объектов имеет свои атрибуты, определяющие его внешний вид, например, цвет линии, кривой, высота, ширина, ориен- тация. На данном этапе конфигурируются и настраиваются статические атрибуты, то есть атрибуты неизменные в течение всего сеанса ра- боты приложения. Для создания мнемонических изображений большинства техно- логических агрегатов использовались простые объекты. Например, для создания конвейера потребовалось два элемента «круг» (Ellipse) и один элемент «прямоугольник» (Rectangle) (рисунок 11), для дробилки – два элемента «круг» (Ellipse), два элемента «прямоугольник» (Rectangle) и один элемент «многоугольник» (Polygon) (рисунок 12). Для создания мнемонических изображений некоторых агрегатов и элементов управления использовались сложные объекты. 45 Рисунок 11 – Мнемоническое изображение конвейера Рисунок 12 – Мнемоническое изображение дробилки Например, для создания мнемонического изображения вентиля- торов использовался объект из библиотеки мастера (Wizard, Symbol Factory) – «Cool Fan» (рисунок 13), для создания таблицы алармов (тревог) использовался объект из библиотеки мастера (Wizard, ActiveX Control) – «AlarmViewerCtrl» (рисунок 14). Рисунок 13 – Выбор мастера «Symbol Factory» для создания изображения вентилятора 46 Рисунок 14 – Выбор мастера «ActiveX Control» для создания таблицы тревог Итоговая статическая мнемосхема промышленного комплекса ОФ выглядит следующим образом (рисунок 15). Условно мнемосхема состоит из трех частей: верхний фрейм; основной фрейм; нижний фрейм. Верхний фрейм содержит: элементы авторизации (рисунок 15, область 1) для регистра- ции пользователей в системе; набор закладок (рисунок 15, область 2) для смены мнемо- схемы технологического комплекса ОФ и дополнительных видеокад- ров в области основного фрейма; панель диагностики соединения с ПЛК (рисунок 15, область 3). В области нижнего фрейма расположена таблица алармов (ри- сунок 15, область 4) для отображения всех тревог и событий, сконфи- гурированных в системе, в реальном масштабе времени. В область основного фрейма первоначально, при загрузке среды исполнения WindowViewer, помещается мнемосхема промышленного комплекса ОФ, отображающая технологическое оборудование и схему материальных потоков. При необходимости в область основ- ного фрейма могут быть помещены дополнительные видеокадры: «Журнал событий», «Тренды». 47 Рисуно к 1 5 – Ста тическая м немос хема про мы ш ле нног о ко мпл екса ОФ 48 Дополнительный видеокадр «Журнал событий» (рисунок 16) используется для отображения архивной информации об авариях и событиях, зафиксированных в системе. Рисунок 16 – Дополнительный видеокадр «Журнал событий» Его вызов производится по нажатию на закладке с надписью «Журнал событий» в верхней части мнемосхемы (рисунок 15, область 2). При этом основной фрейм замещается дополнительным видеокадром «Журнал событий». На дополнительном видеокадре «Журнал событий» располо- жены следующие объекты: историческая таблица тревог и событий «AlmDbViewCtrl» (Wizard, ActiveX Control) (рисунок 16, область 1). В этот объект в табличной форме выводится перечень тревог и событий за указанный интервал времени; ниспадающий список «ComboBox» и календарь «DTPicker» (Wizard/ActiveX Installation) (рисунок 16, область 2). C помощью этих объектов задается интервал времени выборки; ниспадающий список «ComboBox» (Wizard/ActiveX Installation) (рисунок 16, области 3). Используется в качестве фильтра для вывода данных только по конкретному комплексу, группе агрегатов или агрегату; ниспадающий список «ComboBox» (Wizard/ActiveX Installation) (рисунок 16, области 4). Используется в качестве фильтра для вывода только тревог или только событий, или тревог и событий вместе; кнопка «Button». С помощью кнопки отправляется запрос к БД алармов и событий. 49 Дополнительный видеокадр «Тренды» (рисунок 17) использу- ется для отображения информации в виде графиков. Рисунок 17 – Дополнительный видеокадр «Тренды» Его вызов производится по нажатию на закладке с надписью «Тренды» в верхней части мнемосхемы (рисунок 15, область 2). При этом основной фрейм замещается дополнительным видеокадром «Тренды». На дополнительном видеокадре «Тренды» расположены следу- ющие объекты: панель отображения графиков «aaHistClientTrend» (Wizard/ActiveX Installation) (рисунок 17, область 1). На этом объекте отображаются графики (тренды) параметров технологического про- цесса; флажковые кнопки «CheckBox» (Wizard/ActiveX Installation) (рисунок 17, область 2). Используются для выбора тип тренда: реаль- ного времени или исторический; кнопки «Button», флажковые кнопки «CheckBox» (Wizard/ActiveX Installation) (рисунок 17, область 3). Используются для навигации по панели отображения графиков: перемещение, масштабирование, добавление и удаление курсоров; кнопки «Button», флажковые кнопки «CheckBox», ниспадаю- щие списки «ComboBox» (Wizard/ActiveX Installation) (рисунок 17, область 4). С их помощью осуществляется добавление, удаление трендов технологических параметров на панель отображения графи- ков. 50 3.2.3 Создание базы данных параметров технологического процесса Для эффективной работы мнемосхемы промышленного ком- плекса ОФ требуется использование следующих типов тегов: – внешние теги (I/O Tags): а) внешние дискретные теги (I/O Discrete Tags); б) внешние целочисленные теги (I/O Integer Tags); в) внешние вещественные теги (I/O Real Tags); – внутренние теги (Memory Tags): а) внутренние дискретные теги (Memory Discrete Tags); б) внутренние целочисленные теги (Memory Integer Tags); в) внутренние вещественные теги (Memory Real Tags); г) внутренние строковые теги (Memory Message Tags); – трендовые теги (Hist Trend Tags). Рассмотрим примеры их создания, конфигурирования и исполь- зования. Теги (переменные) БД технологического комплекса ОФ созда- ются и конфигурируются в среде разработки WindowMaker в словаре тегов Tagname Dictionary (рисунок 18). Рисунок 18 – Словарь тегов Tagname Dictionary в WindowMaker Создавать теги базы данных SCADA-системы можно: в автоматическом режиме; в ручном режиме. 51 В автоматическом режиме используется импорт переменных, например, из базы данных ПЛК. В этом случае конфигурирование параметров тегов минимально, так как большая часть параметров бу- дет сконфигурирована автоматически. Требуется лишь внести кор- рективы там, где это необходимо. В ручном режиме разработчик должен заполнить необходимые поля каждого тега (имя тега, тип, группа алармов, комментарий, хра- нение в предыстории, начальное значение, имя доступа, путь доступа, настройки алармов и т.д.) вручную, при этом временные затраты на создание и конфигурирование базы данных SCADA-системы значи- тельно увеличивается. Автоматический режим создания тегов, как правило, использу- ется для внешних тегов, ручной режим – для внутренних. Внешние теги (I/O Tags) используются для: – информационного отображения физических сигналов с ПЛК: а) дискретные сигналы (I/O Discrete Tags). Например, сигнал датчика схода ленты конвейера (рисунок 19), сигнал датчика верхнего уровня емкости, признак работы насоса и т.п.; б) аналоговые целочисленные сигналы (I/O Integer Tags). Например, сигнал датчика уровня, процент открытия задвижки, частота питателя и т.п.; в) аналоговые вещественные сигналы (I/O Real Tags). Напри- мер, показания конвейерных весов, сигнал датчика давления, ток двигателя и т.п.; – отправки команд диспетчера на изменение параметра техноло- гического процесса: а) дискретные команды (I/O Discrete Tags). Например, ко- манда диспетчера на плановый пуск технологического комплекса, команда диспетчера на пуск/останов технологического агрегата; б) аналоговые команды (I/O Integer Tags, I/O Real Tags). Например, задание процента открытия задвижки (рисунок 20), задание частоты питателя и т.п. – связи с внешними, по отношению к SCADA-системе, приложениями. Например, отсылка показаний по весам в суточный отчет, в приложение Excel, запись показаний датчика уровня в таб- лицу сторонней БД и т.п. 52 Рисунок 19 – Настройки тега dPLC2_K13_F24, связанного с датчиком схода ленты конвейера поз.13 Рисунок 20 – Настройки тега iPLC2_ZD16_POL_CO, связанного с за- данием процента открытия задвижки поз.16 53 Внутренние дискретные теги (Memory Discrete Tags) использу- ются для: – хранения значения флажковых кнопок «CheckBox» на видео- кадре «Тренды». Например, тег cbTypeTrend (рисунок 21) хранит в себе выбранный тип тренда: 0 соответствует тренду реального вре- мени, 1 – историческому тренду; – хранения значения о качестве соединения с ПЛК. Например, значение тега Connection_fauilure_plc1 равное 0 сигнализирует о нор- мальном информационном обмене с PLC1, значение 1 говорит о су- ществование проблем при обмене информации; – хранения значения о статусе выполнения запроса к БД. Напри- мер, значение тега Query020 равное 1 говорит об успешном выполне- нии запроса №20, 0 – запрос не выполнен. Рисунок 21 – Настройки тега cbTypeTrend Внутренние целочисленные теги (Memory Integer Tags) исполь- зуются для хранения: – значений текущего состояния технологических агрегатов (0 – Нет связи, 1 – Неготовность, 2 – Работа, 3 – Пуск, 4 – Авария, 5 – Стоп). Пример настроек тега Status015 для хранения текущего состо- яния конвейера поз.15 представлен на рисунке 22; – детальной информации о состоянии связи с ПЛК (0 – соедине- ние не установлено, причина неизвестна; 1 – соединение установлено, обмен идет в штатном режиме; 2 – соединение не установлено, про- блема конфигурации ПЛК; 3 – соединение не установлено, аппарат- ная проблема ПЛК; 4 – соединение не установлено, проблема линии связи; 5 – соединение установлено, обмен идет в нештатном режиме, 54 например, превышается время опроса); – информации о текущем режиме работы промышленного ком- плекса (0 – режим не выбран, 1 – режим «Автомат», 2 – режим «Ди- станция», 3 – режим «Местный»). Рисунок 22 – Настройки тега Status015 Внутренние вещественные теги (Memory Real Tags) хранят в себе показатели и параметры, рассчитанные в SCADA-системе, например, данные по массе, зольности, влажности и т.п. Внутренние строковые теги (Memory Message Tags) использу- ются для хранения в SCADA-системе записей в текстовом виде. Например, тег SostOF хранит в себе строку с текущим состоянием технологического комплекса ОФ: «Комплекс остановлен»; «Плановый пуск комплекса»; «Плановый останов комплекса»; «Работа комплекса»; «Неготовность технологического комплекса»; «Авария технологического комплекса»; «Экстренный стоп». 55 Запись соответствующих значений во внутренние теги (Memory Tags) осуществляется с помощью скриптов обработки событий. 3.2.4 Написание скриптов обработки событий При создании мнемосхемы промышленного комплекса ОФ со- здается большое количество скриптов. Это, например, скрипты ини- циализации, выполняющиеся при запуске WindowViewer и устанав- ливающие начальные значения тегов; скрипты-таймеры, выполняю- щиеся периодически; скрипты условия, запускающиеся при опреде- ленных соотношениях параметров. Наиболее показательными, с точки зрения демонстрации воз- можностей встроенного языка программирования SCADA-системы InTouch, являются: скрипты процедуры определение текущего состояния техноло- гических агрегатов; скрипты процедур выдачи команд на пуск/останов промышленного комплекса, технологических агрегатов; скрипты процедуры определения наличия/отсутствия связи с контроллерами. Рассмотрим подробно эти процедуры. Процедура определение текущего состояния технологического агрегата реализуется при помощи скриптов Data Сhange и Quick- Functions. Скрипт Data Сhange отслеживает изменение значения внешних дискретных тегов, характеризующих состояние агрегата, и вызывает скрипт QuickFunctions. В скрипте QuickFunctions реализован алго- ритм определения текущего состояния на основе приоритетов. В результате выполнения данной процедуры в тег, характеризу- ющий текущее состояние агрегата, записывается соответствующее значение. Например, процедура определения состояния конвейера поз.15 реализована следующим образом. 1. Скрипт Data Сhange. При изменении значения одного из внеш- них дискретных тегов, характеризующих состояние конвейера: (тег состояния неготовности – dPLC2_K15_F13, тег состояния пуска – dPLC2_K15_F14, тег состояния работы – dPLC2_K15_F15, тег состо- яния аварии – dPLC2_K15_F16), происходит вызов Quick функции qStatus015 (рисунок 23): CALL qStatus015(); 56 Рисунок 23 – Реализация скрипта Data Change процедуры определение текущего состояния агрегата 2. Скрипт QuickFunctions. Программа определения состояния конвейера поз.15, описанная в QuickFunctions qStatus015 (рисунок 24), выглядит следующим образом: IF dPLC2_K15_F16==1 THEN Status015=4; Status015s="Авария"; ELSE IF dPLC2_K15_F13==1 THEN Status015=1; Status015s="Неготовность"; ELSE IF dPLC2_K15_F15==1 THEN Status015=2; Status015s="Работа"; ELSE IF dPLC2_K15_F14==1 THEN Status015=3; Status015s="Пуск"; ELSE Status015=5; Status015s="Стоп"; ENDIF; 57 ENDIF; ENDIF; ENDIF; IF Connection_fauilure_plc2 == 1 THEN Status015=0; Status015s="Нет связи"; ENDIF; Рисунок 24 – Реализация скрипта QuickFunctions процедуры определение текущего состояния агрегата Формирование тега (Status015), характеризующего текущее со- стояние конвейера поз.15, основывается на последовательном анализе внешних дискретных тегов, получаемых SCADA-системой от ПЛК: признаки работы (dPLC2_K15_F15), аварии (dPLC2_K15_F16), него- товности (dPLC2_K15_F13), пуска (dPLC2_K15_F14). Приоритетным в формировании значения тега Status015 считается признак аварии, затем признак неготовности, далее признак работы, затем признак пуска. При нулевых значениях вышеуказанных признаков агрегат 58 считается находящимся в состоянии «Стоп». Признак «Нет связи» формируется при потере соединения с контроллером. Процедуры выдачи команд на пуск/останов промышленного комплекса, технологического агрегата реализуются при помощи скриптов Action-Touch Pushbuttons графических элементов кнопок Buttons и скриптов Condition. Для выдачи команды на плановый пуск/ плановый останов ком- плекса диспетчер нажимает на соответствующую кнопку «Плановый пуск»/«Плановый стоп» на мнемосхеме промышленного комплекса (рисунок 15), запуская связанный с ней скрипт. Для выдачи команды на пуск/останов агрегата диспетчер (опе- ратор) нажимает на соответствующую кнопку «Пуск»/«Останов» на всплывающем окне технологического агрегата (рисунок 25), запуская связанный с ней скрипт. Рисунок 25 – Всплывающее диагностическое окно «Грохот поз.16.5» Скрипт Condition отслеживает отсылку команды на пуск/останов в течение определенного промежутка времени (условие выполнения скрипта: While True), и по его истечении обнуляет команду во избе- жание «самоподхвата» (случайного запуска) комплекса/агрегата. Например, процедура пуска грохота поз.16.5 реализована сле- дующим образом. 1. По нажатию кнопки «Пуск» всплывающем диагностическом окне «Грохот поз.16.5» осуществляется выполнение скрипта Action- Touch Pushbuttons (рисунок 26): 59 dPLC2_OFF_GR16_5_CO=0; dPLC2_ON_ GR16_5_CO=1; Рисунок 26 – Реализация скрипта Action-Touch Pushbuttons процедуры выдачи команды на пуск технологического агрегата В первой строке скрипта: dPLC2_OFF_GR16_5_CO=0 осуществ- ляется обнуление команды на останов грохота поз.16.5. Данный шаг позволяет избежать одновременной посылки двух команд: на пуск и останов грохота. Во второй строке скрипта: dPLC2_ON_GR16_5_CO=1 произво- дится присвоение единицы тегу команды на пуск грохота поз.16.5. 60 2. Скрипт Condition отслеживает выполнение условия на пуск грохота dPLC2_OFF_GR16_5_CO ==1 (рисунок 27), отсчитывает 3 секунды и обнуляет тег команды на пуск: dPLC2_ON_GR16_5_CO=0. Рисунок 27 – Реализация скрипта Condition процедуры выдачи команды на пуск технологического агрегата Процедуры выдачи команд на плановый пуск/ плановый останов промышленного комплекса аналогичны описанной. Процедура определения наличия/отсутствия связи с контролле- ром реализуется при помощи скриптов Application, QuickFunctions, Data change, Condition. Поясним данную процедуру на примере определения нали- чия/отсутствия связи с контроллером PLC2. 1. Скрипт Application организует вызов процедуры qStatusPLC2() с периодом 5 секунд в течение всего времени работы среды исполне- ния WindowViewer, для этого используются параметры While running и Every = 5000 Msec (рисунок 28). 2. Скрипт QuickFunctions. Процедура qStatusPLC2() выглядит следующим образом (рисунок 29): IF iCount_PLC2 <> Count_PLC2_pt THEN Count_PLC2_pt =iCount_PLC2; Connection_fauilure_plc2 =0; ELSE Count_PLC2_pt =iCount_PLC2; Connection_fauilure_plc2 =1; ENDIF; 61 Рисунок 28 – Реализация скрипта Application процедуры определения наличия/отсутствия связи с контроллером Рисунок 29 – Реализация скрипта QuickFunctions процедуры определения наличия/отсутствия связи с контроллером Тег iCount_PLC2 является внешним целочисленным. Он связан с ячейкой памяти контроллера PLC2, при этом значение в ячейке изме- няется ПЛК периодически, например, раз в 500 мс. Тег Count_PLC2_pt является внутренним целочисленным. Он хранит в себе значение тега iCount_PLC2, считанного в предыдущий 62 момент времени – t-1. Запись в тег Count_PLC2_pt осуществляется на второй или пятой строке скрипта: Count_PLC2_pt =iCount_PLC2. Суть работы этого скрипта заключается в проверке равенства значений тега iCount_PLC2 в текущий (t) и предыдущий (t-1) мо- менты времени. Считается, что если значение тега iCount_PLC2 в те- кущий момент считывания (t) отличается от своего значения в предыдущий момент считывания (t-1), то есть iCount_PLC2 <> Count_PLC2_pt, то связь с контроллером присутствует – Connection_failure_plc2 =0. Если значение тега iCount_PLC2 не по- менялось («заморозилось»), то есть iCount_PLC2 == Count_PLC2_pt, то связь с контроллером отсутствует – Connection_failure_plc2 = 1. 3. Скрипт Data Сhange. Изменение тега Connection_failure_plc2, характеризующего наличие/отсутствие связи с PLC2 приводит к вы- зову процедуры qConnectionFailurePlc2 (рисунок 30): CALL qStatus0122( ); CALL qStatus0123( ); CALL qStatus013( ); CALL qStatus014( ); CALL qStatus014MN( ); CALL qStatus015( ); CALL qStatus016( ); CALL qStatus01611( ); CALL qStatus01612( ); CALL qStatus01623( ); CALL qStatus01624( ); CALL qStatus0165( ); CALL qStatus0166( ); CALL qStatus0167( ); CALL qStatus0168( ); CALL qStatus017( ); CALL qStatus018( ); CALL qStatus019( ); CALL qStatus0191( ); CALL qStatus019Motion( ); CALL qStatus022( ); CALL qStatus02251( ); Данный скрипт вызывает процедуры определения текущего со- стояния всех агрегатов, получающих данные из PLC2. В результате их выполнения агрегаты переходят в состояние «Нет связи» и окра- шиваются на мнемосхеме в белый цвет. 63 Рисунок 30 – Реализация скрипта Data Сhange процедуры определения наличия/отсутствия связи с контроллером 4. Скрипт Condition. При наличии в системе признака потери связи с контроллером (Connection_fauilure_plc2==1) более 20 секунд посредством скрипта Condition осуществляется переинициализация (попытка восстановления) связей с PLC2 (рисунок 31): IOReinitAccessName( "PLC2", 1); 3.2.5 Анимирование мнемосхемы промышленного комплекса обогатительной фабрики Обобщенное отображение информации о текущем состоянии аг- регатов промышленного комплекса ОФ осуществляется в соответ- ствии с признаками, формируемыми в САУ по результатам контроля, во-первых, посредством цветовой индикации мнемонического изоб- ражения этого агрегата или изменения взаимного положения элемен- тов агрегата (например, вращение крыльчатки вентилятора), во-вто- рых, текстом в поле информационного табло всплывающих окон: 64 Рисунок 31 – Реализация скрипта Condition процедуры определения наличия/отсутствия связи с контроллером серый цвет – агрегат выключен и готов к включению (состоя- ние «Стоп»); зеленый цвет - агрегат включен (состояние «Работа»); зеленый цвет мерцающий - агрегат находится в состоянии «Пуск»; желтый цвет – агрегат выключен и не готов к включению (со- стояние «Неготовность»); красный цвет – агрегат находится в состоянии «Авария»; белый цвет – информация о состоянии агрегата неизвестна («Нет связи»). Для примера рассмотрим варианты мнемонического отображе- ния конвейера (рисунок 32) и вентилятора (рисунок 33) при различ- ных состояниях. |