Графические средства InTouch
Компоненты среды разработки InTouch:
- WindowMaker - инструментальная среда разработки приложений;
- Application Explorer - представление приложения в иерархическом виде с доступом к любому компоненту приложения и многим часто используемым командам и функциям WindowMaker.
Проект, созданный в пакете InTouch, представляет собой набор окон (Window) с различными графическими и текстовыми объектами.
Окна
Свойства каждого окна (наличие заголовка, цвет фона, размеры и т. д.) определяются при его создании. Создание нового окна производится в среде разработки WindowMaker щелчком по иконке панели инструментов General или командой File/New Window. На экране появится диалог Window Properties (Свойства окна, рис. 1.1.1).
Рис. 1.1.1. Диалог Window Properties (Свойства окна). |
Каждое окно должно иметь свое имя для его идентификации в приложении (Name). Цвет фона создаваемого окна выбирается из цветовой палитры, вызываемой на экран щелчком по окошку Window Color. В поле Comment можно ввести комментарий, связанный с этим окном (необязательно). Эта информация нужна только для документирования и не используется приложением. InTouch предлагает три типа окон (Window Туре):
- Replace (заменяющее) - закрывает все существующие окна, перекрываемые им при появлении на экране, включая окна типа Popup и другие окна типа Replace.
- Overlay (перекрывающее) - появляется поверх всех отображаемых в текущий момент окон. Когда окно типа Overlay закрывается, все скрываемые им окна восстанавливаются. Щелчок мыши по любому видимому участку лежащего ниже окна приводит к переходу его на передний план.
- Popup (всплывающее) - похоже на окно типа Overlay, только оно всегда остается поверх всех других открытых окон. Окно закрывается после соответствующей команды пользователя.
Выбор типа создаваемого окна производится включением соответствующей кнопки в поле Window Туре. В поле Frame Style (стиль обрамления) выбирается необходимый стиль обрамления окна:
- Single - окно с рамкой, допускается заголовок;
- Double - окно с рамкой без заголовка;
- None - окно без рамки и заголовка.
Чтобы у окна была полоса с заголовком, где выводится имя окна, включают опцию Title Bar. Эта полоса также служит для перемещения окна при захвате ее мышью. При выборе этой опции отключатся опции Double и None для стиля обрамления. Для возможности изменения размеров окна, когда оно откроется в WindowMaker, следует выбрать опцию Size Controls (управление размером). В группе полей Dimentions определяются текущие размеры и положение окна на рабочем поле:
- X Location - расстояние в пикселях между левым краем рабочего поля WindowMaker и левым краем описываемого окна;
- Y Location - расстояние в пикселях между верхним краем рабочего поля WindowMaker и верхним краем описываемого окна;
- Window Width - ширина окна в пикселях;
- Window Height - высота окна в пикселях.
По умолчанию при создании нового окна эти параметры примут значения предыдущего (последнего) созданного окна. Кнопка Scripts (скрипты) дает возможность войти в диалог Window Script для создания оконного сценария. Для унификации внешнего вида окон приложения и сокращения сроков разработки приложений InTouch предлагает несколько приемов. Один из таких приемов - дублирование окон. Создание копий окон выполняется командой File/ Save Window As. Для быстрого доступа к этой команде можно воспользоваться меню правой кнопки мыши (см. ниже). Второй прием, который также позволяет экономить время разработки приложения - импорт окон. Можно повторно использовать все ранее созданные окна, объекты и скрипты. Чтобы импортировать окна из другого InTouch - приложения, необходимо воспользоваться командой File/ Import. Интерфейс WindowMaker с открытым окном представлен на рис. 1.1.2.
Рис. 1.1.2. Интерфейс WindowMaker. |
Сверху экрана расположена строка меню, включающая опции для работы с окнами, редактирования и выравнивания объектов в окне, настройки инструментариев, текста, толщины и стиля линий и т. д. Слева от рабочего поля видно меню Application Explorer, которое может быть выведено в интерфейс WindowMaker или закрыто нажатием соответствующей иконки инструментария.
Инструментарий InTouch
Инструментарий InTouch представлен пятью инструментальными панелями, сгруппированными по функциональному принципу.
Панель General содержит элементы, соответствующие часто используемым командам меню File и Edit. Эти элементы известны читателю по работе в среде Windows и не требуют дополнительного пояснения.
В панель форматов Format включены средства, выполняющие большую часть команд форматирования текстовых объектов меню Text. Она содержит также средства выбора цвета линии, текста, заполнения объекта, фона окна и цвета "прозрачных объектов".
Панель выравнивания Arrange содержит инструменты, соответствующие командам выравнивания объектов меню Arrange.
В нее включены кнопки для выполнения команд выравнивания объектов, размещения на переднем и заднем плане, равномерной расстановки объектов по горизонтали и вертикали, объединения отдельных объектов в символы и компоненты и их разъединения, вращения по и против часовой стрелке на 900, зеркального отображения объектов по горизонтали и вертикали.
Панель рисования Drawing включает инструменты для создания простых и сложных объектов. Первые восемь инструментов и последний предназначены для создания простых объектов: прямоугольник (квадрат), скругленный прямоугольник, окружность (эллипс), прямая линия под любым углом, горизонтальная и вертикальная прямая, ломаная линия, многоугольник, текстовый объект и трехмерная кнопка.
С помощью остальных трех инструментов панели Drawing могут быть созданы сложные объекты операторских интерфейсов: контейнер для вставки растровых изображений, тренд реального времени и архивный тренд. На рис. 1.1.2 на рабочем поле окна WindowMaker показаны примеры объектов, созданных инструментами панели Drawing. В панели View (Вид) представлено всего пять кнопок (слева направо):
- кнопка, соответствующая команде отображения/закрытия окна Application Explorer;
- кнопка, соответствующая команде Hide All (спрятать все), относящейся к панелям инструментов;
- кнопка переключения обычного изображения окна в полноэкранное и обратно;
- кнопка, соответствующая команде Snap to Grid (привязать к координатной сетке);
- кнопка отображения/закрытия линейки окна WindowMaker (рис. 1.1.2).
Все инструментальные панели могут быть "закреплены" у любого края окна WindowMaker, в том числе и панель рисования. При необходимости их можно переместить внутрь рабочего поля.
При разработке операторских интерфейсов достаточно важно обеспечить пользователю удобный и быстрый доступ к наиболее часто используемым командам. В этом плане InTouch предлагает ряд меню, вызываемых на экран нажатием правой кнопки мыши. Эти меню могут относиться к окнам (на рис. 1.1.3 слева), графическим объектам (в середине) и полям диалогов (справа).
Рис.1.1.3. Меню для окна, объекта и диалога, активизируемые правой кнопкой мыши.
Объекты и их свойства
Простые объекты.
WindowMaker поддерживает четыре базовых типа простых объектов: линии, заполненные контуры, текст и кнопки. Каждый из этих простых объектов имеет свойства, влияющие на его внешний вид. Такими свойствами являются цвет линии, цвет заполнения, высота, ширина, ориентация и т. д., и они могут быть статическими или динамическими.
- Линия - это объект, представляющий собой один или несколько связанных отрезков. Толщина линии и ее стиль являются статическими свойствами линии, присваиваемыми ей во время создания, и лишь цвет линии может быть связан с анимационной функцией.
- Заполненный контур (прямоугольник, скругленный прямоугольник, круг, эллипс, многоугольник) представляет собой двухмерный объект. К динамическим свойствам такого объекта относятся цвет контурной линии, цвет заполнения, насыщенность цвета заполнения, высота, ширина, расположение, видимость и ориентация.
- Текст представляет собой последовательность символов. К статическим свойствам текста относятся тип шрифта, его размер, выделение, курсив, подчеркивание, выравнивание. Анимационные свойства шрифта - цвет, видимость и расположение.
- Кнопка - часто используемый объект при создании операторских интерфейсов. С кнопками могут быть связаны функции различных типов. Нажатие кнопки может вызвать выполнение скриптов, кнопкой можно производить ввод аналоговых и дискретных величин и т. д.
Текст на кнопке редактируется с помощью команды Special/Substitute Strings... При этом текстовое поле может содержать только одну строку.
Один и тот же объект может иметь набор различных динамических свойств. Комбинации этих свойств предоставляют возможность создавать на экране в режиме исполнения (Runtime) практически любые динамические эффекты. Для установки динамических свойств надо прежде всего вызвать на экран диалог их выбора (рис.1.1.4). Это достигается командой Special/Animation Link или двойным щелчком левой кнопки мыши на объекте.
Рис.1.1.4. Диалог выбора динамических свойств объекта.
Все динамические связи можно разделить на две группы: Touch Links (левая колонка) и Display Links (три колонки справа). С помощью свойств Touch Links выполняется какой - либо ввод в систему. Свойства Display Links осуществляют вывод информации на экран дисплея.
Нажатие на любую клавишу диалога (рис.1.1.4) вызывает появление нового диалога для определения соответствующего свойства объекта. Количество диалогов соответствует количеству динамических свойств (кнопок) диалога выбора. Все диалоги различны, но большинство из них имеет общие характеристики:
- окно типа объекта;
- одинаковую палитру цветов;
- быстрый вызов словаря переменных;
- быстрый доступ к полям переменных;
- поддержку правой кнопки мыши в полях Tagname (имя переменной) и Expression (выражение).
На рис.1.1.5 приведен диалог для определения свойств объекта (кнопки), управляющего значением дискретной переменной.
Рис.1.1.5. Диалог определения свойств кнопки.
Завершение работы с диалогом производится нажатием кнопки Ok. Если переменная поля Tagname была ранее определена в словаре переменных данного приложения, пользователь возвращается в диалог выбора динамических свойств объекта (рис.1.1.4). Можно либо продолжить определение других динамических свойств для данного объекта, либо, нажав Ok, вернуться на поле разработки окна приложения.
Сложные объекты.
- Символ - это некоторая комбинация простых объектов, которые обрабатываются как один объект. Любое изменение статических или динамических свойств символа влияет на все составляющие символа. Например, если создать символ "насос" из двух кругов и двух прямоугольников и присвоить ему динамическое свойство Fill Color (цвет заполнения), то это свойство будет распространяться на все четыре простых объекта. Различные объекты символа могут иметь разные значения одного и того же свойства, если они были присвоены этим объектам до объединения в символ. Bitmap - объекты, кнопки, компоненты не могут быть включены в состав символа.
- Компонент - это совокупность двух или более объектов, символов или других компонентов, образующих единый элемент. Они создаются путем выбора двух и более объектов, символов или компонентов и последующего запуска команды Arrange/Make Cell. Компоненты реализуют пространственную взаимосвязь между составляющими их графическими элементами. Каждая составляющая компонента может иметь свои собственные динамические свойства. Компоненты используются для таких виртуальных устройств, как панель управления контроллером, движковый регулятор и т. д. Компонент не может менять свой размер, ему нельзя присваивать динамические свойства (внутри компонента есть объекты и символы со своими динамическими свойствами). Нельзя изменять и статические свойства (внешний вид). Для изменения статических и динамических свойств компонента его надо разобрать на составные части командой Arrange/Break Cell. Однако компоненты можно дублировать, копировать, вставлять, выравнивать, перемещать и т. д.
- Мастер-объект - это предварительно созданный компонент с определенными статическими и динамическими свойствами, находящийся в библиотеке мастер-объектов (Wizards) и доступный для многократного применения. Но, в отличие от компонента, динамические свойства которого настраиваются для каждой составляющей отдельно до объединения в компонент, динамические свойства мастер-объекта быстро настраиваются с помощью специализированного диалога. Другими словами, фирма Wonderware провела большую работу и создала огромное количество мастер-объектов (несколько тысяч), определив для каждого из них механизм быстрой настройки статических и динамических свойств. Все эти мастер-объекты разделены на большое количество групп и размещены в соответствующей библиотеке. Доступ к ней осуществляется нажатием иконки Wizard в интерфейсе WindowMaker, что вызывает появление на экране диалога Wizard Selection (Выбор мастер-объекта, рис. 1.1.6).
Рис.1.1.6. Диалог Wizard Selection (выбор мастер-объекта).
В левой части диалога - список групп мастер-объектов, включающий такие категории, как Buttons (кнопки), Sliders (ползунковые регуляторы), Switches (переключатели) и т. д.
В правой части диалога приведены все мастер-объекты выбранной в данный момент группы (на рис. 1.1.6 - кнопки). Двойной щелчок по требуемому мастер-объекту возвращает пользователя в окно разработки приложения. Курсор принимает форму уголка с символом. Наконец, щелчок мыши на свободном месте окна приводит к появлению мастер-объекта в окне приложения. Для его конфигурирования (определения динамических свойств) следует дважды щелкнуть на мастер-объекте.
Например, двойной щелчок по кнопке Momentary Button (кнопка запуска), предварительно вставленной в окно приложения, выводит на экран диалог конфигурирования этой кнопки (рис.1.1.7). |
Достаточно ввести имя дискретной переменной, желаемый текст на кнопке, отметить несколько опций и нажать Ok.
Рис.1.1.7. Диалог конфигурирования кнопки запуска.
Инструмент Bitmap инструментальной панели рисования позволяет копировать и встраивать в приложение InTouch растровые объекты (совокупность точек). С помощью него создается "контейнер" для последующей вставки объекта из папки обмена Windows либо файлов с расширением .BMP, .JPG, .PCX, .TGA. Для WindowMaker растровое изображение является единым объектом. Невозможно ни анимировать его отдельные части, ни вставлять Bitmap - объекты в символы (можно вставлять в компоненты). Такой объект можно развернуть на рабочем поле на 90, 180, 270, 360 градусов, а также определить для него цвет "прозрачности", чтобы через него можно было видеть и другие объекты.
Тренды. InTouch предлагает пользователю два сложных объекта типа тренд: тренд реального времени и исторический (архивный) тренд. Эти объекты позволяют отображать в виде графиков значения данных реального времени (4 пера) и архивных данных (8 перьев). Оба типа трендов создаются при использовании специальных инструментов панели рисования окна WindowMaker с последующим конфигурированием. Подробная информация по созданию и конфигурированию трендов будет приведена в соответствующей главе.
Лекция №23
InTouch
Алармы и события в InTouch
В InTouch имеется две системы алармов: стандартная и распределенная.
Стандартная система используется для отображения информации и подтверждения всех аварийных ситуаций и событий, возникающих в локальном InTouch - приложении.
Распределенная система расширяет возможности стандартной и позволяет подтверждать аварийные ситуации, генерируемые системами алармов других включенных в сеть InTouch - приложений.
InTouch поддерживает возможность отображения, регистрации и печати информации как об алармах, связанных с аналоговыми или логическими переменными, так и о системных событиях.
Типы алармов и событий
В зависимости от своих характеристик алармы подразделяются на несколько категорий по типу (Туре) и классу (Class). Представление о типах и классах стандартной и распределенной систем можно получить из табл. 3.1.
Таблица 3.1. |
С InTouch - переменной можно связывать алармы любого типа. В зависимости от типа переменной для нее можно определять один или более классов и типов алармов.
События в InTouch также делятся в зависимости от их характеристик на несколько общих категорий (Event Types). Типы событий одинаковы как для стандартной, так и для распределенной систем алармов (см. табл. 3.2.).
Тип | Событие |
ACK | Аларм был подтвержден |
ALM | Возникла аварийная ситуация |
EVT | Возникло аварийное событие |
RTN | Переменная перешла из аварийного состояния в обычное |
SYS | Возникло системное событие |
USER | Изменение значения переменной $Operator |
DDE | Получено значение переменной от DDE – клиента |
LGC | Скрипт изменил значение переменной |
OPR | Оператор ввел новое значение переменной |
Таблица 3.2.
Первые шесть событий выбираются автоматически при разрешении регистрации событий. Для остальных трех событий разрешение регистрации устанавливается при определении переменной в словаре переменной.
Приоритеты алармов
Каждому аларму в InTouch соответствует некоторая величина, называемая приоритетом аларма. Этот приоритет характеризует важность данного аларма и принимает значения от 1 до 999 (наиболее серьезные алармы имеют приоритет 1). Организовав несколько диапазонов значений и связав алармы с каждым диапазоном, можно достаточно легко отфильтровать критические алармы от некритических. Выполнение анимационных функций, скриптов подтверждения, печать и просмотр информации также могут зависеть от приоритетов.
В частности, возможно следующее распределение приоритетов по четырем группам важности алармов (табл. 3.3.):
Таблица 3.3. |
При определении InTouch - переменных и условий возникновения алармов каждый из них может связываться с определенным диапазоном при указании приоритета из этого диапазона. Определив уровни приоритетов, пользователь получает возможность просмотра и печати тех алармов, которые интересуют его в текущий момент.
Группы алармов
Каждый аларм связан с определенной логической группой алармов. Все эти группы определяются пользователем и могут быть организованы в иерархическую структуру до восьми уровней иерархии. Это позволяет сгруппировать алармы в зависимости от их организации, схемы размещения оборудования, приоритетов и любых других признаков. Группы алармов являются полезным средством фильтрации вывода информации об алармах на экран дисплея или принтер.
Каждая переменная связывается с какой-либо группой алармов. Если пользователь не определил такую группу для конкретной переменной, то она автоматически связывается с корневой группой алармов $System. С любой группой алармов можно связать как переменную, так и другую группу алармов. Взаимосвязи всех групп алармов представляются древовидной структурой, у которой в качестве корневой является группа $System. Все определяемые группы алармов автоматически становятся потомками этой группы.
Указанная иерархическая древовидная структура может иметь до восьми уровней, при этом каждая входящая в дерево группа может иметь до 16 подгрупп (рис.3.2.1).
Рис.3.2.1. Иерархическая древовидная структура групп алармов. |
Для создания таких групп в меню окна WindowMaker предусмотрена команда Special/Alarm Groups (группы алармов), вызывающая появление диалога Alarm Groups (рис.3.2.2). При определении переменных в словаре Tagname Dictionary нажатие кнопки Group (см. рис.2.3.4) также выводит на экран этот диалог.
Рис.3.2.2. Диалог Alarm Group (группы алармов). |
Воспользовавшись кнопкой Add, можно добавить группу алармов, а также формировать древовидную структуру системы алармов, определяя родительские группы и группы - потомки. При этом открывается диалог (рис.3.2.3) Add Alarm Group (добавить группу алармов). Кнопка Parent Group (родительская группа) предназначена для выбора родительской группы в древовидной структуре. В диалоге предусмотрено поле Comment (комментарий) для ввода необязательного текста, комментирующего данную группу.
Рис.3.2.3. Диалог Add Alarm Group (добавить группу алармов). |
На рис. 3.2.4 диалог Alarm Group (группы алармов) заполнен в соответствии с древовидной структурой групп алармов, представленной на рис.3.2.1.
Рис.3.2.4. Диалог Alarm Group. |