КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Создание экранов АРМПроиллюстрируем создание системы автоматизации путем проектирования «от шаблонов», т.е. будем создавать информационную базу проекта – каналы по аргументам разрабатываемых шаблонов экранов и программ, дополняя основной подход методами автопостроения и связывания каналов в узлах проекта. Воспользуемся пользовательской библиотекой компонентов. Для этого скопируем файл tmdevenv.tmul из поддиректории %TRACE MODE%\Lib в директорию %TRACE MODE%. Откроем интегрированную систему разработки и с помощью щелчка ЛК по иконке создадим новый проект. В качестве стиля разработки выберем Стандартный. Перейдем в слой Библиотеки_компонентов, где в разделе Пользовательская откроем библиотеку Библиотека_1. Сохраненный в данной библиотеке объект Объект_1 содержит в своем слое Ресурсы необходимый для дальнейшей разработки набор графических объектов – изображения клапанов, емкостей, двигателей и т.д. В зависимости от редакции используемой интегрированной среды разработки – базовой или профессиональной, количество графических объектов в библиотеке различно. Перенесем группы в слой Ресурсы текущего проекта с помощью механизма drag-and-drop и переименуем их как показано ниже. Здесь же в слое Ресурсы создадим группу Картинки для помещения в нее текстур, которые будут применены в оформлении создаваемых графических экранов. Создадим в группе Картинки новый компонент – Библиотека_Изображений#1. Откроем двойным щелчком ЛК вновь созданную библиотеку для редактирования. Для ее наполнения воспользуемся иконкой на панели инструментов. В открывшемся диалоге выбора файлов для импорта укажем поддиректорию …\Lib\Texture. Выберем все файлы и нажмем экранную кнопку Открыть. Содержимое библиотеки Библиотека_Изображений#1 станет следующим: Подобным описанному выше способу создадим в слое Ресурсы группу Анимация, в ней - библиотеку Библиотека_Видеоклипов#1. Наполним ее содержимым …\Lib\Animation. Из всех представленных в библиотеке видеоклипов мы будем использовать только fluid_blue, остальные можно убрать с помощью иконки на панели инструментов, предварительно выбрав видеоклип ЛК. В зависимости от редакции используемой интегрированной среды разработки – базовой или профессиональной, количество доступных текстур и видеоклипов в библиотеке различно. В качестве видеоклипов могут быть использованы практически любые имеющиеся файлы форматов avi или mng. После проведения подготовительных мероприятий сохраним выполненную работу, нажав ЛК и указав имя QS_Lesson_2.prj. Перейдя в слой Шаблоны_экранов, создадим в нем компонент Экран#1. На созданном экране будут отображаться технологические параметры участка термической обработки, с него же будем осуществлять формирование задания на поддержание рабочей температуры. Переименуем его в Участок_термообработки. Создадим также экраны для задания параметров ПДД-регулятора, участков хранения и дозирования. Переименуем их соответственно: В соответствии с ТЗ на проектирование назначим аргументы шаблону экрана участка термообработки – щелчок ПК на созданном шаблоне экрана и выбор из выпадающего списка пункта Свойства, далее переход во вкладку Аргументы. Здесь и далее с помощью иконки создаются необходимые аргументы, задаются их имена, тип, тип данных, значения по умолчанию, привязки, флаги и т.д. Те аргументы, значения которых будут отображаться на экране, имеют тип IN, а те, что задаются с клавиатуры АРМ, отображаются на экране и пересылаются в конечном итоге в PC-based контроллер, имеют тип OUTили IN\OUT. В процедуре автопостроения каналов от шаблонов автопривязка аргументов будет осуществляться соответственно к атрибутам Реальное и входное значение каналов. Закроем бланк свойств экрана щелчком ЛК на . Для перехода к непосредственному созданию и редактированию содержимого экрана дважды нажмем на нем ЛК мыши. Зададим в качестве фона экрана текстуру metal_011. Для этого выберем в основном меню пункт Сервис, в нем – Параметры экрана. В открывшемся диалоговом окне укажем в качестве типа фона изображение, а из имеющихся в библиотеке текстур - metal_011. После нажатия экранной кнопки Готово фон графического экрана будет изменен на указанный. С помощью графических объектов (ГО), сохраненных в ресурсных библиотеках и вызываемых с помощью иконки панели инструментов, а также графических элементов (ГЭ) объемных труб и текста , создадим статическую часть экрана. Примерный вид представлен ниже. Графические объекты размещаются с использованием метода drag-and-drop и допускают масштабирование. Для изменения размера ГО необходимо выделить его ЛК и с помощью позиционирования указателя мыши в узловые точки выполнить необходимые корректирующие действия: Значения расхода теплоносителя и рабочей температуры будем отображать с помощью ГЭ Показывающий прибор . Разместив их на экране, двойным щелчком ЛК откроем свойства левого ГЭ и зададим ему свойства: Аналогичным образом поступим с правым ГЭ: В нижней части экрана с помощью иконки разместим ГЭ Тренд для вывода значений аргументов Температура_рабочая, Расход_теплоносителя и Задание_температуры. Основные свойства ГЭ оставим заданными по умолчанию, добавив заголовок Участок термообработки. Определим для отображения на тренде три кривые, связав их с соответствующими аргументами экрана, и зададим для них цвет и толщину линий, интервалы выводимых значений. Для формирования задания регулятору разместим справа от ГЭ Тренд ГЭ Прямоугольник , он будет служить подложкой для ГЭ Ползунок с помощью которого будем задавать величину задания и отображать его же. Точную величину задания будем отображать в верхней части прямоугольника с помощью ГЭ Текст . Свойства ГЭ будут: Откажемся от использования рамки и заливки для данного ГЭ, задав ему следующие свойства: Свойства ГЭ назначим следующим образом: также отказавшись от рамки и заливки.
В правом верхнем углу экрана разместим надпись – Участок термообработки. Так как для АРМ будет разработано еще два экрана (Хранение и Дозирование), то для осуществления переходов между экранами необходимо предусмотреть соответствующие средства. В качестве них будем использовать ГЭ . Двойным щелчком ЛК на ГЭ Хранение откроем его свойства, в разделе События выделим ЛК пункт mousePressed (событие по нажатию ЛК на ГЭ) и по нажатию ПК добавим переход на экран: В открывшемся пункте Jump to Screen по нажатию ЛК из списка выберем шаблон экрана Участок_Хранения: Подобным образом поступим для организации перехода на экран участка дозирования. Параметры ПДД-регулятора – Кп, Кд, Кдд и зону нечувствительности будем формировать с помощью всплывающего окна, открытие данного окна оформим также с помощью ГЭ , который разместим в левой части экрана, привязку выполним как в описанных выше случаях. Для отображения в левом верхнем углу графического экрана текущей даты и времени воспользуемся ГЭ Календарь . Настройку ГЭ выполним следующим образом: Таким образом, экран, представляющий на АРМ участок термической подготовки подготовлен и выглядит следующим образом:
Аргументы экрана Параметры_ПДД-регулятора зададим следующим образом: Откроем экран на редактирование. Для задания экрану свойств выпадающего окна выберем в основном меню пункт Сервис, в нем – Параметры экрана. В открывшемся диалоговом окне зададим размеры экрана, фон, определим экран как всплывающее окно и укажем начальную позицию при первом вызове: На данном экране разместим ГЭ Рамка , переместим его на задний план с помощью иконки на панели инструментов, затем в верхней части экрана с помощью ГЭ Текст зададим заголовок экрана – Параметры ПДД-регулятора. Далее разместим ГЭ Кнопка для посылки значений параметров и левее ее ГЭ Текст для их отображения. Осуществим привязки ГЭ к аргументам экрана: и Затем выделим ЛК ГЭ и воспользуемся инструментарием для тиражирования ГЭ: В открывшемся диалоговом окне зададим параметры: Отредактируем надписи и привязки созданных ГЭ, подобным образом поступим в отношении ГЭ Текст . В итоге получим:
Аргументы для шаблона экрана Участок_Хранения будут следующие: Аргументы Событие_Дверь, Событие_Вент и Событие_Пож предназначены для отображения и квитирования событий с использованием ГЭ События . Аргументы Слой_основной и Слой_тренд – для управления видимостью слоев экрана. В первом слое будет отображаться мнемосхема участка хранения, во втором – тренд значений параметров хранения. Флаг NP, выставленный для аргументов не позволит создавать соответствующие каналы при операциях автопостроения. Зададим для экрана в качестве фона изображение – одну из текстур, имеющихся в библиотеке, с помощью ГО и ГЭ , выполним статическую часть рисунка: Определим с использованием ГЭ вывод значений параметров хранения: Выполним привязку ГЭ к аргументам шаблона экрана, установим формат вывода значений как, например, для аргумента Уровень: Для отображения состояния дискретных сигналов открытия/закрытия двери в хранилище, включения/отключения вентиляции и срабатывания пожарной сигнализации применим совместно цветовую и текстовую индикацию, определяемую для ГЭ . Так, для отображения текущего состояния двери в хранилище назначим ГЭ следующие свойства: Подобным образом выполним настройку свойств для остальных ГЭ. Уровень продукта в емкости будем отображать с помощью гистограммы произвольной формы, которую создадим с помощью ГЭ Многоугольник . В свойствах для данного ГЭ определим динамическую заливку, привязав ее к соответствующему аргументу шаблона экрана, задав цвета фона и заполнения и указав границы: Последовательно скопируем из шаблона экрана Участок_термообработки и перенесем на шаблон Участок_Хранения ГЭ для отображения текущей даты/времени и кнопки переходов по экранам. Для этого выделяем ЛК необходимый ГЭ (для выделения нескольких ГЭ можно воспользоваться нажатием и удержанием клавиши Ctrl либо выделить мышью область при нажатой ЛК) и используем иконку на панели инструментов. Для вставки - . Можно применять и стандартные комбинации клавиш для работы с буфером обмена: Ctrl+C и Ctrl+V. После вставки ГЭ необходимо произвести их перепривязку к аргументам текущего шаблона экрана. В нижней части экрана разместим ГЭ События , выделим его ЛК и отцентрируем горизонтально с помощью соответствующего пункта меню: Основные свойства ГЭ оставим без изменения, во вкладке Привязки определим следующие привязки к аргументам шаблона экрана: Таким образом, текущий экран будет выглядеть как: Для вывода на тренде текущих значений параметров хранения создадим дополнительный графический слой для шаблона экрана Участок_Хранения. Через пункт Вид основного меню откроем окно графических слоев: В окне слоев экрана существующий слой с именем Слой привяжем к аргументу шаблона Слой_основной. С помощью создадим новый слой, переименуем его в Тренд и привяжем к аргументу Слой_тренд. Разместим в данном слое (при этом в окне слоев он должен быть выделен ЛК) ГЭ Тренд и Кнопка . Для тренда определим основные свойства как: и зададим семь кривых: для которых укажем привязки к соответствующим аргументам, цвет и толщину линий, пределы и заголовки для их идентификации на ГЭ. Свойство События для размещенного ниже ГЭ Возврат определим таким образом, что при нажатии на нем ЛК в аргументы шаблона экрана, для которых определены привязки к графическим слоям, осуществлялись прямые посылки. Значения, посылаемые в данные аргументы, управляют видимостью слоев, 0 – слой отображается, 1 (любое значение, отличное от 0) – нет: ГЭ Календарь для вывода текущей даты/времени и ГЭ Текст с названием участка копируются в слой Тренд из слоя Слой. После выполнения указанных операций слой Тренд шаблона экрана Участок_Хранения будет выглядеть как: Для перехода к просмотру значений параметров хранения на тренде, размещенном в слое Тренд, в слое Слой определим свойства ГЭ со статической надписью Параметры хранения следующим образом: Для того, чтобы при запуске проекта в реальном времени были возможны операции со слоями, перед сохранением проекта на диск все слои должны быть отмечены галочками в крайней левой позиции окна слоев экрана.
Для шаблона экрана Участок_Дозирования аргументы зададим как: Используя описанные выше приемы, разместим ГЭ и свяжем их с аргументами шаблона экрана таким образом, чтобы получить следующее: Видеоклип, изображающий поток продукта привязан к аргументу экрана следующим образом: Пояснения требует и ГЭ Задание объема. По нажатию на нем ЛК будет осуществляться посылка значений в два аргумента экрана: Первое – собственно для задания величины отпускаемого объема продукта, второе – для сброса накопленной в контроллере величины объема по предыдущему циклу розлива. По нажатию ЛК на ГЭ ОТПУСТИТЬ ПРОДУКТ будет посылаться 1 в соответствующий аргумент экрана, в момент, когда заданный объем продукта будет отпущен, контроллер сбросит атрибут Входное значение канала в АРМ, связанный с аргументом экрана Старт_Стоп в 0. Сохраним выполненную работу, нажав ЛК . Таким образом, графическая часть проекта для АРМ выполнена и настал черед разработки математического обеспечения нашего проекта – шаблонов программ.
|