Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Задание 2. Создание экрана управления реактором–смесителем.




Лабораторная работа №2

Создание экрана управления в GraphWorX32

Цель:

- изучение основных форм и объектов, различных видов действий, необходимых для создания экрана оператора в приложении GraphWorX32;

- получение навыков работы с инструментами GraphWorX32 на примере разработки экрана оператора системы управления реактором-смесителем.

Основные формы и объекты GraphWorX32

При открытии экранных форм в режиме разработки можно добавлять формы и объекты, включая растровые рисунки, маркировки и т.д. Для отображения данных от различных ОРС источников GraphWorX32 использует векторную графику.

Имеются следующие основные графические формы, расположенные на панели инструментов Draw (Рисование): Прямая линия (Straight Line), Дуга (Arc), Полилиния (Segmented Line), Прямоугольник/Квадрат (Rectangle/Square), Эллипс/ Круг (Ellipse/Circle) (рис.8а).

Для работы с формами в меню (или на панели инструментов) Arrange (Расположение) доступны следующие действия: сгруппировать, разгруппировать, вывести на передний или на задний план, переместить назад, вращение/поворот, произвольное вращение. Доступны различные опции выравнивания объектов в пункте Align (Выравнивание) меню Arrange (Расположение) (рис. 8б).

 

Используя простые формы и действия, можно создавать достаточно сложные формы. Например, используя четыре эллипса и окружность, можно нарисовать объект, приведенный на рисунке 9.

Таким образом, если в библиотеке символов нет нужного элемента, его можно нарисовать, а потом добавить к нему динамику.

Задание 1. Нарисуйте произвольный рисунок, используя основные формыпанели Draw (Рисование) и действия меню Arrange (Расположение.)

 


Динамика объектов

 

К объектам и формам векторной графики можно применить Динамику для отображения информации о процессе.

В GraphWorX32 доступны следующие типы динамики:

 

1. Текстовые объекты – меню Динамика – Встроенные объекты (Dynamics – Intrinsics):

Значение параметра (Process Point) – объектассоциируется с источником данных и отображает динамические или статические значения на экране;

– Время/Дата (Time/Data) – отображает на экране время и дату.

 

2. Динамики размера и цвета – меню Динамика –Действия (Dynamics – Action):

Размер (Size);

– Положение/Движок (Location/Slider);

– Вращение/Круговая шкала (Rotation/Dial);

– Скрыть/Блокировать (Hide/Disable);

– Цвет (Color);

– Плавное изменение цвета (Analog color);

– Прерывистое отображение (Flash).

Эти динамики можно комбинировать в одном объекте. Например, создать вентилятор, в котором используется динамика вращения и изменения цвета в зависимости от скорости.

3. Указание и щелчок мыши (Pick) – меню Динамика –Действия (Dynamics – Action):

Действия щелчка мыши – это определенная пользователем команда. Это действие можно добавить к любой форме. Настроить его можно в окне Инспектора свойств  (Property Inspector) объекта. В динамике Указание и щелчок мыши (Pick) можно выполнить следующие действия:

– Загрузка экранной формы (Load Display) – загрузка указанной в настройках экранной формы в текущее окно. При настройке требуется указать имя загружаемого файла;

– Всплывающее окно (Popup Window);

– Встроенное окно (Embedded Window);

– Перенести/Оставить (Drag/Drop Load);

– Предыдущая экранная форма (Display Back);

– Следующая экранная форма (Display Forward);

– Закрыть окно (Close Window);

– Запустить приложение (Launch Application) – запускает определенное пользователем приложение или документ в режиме исполнения;

– Открыть Web–страницу (Launch WebPage);

– Скрыть слой (Layer Hide On);

– Показать слой (Layer Hide Off);

– Переключить отображение слоя (Layer Hide Toggle);

– Всплывающее меню (Popup Menu) – позволяет отобразить меню со строками, которые выполняют определенные пользователем действия;

– Передать значение (Download Value);

– Переключить значение (Toggle Value) – переключает два значения или состояния, определенных пользователем в режиме исполнения;

– Настройка псевдонимов (Set Local Aliases);

– Выбор языка (Select Language);

– Выполнить сценарий VBA (Run Script);

– Создать отчет (Run Report);

– Обновление базы данных (Update Database) – обновляет источник данных OLE DB с текущими значениями тегов, определенными пользователем, основанными на условии или использующими триггеры;

