|
Разработка человеко-машинного интерфейса в GraphWorX32
строенные библиотека из более чем 150 алгоритмов обработки данных и управления в т. ч. фильтрация, PID, PDD, нечеткое, адаптивное, позиционное регулирование, ШИМ, управление устройствами (клапан, задвижка, привод и т.д.), статистические функции и произвольные алгоритмы;автоматическое горячее резервирование;поддержка единого сетевого времени;средства программирования контроллеров и АРМ на основе международного стандарта IEC 1131-3;более 200 типов форм графического отображения информации в т. ч. тренды, мультипликация на основе растровых и векторных изображений, ActiveX;просмотр архивной информации в реальном времени в т. ч. в виде трендов и таблиц;сеть на основе Netbios, NetBEUI, IPX/SPX, TCP/IP;обмен с независимыми приложениями с использованием OPC client/server, DDE/NetDDE client/server, SQL/ODBC, DCOM;автоматическое резервирование архивов и автовосстановление после сбоя;мониторинг и управление через Internet;полностью русифицирована;техническая поддержка на русском языке.Вышеописанные SCADA-системы являются популярными на рынке SCADA-систем. Но следующая SCADA-система GENESIS32, которая будет описана подробней в данной дипломной работе, на мой взгляд, является лидером.GENESIS32 является комплексом клиентских и серверных приложений, основанных на технологии OPC (OLE for Process control - технология связывания и внедрения объектов для промышленной автоматизации), которые предназначены для разработки прикладного программного обеспечения визуализации контролируемых параметров, сбора данных и оперативного диспетчерского управления в автоматизированных системах управления технологическими процессами. GENESIS32 является комплексом 32-разрядных приложений для Windows 98, Windows NT,Windows 2000, Windows XP и Windows Vista, построенных в соответствии со спецификацией OPC. Комплекс предназначен для создания программного обеспечения сбора данных и оперативного диспетчерского управления верхнего уровня систем промышленной автоматизации. В состав GENESIS-32 также входит среда разработки и исполнения сценарных процедур VBA, обеспечивающая возможность разработки части программного обеспечения средствами Microsoft Visual Basic for Applications 6.0 (Visual Basic для приложений), входящего в популярный пакет MS Office 2000. Все программные компоненты реализованы на базе многопоточной модели и поддерживают технологию ActiveX.Первый пакет, выпущенный фирмой для Windows в 1992 году - WinWorX - реализовал не все функции, необходимые для пакета программ класса SCADA. Фактически в него были включены все средства операторского интерфейса - динамическа графика, тренды, аварийные сообщения, рапорты, но не было собственно средств сбора и первичной обработки параметров процесса, а также автоматического управления. Эти задачи возлагались на пакет Genesis в версии для DOS, от которого по сети получал данные WinWorX. Обмен информацией шел в стандартном для Genesis'а протоколе, а специальная программа под Windows - DDE-сервер, приняв данные из сети, отдавала их WinWorX'у через стандартный уже для Windows протокол динамического обмена данными - DDE. Впрочем в качестве источника и приемника данных могли служить и любые другие Windows-программы, поддерживающие этот протокол. Реализованный подход дал возможность предложить средства, позволяющие организовать дополнительные сетевые рабочие места операторов, которые хотя и не связаны непосредственно с объектом, но функционально решают все задачи, необходимые для верхнего уровня системы. Для обеспечения успеха нового продукта на рынке, фирма установила на него невысокую цену, которая еще снижается при приобретении групповой лицензии (в 1,5 раза при приобретении лицензии на 6 рабочих мест и в два раза при приобретении лицензии на 12 рабочих мест, в последнем случае) (стоимость одного рабочего места оказывается ниже $1000, что существенно меньше, чем цена других известных на рынке продуктов аналогичного класса). Еще один маркетинговый шаг также повышал привлекательность WinWorX'а и уменьшал его стоимость - любой из модулей пакета, в случае, если на каком-либо из рабочих мест системы не нужны все его функции, можно приобрести отдельно (WinWorX Open Seriesa).Пакет GENESIS for Windows полностью решает вопросы автоматизации производства на всех уровнях АСУТП, он также позволяет просто и эффективно решить проблему взаимодействия АСУТП с АСУП. Graphworx является модульной системой, состоящей из полностью независимых приложений, взаимодействующих между собой в самой современной на сегодняшний день программной архитектуре клиент-сервер. При создании системы можно комбинировать модули GENESIS for Windows и любые другие Windows приложения. Клиенты получают информацию от серверов по программной магистрали передачи данных в реальном времени Talx Data Bus. Несмотря на то, что пакет программ Genesis for Windows состоит из многих модулей, он является интегрированной системой, которую пользователь воспринимает как единое целое благодаря наличию общей оболочки - менеджера проекта, а также благодаря возможности использования общих средств автоматического формирования сценария работы в каждом модуле, где они могут понадобиться.Прямые связи Graphworx с оборудованием управляются высокопроизводительным сервером реального времени (RTS), включающем в себя интерфейс драйверов ввода-вывода и функции контроля и управления. RTS сканирует ввод-вывод, вычисляет алгоритмы обработки сигналов, формирует сигналы тревоги и обслуживает все запросы на данные от приложений-клиентов. Благодаря использованию механизма приоритетной вытесняющей многозадачности обеспечивается гарантированное выполнение с заданным периодом наиболее критических функций, например обновление ввода-вывода. RTS работает с выбранным пользователем интервалом времени (50, 100, 250 миллисекунд, 1 или 2 секунды), прерывая на несколько миллисекунд работу Windows.Конфигуратор, с помощью которого для RTS задается программа работы в режиме реального времени, это уже зарекомендовавший себя в DOSовской версии мощный графический редактор языка функциональных блоков. Создание конфигурации сводится к рисованию потока обработки данных с помощью связанных между собой алгоблоков. Библиотечные алгоритмы размещаются на схеме в виде прямоугольников, выходы одних блоков связаны линиями со стрелкой в точке входа с другими блоками. Созданную схему можно экспортировать в формат AutoCAD'а и использовать затем, например, в качестве мнемосхемы. Кроме того имеется возможность экспорта в формат dBase и последующего импорта из этого формата, что позволяет использовать широко распространенные программы баз данных и электронных таблиц для редактирования конфигурации. Такая технологи создания конфигурации бывает особенно удобна при необходимости тиражирования множества однотипных блоков или при выполнении операций поиска и замены. Кроме входов и выходов блоки имеют имя и настроечные параметры. Библиотека содержит свыше 60 алгоритмов нескольких типов (ввод-вывод, первичная обработка сигналов, арифметика, математические функции, логика, регулирование, управление и др.). Именно обширная библиотека алгоритмов позволят использовать Graphworx как средство прямого программного управления.Приложения-клиенты обращаются к данным RTS, используя составное имя, включающее имя сетевого узла, имя конфигурации, имя блока и обозначение конкретного параметра в данном блоке. Сервер реального времени использует существующие, хорошо проверенные драйверы DOSовского GENESIS'а для интерфейса с полевым оборудованием.Рабочая станция GENESIS for Windows может быть связана с другими GENESIS с помощью модуля GEN-NET, позволяющего передавать по сети данные, файлы и аварийные сообщения. Удаленные узлы GENESIS действуют как независимые серверы данных, связанные с устройствами ввода-вывода. Все данные, содержащиеся в удаленном узле GENESIS, доступны в реальном времени дл приложений-клиентов. Такая распределенная система позволяет обрабатывать огромное количество данных, не перегружая отдельные станции. В некоторых системах бывает целесообразно для сбора и обработки данных выделить отдельные машины, которые могут не иметь операторского интерфейса - дисплея и клавиатуры ("слепой узел"). Тем самым одни узлы распределенной системы оказываются специализированы на функциях сбора и обработки информации (GEN-NODE - специальная, без графики, сетевая версия Genesis'а дл DOS), другие используются исключительно для функций операторского интерфейса. Как правило, такое построение системы бывает целесообразным, когда несколько операторов должны иметь доступ к одним и тем же данным с объекта. При этом изменение архитектуры системы практически не требует переделок конфигурации, поскольку драйверы устройств и конфигурация RTS полностью совместимы между GENESIS for Windows и GENESIS'ом для DOS, а ссылки на переменные связаны только с именами сетевого узла и его конфигурацииЕще один метод доступа к данным с объекта используют серверы ввода-вывода. Каждый сервер ввода-вывода обеспечивает интерфейс с каким-то одним типом оборудования, например с определенным типом логического или регулирующего контроллера какой-либо фирмы. Сервер ввода-вывода состоит из двух частей - конфигуратора и исполняемого модуля.Конфигуратор создает базу данных, совместимую со стандартом ODBC, для определения параметров ввода-вывода (имя, тип точки - аналоговый или дискретный, расположение данных в памяти, масштаб и многое другое). Совместимость с ODBC делает возможным экспорт информации в различные внешние базы данных, а также импорт данных из таких систем программирования контроллеров, которые поддерживают этот стандарт.Исполняемый модуль сервера ввода-вывода обеспечивает связь с драйверами, обновляет в реальном времени базу данных текущими значениями переменных и формирует сигналы тревоги при отклонениях параметров за заданные пределы. Данные могут обновляться как непрерывно (например, для контроля аварийного отклонения), так и по запросу от приложения-клиента. Такой гибкий подход позволяет серверу ввода-вывода одновременно обрабатывать тысячи точек.Сервер ввода-вывода работает как DDE-сервер, что позволяет использовать его не только в рамках GFW, но и как источник данных дл любых Windows-приложений, поддерживающих DDE.GENESIS for Windows поддерживает стандартный протокол динамического обмена данными - Windows Dinamic Data Exchange (DDE). Модуль DDEWorX в качестве DDE-клиента может получать данные от внешних программ и передавать их приложениям-клиентам GFW по внутренней программной магистрали передачи данных Talx Data Bus. Для связи с другими рабочими станциями Windows в сети используется NetDDE. GFW поддерживает определяемые пользователем списки DDE-имен, благодаря чему соединение осуществляется простым нажатием кнопки мыши. Не менее просто использование таких инструментов, как Cut and Paste (Вырезать и Вклеить); для установления связи достаточно этими стандартными функциями редактирования вставить имя переменной из внешнего приложения в GFW. При отладке системы возможен просмотр и фильтрация DDE вызовов, ошибок, сообщений и т.п.Модуль GraphWorX позволяет пользователю легко и быстро создавать динамические цветные экраны-мнемосхемы. Объектно-ориентированная графика дает возможность связать любой графический объект с технологическими параметрами процесса. Например, объект может одновременно менять цвет, размер и положение на экране в соответствии со значениями различных сигналов. Среди множества средств анимации изображения есть и мультипликация. Весь процесс создания мнемосхемы сводится к рисованию и заданию в диалоге динамических свойств изображения. При создании мнемосхемы используются ставшие уже привычными в Windows'овских программах последнего поколения плавающие инструментальные линейки, которые можно расположить в любом месте экрана.Изображение всей мнемосхемы или ее отдельных частей может быть скопировано из других Windows приложений, импортировано из AutoCAD или GENESIS for DOS. Также имеется библиотека таких часто используемых символов как задвижки, насосы, панели регуляторов и т.п. Любое изображение на экране можно сохранить в собственной библиотеке. Особенно удобно то, что наряду со статическими в библиотеках могут храниться и динамические символы. Как библиотеки символов, так и целые мнемосхемы могут использоваться без переделок в различных проектах, позволяя накапливать не только опыт работы с пакетом, но и готовые решения, тиражируемые во всех последующих системах.GraphWorX обеспечивает возможности конфигурирования непосредственно в режиме on-line, что обеспечивает отладку динамики мнемосхемы на реальных данных с объекта.Окно GraphWorX, как и любое окно системы Windows, имеет свойства изменения размера и перемещения по экрану, при этом, естественно, вся графика и тексты растягиваются пропорционально изменению масштаба без потери графической информации. Эта возможность позволяет Вам следить за процессом во время работы других программ или расположить на экране множество мнемосхем одновременно.В качестве элементов мнемосхемы могут быть использованы такие GFW-приложения, как TrendWorX и AlarmWorX. Во врем конфигурирования мнемосхемы доступны все конфигурационные возможности этих приложений, а в режиме реального времени меню управления просмотром тренда или буфера сообщений вызывается простым щелчком клавиши мыши на изображении тренда или списка сообщений.Данные из GFW могут передаваться другим Windows приложениям, таким как электронные таблицы, базы данных, VisualBASIC, С++ и др. Модуль DataSpy является DDE-сервером и с точностью до направления передачи информации функционально аналогичен описанному выше модулю DDEWorX. DataSpy совместим со стандартом встраиваемых документов OLE 2.0. Пользователь может создавать встраиваемые "документы", содержащие сотни опрашиваемых точек от DDE, RTS, Gen-Net, а также переменные сценариев. Все они могут быть не только прочитаны, но и изменены.GENESIS for Windows обладает возможностями написания сценариев дл выполнения вычислений, последовательностей команд и других интеллектуальных функций. Visual BASIC-совместимые команды позволяют Вам задать реакцию системы на события и действия оператора. По сценарию можно менять мнемосхемы, выдавать рапорты, считывать и записывать данные, просматривать тренды, квитировать аварийные сообщения и даже запускать мультимедийные клипы. Более 300 различных команд содержится в библиотеке. Выполнение сценария может начаться после нажатия оператором какой-либо кнопки на клавиатуре или экране, периодически и по событиям. Непрограммисты без труда создадут сценарий с помощью мощного Мастера Сценариев - модуля Script Wizard. Script Wizard сам генерирует сценарии на основе ответов пользователя на вопросы, предлагаемые ему в диалогах и меню. Доступ к созданию сценария возможен из приложений-клиентов GraphWorX, AlarmWorX, TrendWorX, а также из программы управления проектом. В сценариях поддерживаются глобальные переменные, которые могут быть определены в одном сценарии, а использоваться не только в нем, но и в любом другом, а также в мнемосхемах и трендах.Модуль разработки сценариев содержит полнофункциональные редактор и отладчик, работающие не только в режиме конфигурации, но и непосредственно в ON-LINE. В тексте сценариев можно использовать фрагменты программ, заимствованные из приложений, разработанных на языке Visual BASIC.GFW - модульный пакет, который может в конкретных применениях содержать различный набор модулей. Project Manager (Менеджер Проекта) объединяет их в единую интегрированную систему, в которой есть прямой доступ к любому приложению. Менеджер Проекта позволяет задать дл использования в режиме Runtime внешний вид экрана после старта пакета. Например, половину экрана может занимать мнемосхема, четверть - электронная таблица, а остальные запущенные приложения представлены в виде, свернутом до символизирующего их значка (иконки).Project Manager дает возможность задать для каждого из зарегистрированных в проекте операторов один из 256 уровней доступа к системе, а также определить объем прав для каждого из этих уровней. С помощью Менеджера Проекта можно определить доступные серверы и приложения, конфигурировать действия серверов данных, например, используемые ими базы данных, контролировать в режиме реального времени их состояние и т.д.GENESIS32 является комплексом клиентских и серверных приложений, основанных на технологии OPC (OLE for Process control - технология связывания и внедрения объектов для промышленной автоматизации), которые предназначены для разработки прикладного программного обеспечения визуализации контролируемых параметров, сбора данных и оперативного диспетчерского управления в автоматизированных системах управления технологическими процессами. GENESIS32 является комплексом 32-разрядных приложений для Windows 98, Windows NT,Windows 2000, Windows XP и Windows Vista, построенных в соответствии со спецификацией OPC. Комплекс предназначен для создания программного обеспечения сбора данных и оперативного диспетчерского управления верхнего уровня систем промышленной автоматизации. В состав GENESIS-32 также входит среда разработки и исполнения сценарных процедур VBA, обеспечивающая возможность разработки части программного обеспечения средствамиMicrosoft Visual Basic for Applications 6.0 (Visual Basic для приложений), входящего в популярный пакет MS Office 2000. Все программные компоненты реализованы на базе многопоточной модели и поддерживают технологию ActiveX. Основные возможности GENESIS32:соответствие стандартам OPC: ОРС Data Access 3.0, ОРС A&E 1.1, OPC HDA 2.0, OPC DX и OPC XML DA;поддержка OPC UA (Unified Archtechture);двусторонний обмен информацией с базами данных и электронными таблицами (MS Access, MS Excel, ORACLE, SQL Server, SAP и т.д.);единый навигатор данных, позволяющий одновременно получать доступ к текущим и историческим данным, тревогам, псевдонимам, базам данных.мощные средства визуализации;разработка сценариев на языках VBA 6.3, VBScript, JScript;поддержка технологий OLE и ActiveX;архивирование информации в открытых базах данных;средства анализа архивов: генерация отчётов в различных форматах и визуальное воспроизведение исторических данных: "обратная прокрутка" изображений, трендов и тревог с заданной скоростью, пошаговый просмотр, сравнение данных с "идеальной моделью", поиск критических событий и т.д.горячее резервирование узлов, серверов текущих и исторических данных, тревог, архивных баз данных, тегов ОРС;оперативное переключение источников данных;широкий набор графиков: зависимость от времени и от другой переменной, гистограмма, самописец, логарифмическая зависимость, круговая диаграмма. Отображениe на трендах текущих и исторических данных, значений из баз данных и электронных таблиц;оповещение персонала о событиях и тревогах, в том числе с помощью средств мультимедиа;широкие возможности построения распределённых систем, в том числе организация соединений Internet/Intranet. Передача данных ОРС с помощью транспортных протоколов TCP/IP и SOAP/XML. Кэширование данных, механизмы обработки нарушения связи и переключения на резервные серверы;поддержка интерфейса SNMP (Simple Network Management Protocol);средства управления проектами: ведение истории проекта, поиск и замена, Web-публикация, упаковка и развертывание, совместимость с пакетом Microsoft Source Safe, настройка параметров запуска проекта;переключение "на лету" языка пользовательского интерфейса проекта;система безопасности;установка прав пользователей на выполнение операций в приложениях проекта, доступ к файлам и элементам управления, к сигналам и тревогам, контроль исполнения сценариев, а также места и времени регистрации пользователей;контроль и регистрация действий оператора;предусмотрена возможность интегрирования с системными настройками безопасности, а также регистрация с помощью биометрических устройств;встроенные средства диагностики.4. Структура SCADA - системы GENESIS 32GENESIS 32 является комплексом 32-разрядных приложений для Windows 98, Windows NT, Windows 2000, Windows XP и Windows Vista построенных в соответствии со спецификацией OPC. Комплекс предназначен для создания программного обеспечения сбора данных и оперативного диспетчерского управления верхнего уровня систем промышленной автоматизации. В состав GENESIS 32 также входит среда разработки и исполнения сценарных процедур VBA, обеспечивающая возможность разработки части программного обеспечения средствами Microsoft Visual Basic for Applications 6.0 (Visual Basic для приложений), входящего в популярный пакет MS Office 2000. Все программные компоненты реализованы на базе многопоточной модели и поддерживают технологию ActiveX. В состав GENESIS 32 входят приложения соответствующие спецификации OPC, представленные в табл.1:Табл.1 Приложения, входящие в состав Genesis 32.|
Название приложения | Описание | | GraphWorX32 | GraphWorX32 объединяет средства разработки и просмотра графических мнемосхем, автоматизированных рабочих мест оператора АСУТП. | | TrendWorX32 | Даёт возможность высокопроизводительного построения графических зависимостей контролируемых параметров. | | AlarmWorX32 | Мощная подсистема обнаружения фильтрации и сортировки аварийных и других событий, связанных с контролируемым технологическим процессом и состоянием технических средств АСУТП. | | |
Указанные приложения могут заказываться и применяться как в составе комплекса, так и автономно. Кроме того, фирма ICONICS поставляет дополнительные приложения и инструментальные средства разработки приведённые в табл.2: Табл.2 Дополнительные приложения и инструментальные средства разработки, поставляемые фирмой ICONICS |
Название доп. приложения | Описание | | ScriptWorX32 | Позволяет выполнять одновременно вычислительные операции и любые другие действия, доступных в языке программирования VBA. | | AlarmWorX32 Multimedia | Мультимедийное приложение, которое предназначено для локального и удаленного оповещения оперативного персонала об аварийных и других событиях, связанных с контролируемым технологическим процессом и состоянием технических средств АСУТП. | | WebHMI | Осуществляет просмотр графических мнемосхем контролируемого технологического процесса в глобальной сети Internet или в корпоративной Intranet. | | DataWorX32 | DataWorX32 является OPC-сервером, который предназначен для организации единого моста между множеством клиентских и серверных компонентов системы. | | Библиотека символов Symbols32 Library | Набор символов, с помощью которых строится мнемосхема. | | ICONICS GEN-OPC Сервер | Обеспечивает интерфейс OPC между приложениями. | | OPC ToolWorX | Является инструментальным средством быстрой разработки серверов и клиентов OPC. | | ActiveX ToolWorX | Предназначен для быстрой разработки управляющих элементов Activex. | | | 4.1 GraphWorX32GraphWorX32 объединяет средства разработки и просмотра графических мнемосхем, автоматизированных рабочих мест оператора АСУТП. Мнемосхемы (экранные формы) могут создаваться как на основе встроенных средств рисования, так и управляющих элементов ActiveX других производителей. Алгоритмы вторичной обработки данных и процедуры управления экранными формами могут разрабатываться в интегрированной среде разработки и исполнения сценариев Visual Basic для приложений (VBA). GraphWorX32 является инструментальным средством, предназначенным для визуализации контролируемых технологических параметров и оперативного диспетчерского управления на верхнем уровне АСУТП, который полностью соответствует требованиям к клиенту OPC и поддерживает технологии ActiveX и OLE. Основные характеристики GraphWorX32:многопоточное 32-разрядное приложение;возможность обмена данными с любыми серверами OPC;мощные инструменты для создания экранных форм и динамических элементов отображения;возможность встраивания элементов управления ActiveX и объектов OLE;встроенная среда редактирования сценарных процедур Microsoft Visual Basic for Applications;динамизация элементов отображения со временем обновления графической информации 50 мс;поддержка шаблонов экранных форм, содержащих наиболее часто используемые слои графических объектов;возможность встраивания в HTML страницы и другие контейнеры OLE (MS Word, MS Excel, MS Access и др.);возможность просмотра браузерами Интернет, такими как MS Internet Explorer;обширная библиотека элементов отображения, ориентированных на построение мнемосхем промышленных объектов;возможность встраивания графиков TrendWorX32 и экранов AlarmWorX32;средства импорта графических метафайлов (WMF) и растровых изображений (BMP);публикация экранных форм в глобальной сети Интернет;встроенный редактор выражений для выполнения математических, функциональных, логических и других операций над данными.4.2 TrendWorX32TrendWorX32 представляет отрытое решение по высокопроизводительному построению графических зависимостей контролируемых параметров. Поддерживает спецификацию OPC доступа к историческим данным (OPC HDA), устанавливающую требования к подсистеме извлечения и представления исторических данных из баз данных архива. Пакет TrendWorX32 обеспечивает накопление и представление текущих данных в виде графических зависимостей от времени. Кроме того, TrendWorX32 является мощным средством архивации накапливаемой информации в базах данных с возможностью последующего извлечения и просмотра на графиках. Полностью соответствует спецификациям OPC доступа к текущим и историческим данным. Основные функциональные возможности TrendWorX32: представление значений контролируемых параметров, получаемых от серверов OPC, на графиках различных типов в реальном масштабе времени; архивирование значений контролируемых параметров в базах данных MS Access, MS SQL Server, Oracle, Microsoft Data Engine; генерация отчетов на основе данных архива и публикация отчетов в Интернет; вычисление статистических характеристик выборок значений контролируемых параметров; извлечение значений контролируемых параметров из архивов и представление в виде графиков различных типов; вывод графиков на печатающее устройство; разработка и исполнение сценарных процедур на встроенном Visual Basic для приложений; возможность вставки элементов просмотра графиков TrendWorX32 ActiveX в различные контейнеры ActiveX; встроенное средство генерации отчетов в базах данных и MS Excel.4.3 AlarmWorX32AlarmWorX32 мощная подсистема обнаружения, идентификации, фильтрации и сортировки аварийных и других событий, связанных с контролируемым технологическим процессом и состоянием технических средств АСУТП. AlarmWorX32 является набором программных компонентов, предназначенных для обнаружения аварийных событий, оповещения оперативного персонала, приема подтверждений восприятия информации об аварийных событиях и регистрации информации об авариях в базе данных. Основные функциональные возможности AlarmWorX32:обнаружение аварийных событий по множеству признаков и критериев, настраиваемых пользователем;передача информации об обнаруженных авариях клиентским приложениям, расположенным на разных узлах локальной или глобальной сети;анализ аварийных событий и действий ответственного персонала;объединение всех аварийных событий и подтверждений восприятия системных сообщений ответственным персоналом в сводки аварийных событий;отображение вспомогательной информации для аварийных событий, позволяющей локализовать и устранить причины аварии;связь с аппаратными средствами системы через интерфейсы OPC;возможность запуска сервера обнаружения аварий в качестве сервисного процесса (службы) Windows NT;мощное средство конфигурирования условий аварийных событий;встроенная среда редактирования сценарных процедур Microsoft Visual Basic for Applications.4.4 ScriptWorX32ScriptWorX32 одновременное выполнение вычислительных операций и любых других действий, доступных в языке программирования VBA, управление базами данных, формирование отчетов и заданий. ScriptWorX32 является мощных средством разработки и исполнения сценарных процедур Microsoft Visual Basic for Applications (VBA) версии 6.0. ScriptWorX32 содержит мультизадачную среду параллельного исполнения сценариев с поддержкой симметричных многопроцессорных архитектур. VBA сценарии, разрабатываемые пользователем, могут выполнять операции обмена данными с серверами OPC. Основные функциональные возможности ScriptWorX32: многопоточное 32-разрядное приложение; возможность работы в операционных системах Windows NT,98/2000/XP; контейнер сценариев VBA 6.0; visual Basic for Applications 6.0 входит в установочный комплект; одновременное исполнение сценариев VBA 6.0; ускорение разработки сценариев при помощи Мастера сценариев; исполнение сценариев по расписанию или периодически; исполнение сценариев при выполнении условий, вычисляемых на основе значений тегов OPC-серверов; исполнение сценариев по событиям от серверов OPC Alarms and Events (серверов системных и аварийных событий OPC); диагностика текущих состояний сценариев; возможность компиляции сценариев в многопоточные библиотеки динамической компоновки (DLL); наличие глобальных сценариев для интеграции с другими приложениями; открытый интерфейс OLE Automation.4.5 DataWorX32DataWorX32 сервер организации единого централизованного списка контролируемых параметров с возможностью создания глобальных переменных, доступных всех клиентским приложениям программного комплекса, а также обладающий механизмом резервирования серверов OPC. DataWorX32 является OPC-сервером, который предназначен для организации единого моста между множеством клиентских и серверных компонентов системы. Основные функциональные возможности DataWorX32:централизация параметров контролируемого процесса, обслуживаемых множеством серверов OPC, в едином списке;оптимизация запросов множества клиентов OPC к одним и тем же параметрам в разных серверах OPC;организация списка глобальных переменных с возможностью непосредственного обмена данными между клиентскими приложениями GENESIS32;возможность выполнения арифметических, функциональных, логических и других операций над глобальными переменными;возможность оперативного изменения привязки глобальных переменных к источникам данных в серверах OPC;резервирование серверов OPC на узлах локальных и глобальных сетей с автоматическим перенаправлением запросов клиентских приложений в случае выхода из строя основных узлов.4.6 WebHMIWebHMI средство просмотра графических мнемосхем контролируемого технологического процесса в глобальной сети Internet и/или в корпоративной Intranet. WebHMI предназначен для предоставления данных и графической информации о контролируемом технологическом процессе любого клиентского приложения комплекса GENESIS32 любому компьютеру, на котором установлен браузер Интернет Microsoft Internet Explorer. WebHMI основывается на архитектуре Microsoft DNA и использует технологии ActiveX и DCOM. Помимо просмотра информации о контролируемом процесса WebHMI обеспечивает возможность оперативного диспетчерского управления, что позволяет строить недорогие распределенные системы верхнего уровня. Основные функциональные возможности WebHMI:возможность работы в операционных системах Windows NT,98/2000/XP;тонкий Web-клиент позволяет использовать на операторских станциях бесплатный Microsoft Internet Explorer для просмотра графических мнемосхем контролируемого процесса;работа с графической информацией и данными GENESIS32 с "НУЛЕВОЙ инсталляцией" на операторских станциях;публикация управляющих элементов ActiveX и HTML-страниц;требует наличия Microsoft Internet Explorer 4 или 5;передача данных OPC через Интернет;администрирование действий пользователей и приложений на уровне NT.4.7 AlarmWorX32 MultimediaAlarmWorX32 Multimedia является мультимедийным приложением, поддерживающим технологию OPC, которое предназначено для локального и удаленного оповещения оперативного персонала об аварийных и других событиях, связанных с контролируемым технологическим процессом и состоянием технических средств АСУТП.В состав AlarmWorX32 Multimedia входит набор агентов оповещения, позволяющих выполнять следующие оповещающие действия:отправка сообщений об аварийных событиях на пейджеры (имеется поддержка технологии SMS);взаимодействие с пейджерами в дуплексном режиме;отправка сообщений по электронной почте;отправка сообщений по факсу;речевое оповещение посредством технологии преобразования текста в речь;речевое оповещение при помощи воспроизведения звуковых файлов в формате wav;видеооповещение путем воспроизведения видеороликов и отображения фотоснимков, оцифровка видеоинформации, поступающей от видеокамер;оповещение во всплывающих окнах;оповещение путем вывода сообщений в окне бегущей строки (Marquee);оповещение бегущей строкой, выводимой во внешние устройства, подключенные к последовательному порту компьютера или к локальной вычислительной сети;оповещение посредством отправки мгновенных сообщений через агента MS Instant Messaging;работа с Конфигуратором сервера оповещения AlarmWorX32 существенно облегчается наличием в составе системы Мастера конфигураций, а также интерактивного учебного пособия Icon-Nick Tutorial.4.8 Менеджер экрана Sreen ManagerМенеджер экрана является сервисной программой, которая позволяет управлять расположением окон приложений на экране компьютера. Менеджер экрана обеспечивает возможность задания конфигурации экранов одного и более мониторов для систем с несколькими мониторами.4.9 DataSpyDataSpy является сервисной программой, которая предназначена для проверки работоспособности серверов OPC, расположенных на локальном и удаленных компьютерах. DataSpy позволяет проверять совместимость со спецификацией серверов OPC Data Access версий 1.0 и 2.0, а также OPC Alarms and Events 1.0.4.10 Dr. DCOMDr. DCOM является сервисной программой, которая облегчает настройку взаимодействия удаленных клиентов и серверов OPC через DCOM. Dr. DCOM обеспечивает поиск удаленных серверов, подключение к ним и тестирование вызовов интерфейсов OPC.4.11 Сервер администрирования Security ServerСервер администрирования предназначен для управления доступом пользователей и групп пользователей к функциям приложений, входящих в состав GENESIS32. Конфигуратор сервера администрирования позволяет создавать учетные записи для пользователей и групп пользователей с последующим ограничением или разрешением доступа к множеству операций в приложениях GENESIS32. Имеется возможность задания следующих ограничений:ограничение доступа к файлам;запрещение записи значений в теги OPC;вход пользователя в систему на ограниченный промежуток времени;вход пользователя в систему только на определенных станциях сети;управление политикой учетной записи по аналогии с принятой в Windows NT/2000;ограничение доступа к использованию конфигураторов GENESIS32;ограничение доступа к выполнению множества операций в приложениях GENESIS32.4.12 GEN-OPC серверGEN-OPC сервер обеспечивает интерфейс OPC между приложениями комплекса GENESIS for Windows 3.51 в существующих системах и клиентскими приложениями GENESIS32, что позволяет сохранить вложения пользователей и безболезненно перейти на новую версию продукта. 4.13 ActiveX ToolWorXActiveX ToolWorX предназначен для быстрой разработки управляющих элементов ActiveX, являющихся клиентами OPC, с возможностью последующего использования в приложениях-контейнерах, подобных GraphWorX32.4.14 OPC ToolWorXOPC ToolWorX имеет в своем составе мастер для автоматической генерации кода клиентов и серверов OPC в среде MS Visual C++ на базе примера полнофункционального OPC-сервера для протокола Modbus, а также тестовое клиентское приложение. OPC ToolWorX является инструментальным средством быстрой разработки серверов и клиентов OPC, который позволяет производителям серийного оборудования для промышленной автоматизации в кратчайшие сроки перейти к использованию наиболее передовой технологии обмена данными и обслуживания устройств в среде Windows. OPC ToolWorX содержит комплекты разработки серверов и клиентов OPC. Каждый комплект имеет в своем составе примеры исходных текстов двух серверов OPC, документацию, тестовое клиентское приложение, а также средство генерации интерфейсов диспетчеризации OLE Automation с тестовым примером на Visual Basic. Основные функциональные возможности OPC ToolWorX:модель свободных потоков;DLL автоматизации OLE;мастера для генерации приложений Visual C++;навигатор тегов OPC;одновременная поддержка спецификаций OPC Data Access и OPC Alarms and Events;возможность создания внутри задачных серверов для Windows CE.5. Среда разработки мнемосхем Graphworx 32Графические мнемосхемы автоматизированных рабочих мест оператора, называемые экранными формами, разрабатываются при помощи GraphWorX32 и сохраняются в файлах экранных форм, имеющих расширение *. GDF.Экранные формы могут включать в себя элементы просмотра графиков текущих и исторических данных TrendWorx32 Viewer ActiveX, элементы просмотра событий и тревог AlarmWorx32 Viewer ActiveX и элементы просмотра архива событий AlarmWorx32 Reporter ActiveX. Конфигурирование указанных элементов просмотра может выполняться как в самом GraphworX32, так и в многооконных контейнерах TrendWorX32 и AlarmWorX32 соответственно. Подсистема обнаружения и обработки событий строится на базе Конфигуратора сервера аварийных событий AlarmWorX32. Единый список переменных проекта может быть создан средствами DataWorX32, который не входит в комплект поставки GENESIS32 и должен заказываться отдельно. При этом обеспечивается возможность структуризации глобальных переменных путем перемещения их в отдельные многоуровневые группы, а также выполнения простых вычислительных операций над переменными.Вторичная обработка данных и другие пользовательские алгоритмы могут выполняться в многопоточных сценариях VBA 6.0, разработка и исполнение которых осуществляется при помощи ScriptWorX32. Отдельные сценарии группируются в проект ScriptWorX32, который компилируется в многопоточную библиотеку динамической компоновки (DLL). Подсистема архивации данных реализуется на основе стандартных СУБД (MS Access, MS SQL Server, Oracle или Microsoft Data Engine), а также сервера архивации данных TrendWorx32 SQL Data Logger и сервера архивации событий AlarmWorX32 Logger. Извлечение информации из архива TrendWorx32 SQL Data Loggerможет выполняться при помощи элемента просмотра графиковTrendWorx32 Viewer ActiveX, генератора отчётов TrendworX32 Reporting, сценариев ScriptWorX32 или приложений, написанных на Visual Basic, Visual C++, C++ Builder с использованием интерфейсов OLE DB. Все компоненты комплекса открыты через интерфейс OLE Automation. Это значит, что каждое из приложений GENESIS32 может быть встроено в любую имеющуюся или создаваемую программную систему, разработка которой ведётся с использованием инструментальных средств общго назначения, подобных Visual C++, Visual Basic, Delphi, C-builder и т.п.Внешний вид главного окна Graphworx32 с его основными компонентами, включая панель инструментов, набор инструментов рисования, упорядочивания, шрифтов и динамики, показан на рис.11.Рис.9. Внешний вид главного окна GraphWorX326. Создание мнемосхемы модели дискретно-непрерывного технологического процессаДля создания данной мнемосхемы необходимо чётко поставить задачу. Предполагается, что имеется два компонента: CompА и CompB, которые могут быть смешаны друг с другом в определённой пропорции. После смешивания будет происходить отгрузка готового продукта. Предположим, что компоненты CompA и CompB являются жидкостями. Подача жидкости CompA в смесительный резервуар будет управляться задвижкой ValveA. Подача жидкости CompB будет управляться задвижкой ValveB. Задвижки ValveA и ValveB имеют два положения: Открыта и Закрыта. Запуск технологического процесса производится нажатием кнопки “Пуск". В смесительном резервуаре имеются 3 лопастных смесителя, расположенных на разных уровнях. Включение смесителя Mixer 1 происходит при достижении 30% -ного наполнения резервуара. Смеситель Mixer 2 включается при 50% -ном наполнении резервуара. Смеситель Mixer 3 включается при уровне наполнения, равном 70%. Остановка смесителей происходит при понижении уровня наполнения до соответствующих отметок включения. Цвет изображений смеси будет изменяться по мере смешивания. Насос Pump1 будет использоваться для отгрузки приготовленной смеси. Производительность насоса равна производительности. эквивалентной подаче жидкости в резервуар через одну задвижку.6.1 Создание статических объектов мнемосхемыДля создания статических объектов мнемосхемы будет использована встроенная библиотека символов.Рис.10 Главное окно библиотеки символовДля данной мнемосхемы необходима категория символов под названием TrainingClass. sdf. Из этой категории выбираем нужные символы и переносим на мнемосхему, образуя нужную модель, показанную на рис.11.Рис.11 Расположение статических объектов из Библиотеки символов на мнемосхеме6.2 Создание анимационных объектовВ данном пункте будет описано представление изменяющегося уровня в резервуаре. Для этого следует копировать изображение разреза в стенке резервуара. Одно из этих изображений следует перекрасить в чёрный цвет для эффекта пустоты в резервуаре. Изображение чёрного цвета нужно поместить на задний план, а поверх его наложить его копию синего цвета для эффекта заполнения резервуара. Затем к этому изображению применяется динамика изменения размера. В поле источника данных заведётся переменная ~~tank~~, значение которой будет определять степень заполнения резервуара.6.3 Создание имитации наполнения/опустошения резервуараНиже будет описана настройка динамического действия для графического объекта Switch On создаваемой мнемосхемы. Как следует из названия, данный графический объект представляет переключатель с двумя фиксируемыми положениями и служит для запуска дискретно-непрерывного процесса. После выполнения однократного щелчка левой клавишей мыши над объектом Switch on (переключатель зелёного цвета), переключатель перейдёт во включённое положение и будет происходить загрузка значений в локальную переменную ~~tank~~.Данный алгоритм будет иметь следующие свойства:уровень в резервуаре будет установлен в 0, если значение переменной ~~tank~~ станет меньше 0;если уровень в резервуаре больше либо равен 0, при одновременном равенстве 1 сигнала запуска процесса то уровень в резервуаре будет представляться следующей формулой:Уровень = Текущий уровень + ICONICS. Simulator.1\diplom. dip. bool. out1 + ICONICS. Simulator.1\diplom. dip. bool. out2 - отгрузка, где: ICONICS. Simulator.1\diplom. dip. bool. out1 = 1, если задвижка ValveA (расположена слева от резервуара) открыта (CompA поступает в резервуар)ICONICS. Simulator.1\diplom. dip. bool. out1 = 0, если задвижка ValveA (расположена слева от резервуара) закрыта (CompA не поступает в резервуар)ICONICS. Simulator.1\diplom. dip. bool. out2 = 1, если задвижка ValveB (расположена справа от резервуара) открыта (CompB поступает в резервуар)ICONICS. Simulator.1\diplom. dip. bool. out2 = 0, если задвижка ValveB (расположена справа от резервуара) закрыта (CompB не поступает в резервуар)Отгрузка = 1, если отгрузочный насос включён; Отгрузка = 0, если отгрузочный насос выключен.Для реализации построенного алгоритма необходимо завести нужные переменные, приведённые ниже в табл.3:Табл.3 Описание переменных, необходимых для создания дискретно-непрерывного процесса|
Имя переменной | Тип | Описание | | ICONICS. Simulator.1\diplom. dip. start | Boolean | Сигнал запуска процесса | | ~~tank~~ | Double | Уровень в резервуаре (в диапазоне от 0 до 1000см) | | ICONICS. Simulator.1\diplom. dip. bool. out1 | Boolean | Положение задвижки ValveA | | ICONICS. Simulator.1\diplom. dip. bool. out2 | Boolean | Положение задвижки ValveB | | ~~disch~~ | Boolean | Положение отгрузочного насоса | | |
Для создания этих переменных будет использоваться OPC-сервер имитации сигналов OPC Simulator из программной группы ICONICS Genesis-32. Для данной мнемосхемы будет создана отдельная группа тегов, названная diplom. dip. В нужной группе создаются нужные теги и конфигурируются на усмотрение пользователю. Рис.12 Добавление набора тегов в OPC-сервере имитации сигналов Теперь, когда есть нужные переменные можно перейти непосредственно к созданию имитации заполнения/опустошения резервуара. Для этого нужно выделить изображение Swtich On и в панели “Динамика" выбрать свойство “Указание и щелчок мышью". После чего на экран монитора будет выведена диалоговая панель “Инспектор свойств" с выбранной закладкой “Указание и щелчок". В выпадающем списке “Операция" следует выбрать действие “Передать значение". Рис.13 Внешний вид страницы “Указание и щелчок” диалоговой панели “Инспектор свойств" после выбора операции “Передать значение” В выпадающем списке “Тип” следует выбрать “С фиксацией”. Если выбрать тип без фиксации, тогда элемент Switch On будет подавать 1 (или True) на зависимые от него переменные (под словом зависимые следует понимать то, что элемент Switch on управляет всей моделью, то есть если он включен, то процесс может работать, а если выключен то процесс остановится) только при нажатии левой кнопкой мыши. Получается, что весь процесс будет работать лишь в момент нажатия клавишей мышью Switch On. Поэтому следует выбрать тип “С фиксацией" (фиксация позволяет зафиксировать положение/значение элемента до тех пор, пока пользователь не изменит положение/значение этого элемента). Теперь если нажать левой клавишей мыши на элемент Switch On, то он станет 1 (или True) до тех пор, пока пользователь не остановит процесс, тем самым изменив True на False. В группе параметров “Порядок выполнения” отмечается флажок “Пока нажато”, после чего в поле “Интервал" устанавливается значение 50 мс (это значит, что в переменную будет записываться значение раз в 50 мс). Источником данных будет являться локальная переменная ~~tank~~. После настройки параметров остаётся ввести выражение, которое будет отображать описанный ваше алгоритм. Для этого в инспекторе свойств есть меню “Редактор выражений”. При вызове редактора выражений будет выведена диалоговая панель, в которую и будет введёно выражение. Выражение выглядит так: X= (if (~~tank~~>1000,1000,~~tank~~ + {{ICONICS. Simulator.1\diplom. dip. start}}*{{ICONICS. Simulator.1\diplom. dip. bool. out1}}+{{ ICONICS. Simulator.1\diplom. dip. start}}* {{ICONICS. Simulator.1\diplom. dip. bool. out2}} - {{ICONICS. Simulator.1\diplom. dip. start}} * ~~disch~~)) * (if (~~tank~~<0, 0,1)) Далее следует установить соединение между положением переключателя Switch On и переменной ICONICS. Simulator.1\diplom. dip. start. Для этого необходимо выбрать инструмент “Указание и щелчок мышью". В появившейся диалоговой панели, в списке “Операция" нужно выбрать “Передать значение” и в поле “Значение" поставить 1. Далее переключатель Switch On будет настроен таким образом, что в режиме исполнения он будет видимым только в случае, если дискретно-непрерывный процесс остановлен. Для этого нужно выделить элемент Switch On и выбрать инструмент “Скрыть/блокировать" в панели “Динамика”. На экран будет выведена диалоговая панель, которой в качестве источника данных будет переменная ICONICS. Simulator.1\diplom. dip. start и указываем параметр “Скрыть/блокировать, если true”. Получается, что если переменная ICONICS. Simulator.1\diplom. dip. start будет равна 1, то объект Switch On не будет видимым в режиме исполнения. Теперь, когда настроен элемент Switch On, нужно настроить другой элемент - Switch Off, который предназначен для остановки процесса. Переключатель Switch Off должен быть видимым только в случае, если процесс запущен. В то же время щелчок левой клавишей мыши на данном переключателе должен приводить к сбросу в 0 значение переменной ~~tank~~. Выделяем объект Switch Off и используем инструмент “Указание и щелчок мышью" в панели “Динамика”. В появившемся окне нужно выбрать операцию Передать значение и в поле Порядок выполнения необходимо указать Если отпущено. Источником данных будет переменная ICONICS. Simulator.1\diplom. dip. start и в поле значение указываем 0. Снова выделяем объект Switch Off и выбираем инструмент “Скрыть/блокировать" в инструментальной панели “Динамика”. В инспекторе свойств с выбранной закладкой “Скрыть" нужно выполнить нужную настройку. Источником данных выбираем ICONICS. Simulator.1\diplom. dip. start и выбираем опцию “Скрыть/блокировать, если False". Теперь когда все настройки с элементами Switch On и Switch Off, следует наложить их друг на друга для динамического эффекта. 6.4 Создание элемента отображения уровня в резервуареВыбираем инструмент “Численное отображение параметра" в инструментальной панели “Динамика”. В появившейся диалоговой панели в поле Источник данных следует указать локальную переменную ~~tank~~. Теперь уровень в резервуаре будет отображаться не только графически, но и в текстовом виде.6.5 Настройка анимации для изображения миксеровКаждое изображение миксера в зависимости от значения уровня в резервуаре должно представлять одно из двух состояний: включён или выключен. Во включённом состоянии лопасть миксера должна вращаться. Данный визуальный эффект создаётся при помощи динамического действия “Анимация". Изображение лопасти каждого миксера, вставленного из библиотеки символов, состоит из графических объектов.Рис.14 Составные части изображения лопасти миксераВсе эти элементы данного объекта в итоге будут представлять анимацию. Для начала следует выделить лопасть миксера и разгруппировать его при помощи инструмента “Разгруппировать” в инструментальной панели “Расположение". После данной операции необходимо выделить торец миксера и выдвинуть его на передний план. После этого нужно выделить всё изображение лопасти и выбрать инструмент “Анимация" в инструментальной панели “Динамика”. Во всплывшем окне инспектора свойств с выбранной закладкой “Анимация" нужно в редакторе выражений ввести следующее выражение: X= (~~tank~~>300) && {{ICONICS. Simulator.1\diplom. dip. start}}. Благодаря данному выражению нижняя лопасть миксера будет вращаться, когда переменная ~~tank~~ (уровень в резервуаре) будет больше 300, но при условии, что переменная ICONICS. Simulator.1\diplom. dip. start будет равна 1 (то есть если процесс включён). Так же в инспекторе свойств следует отметить опцию “Анимация, если true". Порядок смены кадров будет равным 50 мс. Так же следует установить опцию “Видимый, если выкл” и “Первый кадр, если выкл”.Рис.15 Настройка свойств динамического действия Анимация для изображения лопастиЗатем для упрощения процесса делаем ещё 2 копии настроенных лопастей и размещаем выше оригинальной лопасти. В итоге получится миксер, состоящий из 3 лопастей.Рис.16 Размещение изображений лопастей на осиДалее следует вызвать инспектор свойств средней лопасти с вкладкой “Анимация" и в выражении, находящемся в поле Источник данных изменить 300 на 500, в результате чего формула будет иметь следующий вид: X= (~~tank~~>500) && {{ICONICS. Simulator.1\diplom. dip. start}}.После этого нужно проделать аналогичную операцию с верхней лопастью, но 300 заменить на 700: X= (~~tank~~>700) && {{ICONICS. Simulator.1\diplom. dip. start}}.После всей проделанной работы в итоге получилась мнемосхема, показанная на рис.17.Рис.17. Мнемосхема дискретно-непрерывного процессаЗаключениеВ данной дипломной работе речь шла не только о распространении автоматизации во многие сферы человеческой деятельности, но и о том, какую важную роль играет человеко-машинный интерфейс в этой автоматизации. Мною были представлены самые популярные SCADA-системы на современном рынке. Но детально описана была SCADA-система Genesis-32, так как именно в этой системе была сделана данная дипломная работа. Так же в ходе выполнения дипломной работы была создана модель дискретно-непрерывного процесса.Список литературы1. www.prosoft.ru 2. www.asutp.ru 3. www.iconics.com 4. Джеф Раскин “Интерфейс: новые направления в проектировании компьютерных систем” (Символ-плюс, 2005). 5. Fastwel SD Dept “Руководство пользователя ICONICS GraphWorX32" (19.05.2000). 6. Fastwel SD Dept “Начальные сведения и ускоренное ознакомление с основными подсистемами ICONICS GraphWorX32" (10.06.1997)
Страницы: 1, 2
|
|