– Действие рецепта (Recipe Action);

– Меню режима исполнения (Runtime Menu);

– Действие расписания (Schedule Action);

– Специальная команда (Custom Command).

 

В меню Динамика – Встроенные объекты (Dynamics – Intrinsics): есть 4 вида кнопок, в которых действие Указание и щелчок мыши (Pick) является предустановленным:

– кнопка (Button) – кнопка с надписью;

– флажок (Checkbox)    – позволяет в режиме исполнения переключать значения в установленном условии, выражении и т.п.;

– переключатель/радиокнопка (Radio Button)      – дает пользователю возможность выбора между опциями;

– кнопка с отображением экрана – позволяет создать кнопку с миниатюрным изображением другого дисплея, при нажатии на которую в режиме Исполнение загрузится файл с данным экраном.

По умолчанию, кнопки выполняют действия загрузки экранной формы, но можно присвоить любое другое действие из списка с помощью меню Динамика – Действия – Указание и щелчок мышью (Dynamics – Action – Pick) или Динамика – Встроенные объекты (Dynamics – Intrinsics). Кнопка может запустить последовательность действий.

В меню Сервис (Tools) доступно действие Функциональные клавиши (Function Keys), которое позволяет настроить клавиши, при нажатии на которые будут запущены прописанные на языке VBA скрипты.

 

Источники данных

 

Назначение человеко-машинного интерфейса системы управления – это отображение технологического процесса на экране оператора в режиме реального времени для мониторинга, а при необходимости, и управления процессом. Для этого к элементам нарисованной на экране мнемосхемы подключаются сигналы от реальных источников – датчиков, контроллеров, исполнительных устройств и т.д. Для подключения оборудования к SCADA Genesis32 на нем должен быть загружен соответствующий ОРС сервер, произведена необходимая настройка и программирование на языке контроллеров МЭК (например, CoDeSys). После этого данные источники будут доступны в Браузере Данных (Unified Data Browser) на вкладке OPC DA.

На стадии моделирования системы источниками данных в приложении GraphWorX32 могут быть сигналы – симуляторы, локальные переменные и выражения.

 

Сигналы-симуляторы

Внутренние сигналы-симуляторы Simulation Variables доступны на вкладке GraphWorX32 в Браузере данных (Unified Data Browser) (рис.10).

 

Ramp – это периодический непрерывный сигнал (пила), линейно изменяется от минимального до максимального значения за определенный промежуток времени;

Random – случайный сигнал – принимает случайные значения в указанном диапазоне изменения;

Sine – периодический синусоидальный сигнал;

Toggle – дискретный сигнал, переключающийся между двумя значениями: 0 и 1.

 

 

На вкладке Симуляции (Simulations) доступны различные типы переменных с параметрами, устанавливаемыми пользователем. Например, на рисунке 11 приведен пример настройки пилообразного сигнала со следующими параметрами: Period – 2 с, Min – 0, Max – 50, Phase – 0 град. Таким образом, переменная будет изменяться от 0 до 50 каждые 2 секунды.

Локальные переменные

При разработке экрана существует возможность создать и использовать пользовательские локальные переменные Local Variables. Для этого при настройке источника в окне Инспектора свойств (Property Inspector) имя переменной прописывается с синтаксисом: ~~name~~. Желательно задавать имена латинскими буквами без пробелов и знаков пунктуации (рис.12).

После определения, локальная переменная будет доступна для редактирования в диалоговом окне Edit Local Variables, вызываемом в меню Dynamics – Edit Local Variables. В этом окне можно переопределить тип переменной (Data Type), задать начальное значение (Initial Value) и диапазон изменения (Low Range и High Range).

 

 



Подсчет объектов

Экранная форма может содержать видимые и скрытые, отдельные или сгруппированные объекты. При необходимости подсчета объектов, просмотра их типов, количества соединений, определенных типов анимации, используется команда Количество объектов (Object Count) меню Вид (View).

Если нет выделенных объектов, то при нажатии на кнопку, отобразиться список всех объектов текущей экранной формы: статические объекты, динамика, источники данных.

 

Задание 2. Создание экрана управления реактором–смесителем.

Экранная форма состоит из реактора–смесителя в виде бака с миксером. К баку подходят две трубы с клапанами, по которым подается вода и раствор химического реагента. Готовый раствор выводится через трубопровод с выпускным клапаном. Оператор должен иметь возможность открывать/закрывать клапаны, включать/выключать миксер, следить за значением уровня в баке. На экран выводится статусное сообщение в зависимости от значения уровня в баке: Уровень минимальный/ Уровень максимальный/Рабочий режим.

 

Для создания динамического экрана к баку добавляется динамика:

- клапан открыт – по трубам течет жидкость, клапан имеет синий цвет;

- клапан закрыт – окрашивается красным цветом, поток жидкости остановлен (отсутствует);

- миксер включен – вращение миксера;

- на баке индикатор уровня изменяет цвет в соответствии с изменение значения уровня раствора в баке;

- при достижении максимального уровня выдается сообщение: Уровень максимальный клапаны на входных трубопроводах следует закрыть;

- при сливе раствора из бака и понижении уровня до 0 выдается сообщение: Уровень низкий;

- при промежуточных значениях уровня выводится сообщение: Рабочий режим.

 

Создайте новую форму GraphWorX32. Примените к ней шаблон Шаблон_Смеситель.tdf. Это можно сделать с помощью меню Формат – Шаблон – Применить шаблон (Format – Template – Applay Template). Сохраните экранную форму с именем Смеситель_Экран.gdf.

Используя библиотеку символов, нарисуйте на экране бак (например, 2_Misc_3D Tanks–Tank03), трубы (элементы Pipe в папке TrainingClassV7, Curve в папке TrainingClassV6), миксер (2_Misc_3D IndustrySimple mixer или TrainingClassV7 Mixer without dynamics), клапаны (папка 2_MiscValves-Valve05). Введите текстовые подписи для клапанов. Общий вид экрана изображен на рисунке 14.

 

Чтобы добавить динамику элементу Миксер (Mixer without dynamics),нажмите на весь объект левой клавишей мыши при нажатой клавише Shift. Далее выделите верхний элемент (привод) миксера и выберите меню Динамика – Действия – Указания и щелчок (Dynamics – Action – Pick). В поле Действие (Action) выберите из списка Переключить значение (Toggle Value) и введите Значение 1 (Toggle Value 1) – 1, Значение 2 (Toggle Value 2) – 0. В поле Источник данных (Data source) введите имя локальной переменной ~~mixer~~. Таким образом, вы создали локальную переменную, которая будет доступна для изменения в Окне редактирования (Dynamics – Edit Local Variables) и вызова в Браузере данных (Unified Data Browser – GraphWorX – Local Variables). Нажмите Применить и ОK.

Выделите элемент «лопасти миксера». Обратите внимание, что к нему уже подключена динамика Hide (Скрыть). При этом отмечены опции Скрыть объект (Hide Object) и Скрыть объект, когда Истино (Hide/Disable when True). В поле Источник данных (Data Source) должно быть введено имя локальной переменной ~~mixer~~.

Моделирование динамики вращения лопастей миксера во включенном состоянии производится следующим образом. При нажатии на элемент привода миксера в режиме Исполнения, переключается значение переменной ~~mixer~~ с 1 на 0. При значении переменной 1, лопасти миксера будут скрываться, и станет виден нарисованный под ними второй элемент лопастей с предустановленной динамикой Size. То есть будет

 

Добавьте динамику на клапаны.

Выделите клапан Вода. Добавьте ему динамику Динамика – Действия – Указания и щелчок (Dynamics – Action – Pick). В поле Действие (Action) выберите из списка Переключить значение (Toggle Value) и введите Значение 1 (Toggle Value 1) – 1, Значение 2 (Toggle Value 2) – 0. В поле Источник данных (Data source) введите имя локальной переменной ~~valveWater~~.

Нарисуйте прямоугольник размером 30х14, разместите его внутри клапана. Окрасьте его в красный цвет – Заливка (Fill Color) – R=250, G=0, B=0. Добавьте динамику Цвет (Color). В поле Источник данных (Data Source) введите имя локальной переменной ~~valveWater~~. Установите заливку при изменении цвета (Apply Color Change To) на голубую R=0, G=255, B=255. Отметьте опцию Изменить цвет когда Истино (Change Color On True).

Выполните аналогичные действия для клапана Реагент, но в поле Источник данных (Data source) вводите имя локальной переменной ~~valveReagent~~.

В Окне редактирования (Dynamics – Edit Local Variables) установите тип BOOL для переменных ~~mixer~~, ~~valveReagent~~ и ~~valveWater~~.

Переключение клапана Готовый раствор сделайте через всплывающее меню. Для этого выделите клапан, выберите динамику Указания и щелчок (Pick). В списке действий (Action) выберите Всплывающее меню (PopupMenu) (рис.13). Для создания меню нажмите Редактор меню (Menu Editor). Откроется диалоговое окно, в котором нажмите кнопку Добавить пункт (Add Item). Назовите пункт Открыть. Выбрав кнопку Edit Item, установите действие Загрузить значение (Download Value). В поле источник данных введите ~~valveMixturer~~. В поле Значение при нажатии (Value (On Up)) введите 1.

 

Добавьте второй пункт меню с именем Закрыть и загрузкой значения при нажатии 0.

 

Для изменения уровня раствора в баке в зависимости от состояний клапанов необходимо создать выражение и запускать его в режиме Исполнения. Для этого добавьте на экран флажок (Checkbox), введите название Запустить процесс (в текстовом поле вместо Download Value). На вкладке Pick (Указание и щелчок) отметьте опцию While Down (Пока нажато), интервал 500 мс, источник данных ~~level~~. В поле Значение пока нажато (Value (While Down)) нажмите на кнопку с многоточием для вызова Редактора выражений (Edit Expression) и введите выражение:

x=max(0, min(100,{{~~level~~}}+{{~~valveReagent~~}}+{{~~valveWater~~}}-{{~~valveMixturer~~}})).

Для удобства введения имен переменных из Браузера данных выбирайте кнопку Теги (Tags).

В папке 2_Misc_3D Dynamics Tanks выберите элемент JaggetCutAway1 с уже подключенной динамикой. Разместите его на баке. Этот элемент создан из нескольких объектов, к одному из которых применена динамика изменения цвета. Чтобы выбрать этот элемент и изменить ему источник данных, нажмите на весь объект левой клавишей мыши при нажатой клавише Shift. Далее выберите верхний синий элемент и двойным щелчком мыши вызовите Инспектор свойств. Измените источник данных динамики Размер (Size). В поле Data Source введите локальную переменную ~~level~~. Переопределите диапазон переменной (Range Override: Low – 0, High – 100).

Добавьте на бак поле Значение параметра и установите в качестве источника данных ту же локальную переменную ~~level~~.  В поле Единицы измерения (Unit Text) введите %.

Для моделирования движения жидкости по трубам выберите элемент в виде стрелки из библиотеки символов или нарисуйте круг, разместите его внутри трубы, окрасьте в голубой цвет. Добавьте динамику Положение (Dynamics – Action – Location/Slider). С помощью мыши задайте траекторию движения, в качестве источника данных укажите сигнал-симулятор gwxsim.ramp.float (Unified Data Browser – GraphWorX – Simulation Variables). Добавьте динамику Hide, в качестве источника данных для нее установите для трубы с водой ~~valveWater~~, для реагента ~~valveReagent~~, для раствора ~~valveMixturer~~. Включите опцию Скрыть объект, когда Ложь (Hide/Disable when False). Добавьте еще одну динамику Hide с опцией Hide when True. Установите в качестве источника данных выражение: {{~~level~~}}==100.

Скопируйте и вставьте элементы в трубы в соответствии со своими источниками данных.

Создайте три прямоугольника одинакового размера с надписями: «Рабочий режим» на желтом фоне, «Бак полный» и «Уровень низкий» на красном фоне. Добавьте к ним динамику Скрыть (Hide). Отметьте опцию Скрыть когда Истино (Hide when True).

Для прямоугольника «Рабочий режим» источник данных установите логическое выражение:  {{~~level~~}}==0||{{~~level~~}}==100.

Для прямоугольника «Бак полный» источник данных – выражение: {{~~level~~}}!=100.

Для прямоугольника «Уровень низкий» источник данных – выражение: {{~~level~~}}!=0.

Совместите все прямоугольники, «Уровень низкий» выведите на передний план.

Сохраните файл. Запустите режим Исполнения и проверьте работу системы: переключение клапанов и миксера, изменение уровня раствора в баке.

Окончательный вид экрана представлен на рисунке 14.

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 155.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...