SCADA

Графический интерфейс (Лекция)

 

ПЛАН ЛЕКЦИИ

1. Графические средства InTouch

2. Графические средства Citect

3. Сравнение графических средств

 

Средства визуализации - одно из базовых свойств SCADA - систем. В каждой из них существует графический объектно - ориентированный редактор с определенным набором анимационных функций. Используемая векторная графика дает возможность осуществлять широкий круг операций над выбранным объектом. Объекты могут быть простыми (линии, прямоугольники, текстовые объекты и т.д.) и сложные. Возможности агрегирования сложных объектов в разных SCADA - системах различны. Все SCADA - системы включают библиотеки стандартных графических символов, библиотеки сложных графических объектов, обладают целым рядом других стандартных возможностей.

Но, тем не менее, каждая SCADA - система по-своему уникальна и, несмотря на поддержание стандартных функций, обладает присущими только ей особенностями. При рассмотрении графических возможностей SCADA - систем InTouch и Citect предполагается обратить внимание не только на возможности инструментариев по созданию графических объектов, но и на другие предоставляемые пользователю услуги, облегчающие и ускоряющие процесс разработки приложений (проектов).

 

1. Графические средства InTouch

 

Компоненты среды разработки InTouch:

1)      WindowMaker - инструментальная среда разработки приложений;

2)      Application Explorer - представление приложения в иерархическом виде с доступом к любому компоненту приложения и многим часто используемым командам и функциям WindowMaker.

Проект, созданный в пакете InTouch, представляет собой набор окон (Window) с различными графическими и текстовыми объектами.

 

1.1. Окна

 

Свойства каждого окна (наличие заголовка, цвет фона, размеры и т.д.) определяются при его создании. Создание нового окна производится в среде разработки WindowMaker щелчком по иконке панели инструментов General или командой File/New Window. На экране появится диалог Window Properties (Свойства окна, рис. 1.1.1).

Рис. 1. Диалог Window Properties (Свойства окна)


Каждое окно должно иметь свое имя для его идентификации в приложении (Name). Цвет фона создаваемого окна выбирается из цветовой палитры, вызываемой на экран щелчком по окошку Window Color. В поле Comment можно ввести комментарий, связанный с этим окном (необязательно). Эта информация нужна только для документирования и не используется приложением. InTouch предлагает три типа окон (Window Туре):

1)      Replace (заменяющее) - закрывает все существующие окна, перекрываемые им при появлении на экране, включая окна типа Popup и другие окна типа Replace.

2)      Overlay (перекрывающее) - появляется поверх всех отображаемых в текущий момент окон. Когда окно типа Overlay закрывается, все скрываемые им окна восстанавливаются. Щелчок мыши по любому видимому участку лежащего ниже окна приводит к переходу его на передний план.

3)      Popup (всплывающее) - похоже на окно типа Overlay, только оно всегда остается поверх всех других открытых окон. Окно закрывается после соответствующей команды пользователя.

 

Выбор типа создаваемого окна производится включением соответствующей кнопки в поле Window Туре.  В поле Frame Style (стиль обрамления) выбирается необходимый стиль обрамления окна:

1)      Single - окно с рамкой, допускается заголовок;

2)      Double - окно с рамкой без заголовка;

3)      None - окно без рамки и заголовка.

 

Чтобы у окна была полоса с заголовком, где выводится имя окна, включают опцию Title Bar. Эта полоса также служит для перемещения окна при захвате ее мышью. При выборе этой опции отключатся опции Double и None для стиля обрамления. Для возможности изменения размеров окна, когда оно откроется в WindowMaker, следует выбрать опцию Size Controls (управление размером). В группе полей Dimentions определяются текущие размеры и положение окна на рабочем поле:

1)      X Location - расстояние в пикселях между левым краем рабочего поля WindowMaker и левым краем описываемого окна;

2)      Y Location - расстояние в пикселях между верхним краем рабочего поля WindowMaker и верхним краем описываемого окна;

3)      Window Width - ширина окна в пикселях;

4)      Window Height - высота окна в пикселях.

 

По умолчанию при создании нового окна эти параметры примут значения предыдущего (последнего) созданного окна. Кнопка Scripts (скрипты) дает возможность войти в диалог Window Script для создания оконного сценария. Для унификации внешнего вида окон приложения и сокращения сроков разработки приложений InTouch предлагает несколько приемов. Один из таких приемов - дублирование окон. Создание копий окон выполняется командой File/ Save Window As. Для быстрого доступа к этой команде можно воспользоваться меню правой кнопки мыши (см. ниже). Второй прием, который также позволяет экономить время разработки приложения - импорт окон. Можно повторно использовать все ранее созданные окна, объекты и скрипты. Чтобы импортировать окна из другого InTouch - приложения, необходимо воспользоваться командой File/ Import. Интерфейс WindowMaker с открытым окном представлен на рис. 1.2.


Рис. 1.2. Интерфейс WindowMaker

 

Сверху экрана расположена строка меню, включающая опции для работы с окнами, редактирования и выравнивания объектов в окне, настройки инструментариев, текста, толщины и стиля линий и т.д. Слева от рабочего поля видно меню Application Explorer, которое может быть выведено в интерфейс WindowMaker или закрыто нажатием соответствующей иконки инструментария.

 

1.2. Инструментарий 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.2).

 

Все инструментальные панели могут быть "закреплены" у любого края окна WindowMaker, в том числе и панель рисования. При необходимости их можно переместить внутрь рабочего поля.

При разработке операторских интерфейсов достаточно важно обеспечить пользователю удобный и быстрый доступ к наиболее часто используемым командам. В этом плане InTouch предлагает ряд меню, вызываемых на экран нажатием правой кнопки мыши. Эти меню могут относиться к окнам (на рис. 1.3 слева), графическим объектам (в середине) и полям диалогов (справа).

 

Рис. 1.3. Меню для окна, объекта и диалога, активизируемые правой кнопкой мыши

 

 

1.3. Объекты и их свойства

 

Простые объекты.

WindowMaker поддерживает четыре базовых типа простых объектов: линии, заполненные контуры, текст и кнопки. Каждый из этих простых объектов имеет свойства, влияющие на его внешний вид. Такими свойствами являются цвет линии, цвет заполнения, высота, ширина, ориентация и т.д., и они могут быть статическими или динамическими.

  • Линия - это объект, представляющий собой один или несколько связанных отрезков. Толщина линии и ее стиль являются статическими свойствами линии, присваиваемыми ей во время создания, и лишь цвет линии может быть связан с анимационной функцией.
  • Заполненный контур (прямоугольник, скругленный прямоугольник, круг, эллипс, многоугольник) представляет собой двухмерный объект. К динамическим свойствам такого объекта относятся цвет контурной линии, цвет заполнения, насыщенность цвета заполнения, высота, ширина, расположение, видимость и ориентация.
  • Текст представляет собой последовательность символов. К статическим свойствам текста относятся тип шрифта, его размер, выделение, курсив, подчеркивание, выравнивание. Анимационные свойства шрифта - цвет, видимость и расположение.
  • Кнопка - часто используемый объект при создании операторских интерфейсов. С кнопками могут быть связаны функции различных типов. Нажатие кнопки может вызвать выполнение скриптов, кнопкой можно производить ввод аналоговых и дискретных величин и т.д.

 

Текст на кнопке редактируется с помощью команды Special/Substitute Strings... При этом текстовое поле может содержать только одну строку.

Один и тот же объект может иметь набор различных динамических свойств. Комбинации этих свойств предоставляют возможность создавать на экране в режиме исполнения (Runtime) практически любые динамические эффекты. Для установки динамических свойств надо прежде всего вызвать на экран диалог их выбора (рис.1.1.4). Это достигается командой Special/Animation Link или двойным щелчком левой кнопки мыши на объекте.

Рис.1.4. Диалог выбора динамических свойств объекта

 

Все динамические связи можно разделить на две группы: Touch Links (левая колонка) и Display Links (три колонки справа). С помощью свойств Touch Links выполняется какой - либо ввод в систему. Свойства Display Links осуществляют вывод информации на экран дисплея.

Нажатие на любую клавишу диалога (рис. 1.4) вызывает появление нового диалога для определения соответствующего свойства объекта. Количество диалогов соответствует количеству динамических свойств (кнопок) диалога выбора. Все диалоги различны, но большинство из них имеет общие характеристики:

  • окно типа объекта;
  • одинаковую палитру цветов;
  • быстрый вызов словаря переменных;
  • быстрый доступ к полям переменных;
  • поддержку правой кнопки мыши в полях Tagname (имя переменной) и Expression (выражение).

 

На рис.1.5 приведен диалог для определения свойств объекта (кнопки), управляющего значением дискретной переменной.

 


Рис.1.5. Диалог определения свойств кнопки.

 

Завершение работы с диалогом производится нажатием кнопки Ok. Если переменная поля Tagname была ранее определена в словаре переменных данного приложения, пользователь возвращается в диалог выбора динамических свойств объекта (рис.1.1.4). Можно либо продолжить определение других динамических свойств для данного объекта, либо, нажав Ok, вернуться на поле разработки окна приложения.

 

Сложные объекты.

  • Символ - это некоторая комбинация простых объектов, которые обрабатываются как один объект. Любое изменение статических или динамических свойств символа влияет на все составляющие символа. Например, если создать символ "насос" из двух кругов и двух прямоугольников и присвоить ему динамическое свойство Fill Color (цвет заполнения), то это свойство будет распространяться на все четыре простых объекта. Различные объекты символа могут иметь разные значения одного и того же свойства, если они были присвоены этим объектам до объединения в символ. Bitmap - объекты, кнопки, компоненты не могут быть включены в состав символа.
  • Компонент - это совокупность двух или более объектов, символов или других компонентов, образующих единый элемент. Они создаются путем выбора двух и более объектов, символов или компонентов и последующего запуска команды Arrange/Make Cell. Компоненты реализуют пространственную взаимосвязь между составляющими их графическими элементами. Каждая составляющая компонента может иметь свои собственные динамические свойства. Компоненты используются для таких виртуальных устройств, как панель управления контроллером, движковый регулятор и т.д. Компонент не может менять свой размер, ему нельзя присваивать динамические свойства (внутри компонента есть объекты и символы со своими динамическими свойствами). Нельзя изменять и статические свойства (внешний вид). Для изменения статических и динамических свойств компонента его надо разобрать на составные части командой Arrange/Break Cell. Однако компоненты можно дублировать, копировать, вставлять, выравнивать, перемещать и т.д.
  • Мастер-объект - это предварительно созданный компонент с определенными статическими и динамическими свойствами, находящийся в библиотеке мастер-объектов (Wizards) и доступный для многократного применения. Но, в отличие от компонента, динамические свойства которого настраиваются для каждой составляющей отдельно до объединения в компонент, динамические свойства мастер-объекта быстро настраиваются с помощью специализированного диалога. Другими словами, фирма Wonderware провела большую работу и создала огромное количество мастер-объектов (несколько тысяч), определив для каждого из них механизм быстрой настройки статических и динамических свойств. Все эти мастер-объекты разделены на большое количество групп и размещены в соответствующей библиотеке. Доступ к ней осуществляется нажатием иконки Wizard в интерфейсе WindowMaker, что вызывает появление на экране диалога Wizard Selection (Выбор мастер-объекта, рис. 1.6).

 


Рис.1.6. Диалог Wizard Selection (выбор мастер-объекта).

 

В левой части диалога - список групп мастер-объектов, включающий такие категории, как Buttons (кнопки), Sliders (ползунковые регуляторы), Switches (переключатели) и т.д.

В правой части диалога приведены все мастер-объекты выбранной в данный момент группы (на рис. 1.6 - кнопки). Двойной щелчок по требуемому мастер-объекту возвращает пользователя в окно разработки приложения. Курсор принимает форму уголка с символом. Наконец, щелчок мыши на свободном месте окна приводит к появлению мастер-объекта в окне приложения. Для его конфигурирования (определения динамических свойств) следует дважды щелкнуть на мастер-объекте.

Например, двойной щелчок по кнопке Momentary Button (кнопка запуска), предварительно вставленной в окно приложения, выводит на экран диалог конфигурирования этой кнопки (рис. 1.7).

 

Достаточно ввести имя дискретной переменной, желаемый текст на кнопке, отметить несколько опций и нажать Ok.

 


Рис. 1.7. Диалог конфигурирования кнопки запуска.

 

Инструмент Bitmap инструментальной панели рисования позволяет копировать и встраивать в приложение InTouch растровые объекты (совокупность точек). С помощью него создается "контейнер" для последующей вставки объекта из папки обмена Windows либо файлов с расширением .BMP, .JPG, .PCX, .TGA. Для WindowMaker растровое изображение является единым объектом. Невозможно ни анимировать его отдельные части, ни вставлять Bitmap - объекты в символы (можно вставлять в компоненты). Такой объект можно развернуть на рабочем поле на 90, 180, 270, 360 градусов, а также определить для него цвет "прозрачности", чтобы через него можно было видеть и другие объекты.

Тренды. InTouch предлагает пользователю два сложных объекта типа тренд: тренд реального времени и исторический (архивный) тренд. Эти объекты позволяют отображать в виде графиков значения данных реального времени (4 пера) и архивных данных (8 перьев). Оба типа трендов создаются при использовании специальных инструментов панели рисования окна WindowMaker с последующим конфигурированием. Подробная информация по созданию и конфигурированию трендов будет приведена в соответствующей главе.

 

2. Графические средства Citect

Компоненты среды разработки Citect:

  • Citect Explorer - представление списка проектов и их стандартных папок в иерархическом виде с доступом к любому компоненту проекта;
  • Project Editor (редактор проектов) - среда создания, конфигурирования и редактирования задач, не связанных с графическими страницами проекта;
  • Graphics Builder (построитель интерфейсов) - среда создания и редактирование графического интерфейса;
  • Cicode Editor (редактор Cicode) - полнофункциональная интегрированная среда для создания и отладки программ на языке Cicode.

 

Проект Citect обычно состоит и целого ряда страниц (Pages), которые выводятся на экран компьютера. Эти графические страницы обеспечивают "окно в процесс". С помощью графических страниц происходит процесс взаимодействия оператора с системой управления, в том числе восприятие данных и ввод управляющих воздействий. Важно создать графические страницы таким образом, чтобы они охватывали весь технологический процесс и предоставляли оператору всю необходимую для управления информацию. Причем процесс создания графических страниц проекта должен быть максимально упрощен, и разработчика надо снабдить полным и удобным инструментарием.

Citect предлагает разработчику следующие возможности:

  • шаблоны большинства типов наиболее часто используемых страниц (окон);
  • инструментарий для создания и динамизации графических объектов;
  • специальный редактор - Bitmap Editor для создания точечных изображений;
  • библиотеку статических объектов (Library Objects);
  • библиотеку джинов и суперджинов.

 

2.1. Шаблоны окон операторского интерфейса

 

Ниже приведено описание некоторых шаблонов Citect, хранящихся в библиотеке:

  • Blank - шаблон пустой страницы;
  • Normal - шаблон базовой страницы для создания мнемосхем технологических процессов;
  • PageMenu - шаблон для создания страницы меню, которая позволяет оператору быстро переходить к другим страницам или группам страниц проекта;
  • BookMenu - шаблоны для создания меню в формате книг;
  • TabMenu - шаблоны для создания меню в формате таблиц;
  • Single Trend - шаблон для создания страницы с одним окном трендов, в котором имеется до 8 перьев;
  • Double Trend - шаблон для создания страницы с двумя окнами трендов, в каждом из которых имеется до 8 перьев;
  • Compare Trend - шаблон для создания страницы c двумя трендами, наложенными один на другой в целях их сравнения;
  • Pop Trend - шаблон для создания маленькой страницы трендов, которая будет играть роль выпадающей страницы;
  • Alarm - шаблон для создания страницы текущих алармов;
  • Summary - шаблон для создания страницы сводки алармов;
  • Hardware - шаблон для создания страницы аппаратных алармов.

 

Некоторые шаблоны страниц (для вывода алармов, трендов и статистических графиков) уже сконфигурированы и остается лишь ввести имена требуемых параметров. Независимо от выбранного шаблона в нем уже представлены все необходимые элементы: рамки, линейки и т.д.

Последовательность расположения страниц в проекте определяется при проектировании системы управления в диалоге Properties (Свойства страницы). С помощью средств навигации (клавиш) оператор имеет возможность последовательно переходить с одной страницы на другую в порядке возрастания (клавиша Next) или убывания (Prev). Всегда под рукой у оператора находятся клавиши перехода на страницы алармов (текущие алармы, аппаратные алармы и сводка алармов).

 


Рис. 2.1. Шаблон страницы проекта.

 

Для быстрого перехода на произвольную страницу предусмотрена клавиша Select (выбор). В каждом шаблоне страницы представлены средства отображения аварийных ситуаций и кнопка вызова справочной системы (рис. 2.1).

Доступ к диалогу для выбора типа шаблона осуществляется из Citect Explorer (Project Editor) выбором соответствующей папки (команды).

 


Рис. 2.2. Диалог выбора шаблона.

 

По умолчанию в открывшемся диалоге (рис. 2.2) выбран шаблон типа Normal, позволяющий создавать уникальные окна. Выше было сказано, что в шаблоне этого типа разрабатываются мнемосхемы технологических процессов.

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

Готовые шаблоны страниц (окон) - это безусловный плюс SCADA - пакета, так как они позволяют разработчику экономить значительное время. Если несколько страниц проекта созданы на базе одного и того же шаблона, легко модифицировать сразу всю эту группу страниц, производя изменения только в шаблоне. При включенной опции Linked все страницы группы изменятся автоматически. Наконец, применение в проекте типовых шаблонов позволяет унифицировать внешний вид страниц проекта, что положительно скажется на работе оператора. Щелчок по клавише Ok диалога выбора шаблонов переносит читателя в построитель интерфейсов Graphics Builder.

 


Рис. 2.3. Страница на базе шаблона Normal с примерами объектов.

 

На рабочем поле окна Graphics Builder (рис. 2.3) размещен шаблон Normal с инструментарием. Слева и справа от инструментария представлены примеры объектов, созданных с помощью различных инструментов.

 

2.2. Инструментарий

 

Инструментарий включает 14 различных инструментов и селектор (стрелка) для выбора объектов в окне.

 

Действия, необходимые для рисования объектов с помощью инструментов, представленных выше, очень просты и могут быть быстро освоены.

Для рисования таких объектов, как прямоугольник (квадрат), окружность (эллипс), кнопка, тренд, надо щелкнуть левой кнопкой мыши по соответствующему инструменту, подвести курсор к выбранному месту рабочего поля и, нажав и удерживая левую кнопку мыши, растянуть объект до требуемых размеров.

Выбор инструментов "вставка объекта" или "вставка джина" открывает соответствующую библиотеку. Следует выбрать объект для вставки на графическую страницу и щелкнуть Ok.

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

После размещения объекта, созданного любым из инструментов, на странице автоматически появляется соответствующий диалог настройки свойств объекта. Объекты, созданные такими инструментами, как кнопка, тренд, вывод данных, вставка символов с заданием динамических свойств, выражение Cicode, вставка джинна, требуют настройки свойств.

Для редактирования свойств объектов следует дважды щелкнуть левой кнопкой мыши на соответствующем объекте.

Над объектами можно проделывать операции в Graphics Builder, используя меню Edit (правка), View (вид), Text (текст) и Arrange (выравнивание). Как и в других графических пакетах, объекты можно вращать, масштабировать, группировать, выравнивать и т.д.

В системе Citect набор свойств для большинства объектов - стандартный:

  • перемещение (Movement) - горизонтальное, вертикальное, вращательное;
  • размер (Size) - горизонтальный, вертикальный;
  • цвет заполнения (Colour Level Fill) и изменение цвета (Colour change);
  • команды по нажатию (Touch);
  • команды клавиатуры (Keyboard Commands);
  • ползунковый регулятор (Slider) - горизонтальный, вертикальный, вращательный;
  • видимость (Visibility);
  • блокировка (Disable);
  • управление доступом (Access control).

 

Свойства объектов определяются в диалоге Свойства (рис. 2.4.).


Рис.2.4. Диалог Свойства объекта с открытой закладкой Movement.

 

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

  • скорость обучения новых пользователей существенно возрастает;
  • упрощается работа по созданию графического интерфейса;
  • сокращаются сроки разработки проекта.

 

Диалог Свойства объекта содержит несколько закладок (рис. 2.4): Appearance (вид), Movement (перемещение), Scaling (масштабное изменение размеров), Fill (заполнение), Input (ввод), Slider (ползунок), Access (доступ).

Нажатие любой из этих закладок выводит на экран соответствующий диалог для конфигурирования свойств объекта. Закладка Appearance определяет характеристики внешнего вида объекта: тип контурной линии (толщина линии, тип, цвет), цвет заполнения, тень и т.д. Здесь же определяется видимость объекта для оператора (объект может появиться на экране или исчезнуть в зависимости от выполнения некоторого условия).

Объекты или группы объектов могут перемещаться в режиме исполнения (Runtime) при изменении значения переменной или выражения. По умолчанию при увеличении значения этого выражения объект перемещается вправо, а при уменьшении значения - влево.

В диалоге Movement/Horizontal (горизонтальное перемещение, рис.1.2.4) предлагается определить переменную или выражение, вызывающее перемещение объекта (поле Movement Expression), его минимальное и максимальное значения (Minimum, Maximum), а также расстояния в пикселях, на которые будет перемещаться объект влево (Left) при принятии выражением минимального значения и вправо (Right) при принятии выражением максимального значения (поле Offset).

Ширина объекта или группы объектов может динамически изменяться в режиме исполнения при изменении значения некоторого выражения. При увеличении/уменьшении значения выражения ширина объекта увеличивается/уменьшается, соответственно. В диалоге Scaling предлагается определить выражение, вызывающее изменение ширины объекта, его минимальное и максимальное значения, а также минимум и максимум ширины объекта в процентах от ширины нарисованного объекта.

На закладке Fill определяются степень (уровень) заполнения объекта или его цвет в зависимости от значения выражения или переменной в режиме исполнения. На рис.2.5 приведен диалог Fill/Level (уровень заполнения), где предлагается определить переменную или выражение, определяющее изменение уровня в объекте (поле Level Expression), минимальное и максимальное значения (Minimum, Maximum) уровня, процент закрашивания объекта при минимальном и максимальном значениях уровня (поле Level), а также направление закрашивания объекта (кнопки Fill Direction).

 


Рис. 2.5. Диалог Свойства объекта с открытой закладкой Fill.

 

Закладка Input предоставляет разработчику возможность связать с объектом некоторую команду (поле Up Command, рис. 2.6), которая будет выполняться при щелчке мышью на объекте. Можно также связать объект с командой, подаваемой с клавиатуры.

В диалоге Slider определяются объекты, которые можно использовать в качестве регуляторов. При перемещении объекта оператором (например, ползунка по шкале) значение соответствующей переменной будет меняться.

Название следующего диалога - Access (доступ) - говорит само за себя. Здесь определяется круг зон и объектов, доступных каждому из пользователей. Например, доступ к таким объектам, как регулятор, предоставляется не всем операторам, а только просмотр текущего состояния параметров процесса может быть доступен всем.

Каждая из рассмотренных закладок диалога Свойства объекта в свою очередь имеет боковые закладки. Например, диалог Movement (рис. 2.4) имеет три боковые закладки, связанные с типом перемещения: горизонтальное (Horizontal), вертикальное (Vertical) и вращательное (Rotational). В диалоге Fill (рис. 2.5) представлено две боковые закладки: Colour (цвет) и Level (уровень). Для других диалогов боковые закладки помогут задать такие свойства, как видимость, команды клавиатуры, команды, которые будут выполняться при нажатии на объект, и т.д.

При заполнении рассмотренных выше диалогов в них часто рекомендуется вводить имена переменных, используемых в проекте, и функции Cicode. С одной стороны, это занимает много времени, с другой - повышается вероятность допустить ошибку при вводе имени переменной или Cicode - функции. Во избежание этого в диалогах предусмотрена иконка , с помощью которой можно открыть список переменных проекта или список функций Cicode, соответствующих выбранному диалогу (рис. 2.6).


Рис. 2.6. Диалог Свойства объекта на закладке Input cо списком Cicode - функций.

 

Для вставки функции с аргументами следует отметить опцию Insert arguments. При этом выделенная инверсной подсветкой функция появится под окном списка функций с аргументами.

 

2.3. Bitmap Editor

 

Рисунок Bitmap представляет собой совокупность пикселей (точек). Этот рисунок может быть создан в специальном редакторе (Bitmap Editor) закрашиванием с помощью цветного карандаша ячеек сетки с разрешением в 1 пиксель. Рисунки Bitmap, как и обычные объекты, можно перемещать, изменять их размеры, копировать, использовать как динамические объекты.

 

2.4. Библиотека статических объектов (Library Objects)

 

При разработке операторских интерфейсов пользователю приходится использовать графические объекты, представляющие собой технологические аппараты (колонны, емкости, теплообменники и т.д.), участки трубопровода, клапаны и такие агрегаты, как насос, электродвигатель, контроллер и т.д. Как правило, это сложные объекты, полученные объединением множества простых объектов или рисунки типа Bitmap.

Создание каждого из этих объектов требует большого времени и может значительно затянуть разработку приложения. Для ускорения работы над проектом Citect предлагает разработчику библиотеку объектов (Library Objects), которая включает более 500 готовых графических компонентов.

Библиотека состоит из большого количества разделов (например, раздел емкостей, теплообменников, клапанов, насосов, иконок и т.д.), каждый из которых содержит широкий набор объектов определенного типа.

На рис. 2.8 представлен набор объектов раздела Емкости.


Рис. 2.8. Раздел Емкости библиотеки объектов.

 

Если же нужного объекта в библиотеке нет, его можно импортировать из других Windows - программ. В Citect можно копировать объекты самых различных форматов: .BMP, .DXF, .PCX, .WMF и многих других. В крайнем случае, объект можно нарисовать и, чтобы в дальнейшем он всегда был "под рукой", скопировать в "свою" библиотеку.

 

2.5. Genies и Super Genies (джины и суперджины)

 

Каждый графический объект на графической странице настраивается индивидуально. Часто при разработке графического интерфейса приходится создавать типовые группы объектов, предназначенные для решения конкретной задачи. Например, группа из трех объектов (кнопка "ПУСК", кнопка "СТОП" и индикатор состояния - лампочка зеленого/красного цвета) предназначена для пуска/останова насоса, электродвигателя, конвейера и т.д. с индикацией их состояния. Тогда каждый раз для решения этой задачи разработчику придется создавать эти три объекта и конфигурировать их (задавать свойства). Но таких задач на одной графической странице может оказаться много. Читатель уже понял, что время специалиста в этом случае будет расходоваться неэффективно.

Для решения подобных задач Citect предлагает механизм, названный джином. Предлагается объединить несколько связанных задачей объектов в группу, предварительно придав этим объектам соответствующие свойства, а затем сохранить эту группу в библиотеке джинов, которая устроена аналогично библиотеке объектов. Джин может управляться как единый объект (его можно копировать, перемещать, масштабировать и т.д.), при этом обрабатываются все составляющие джина.

Теперь на решение вышеописанной задачи уйдет гораздо меньше времени. Надо лишь выбрать требуемого джина из библиотеки, вставить его в графическую страницу и в появившийся на экране диалог ввести имя/имена переменной/переменных.

Citect предлагает два типа сложных объектов:

  • джины, которые размещаются на графической странице при проектировании системы, причем их количество на странице не ограничено;
  • суперджины, которые представляют собой динамические страницы, активизируемые в режиме исполнения для ввода/вывода данных.

 

Таким образом, основное отличие этих двух механизмов в том, что джин объединяет несколько объектов и привязан к странице, а суперджин является отдельной страницей. В каких случаях может быть полезен суперджин?

Когда технологические параметры поддерживаются на заданном значении контроллером (регулятором), оператор должен иметь возможность "вмешаться" в процесс (перейти с автоматического режима работы на ручной, изменить задание контроллеру). Постоянное нахождение на экране всех этих " рычагов " управления перегружает окно, к тому же пользоваться ими оператору приходится не часто. Вот тут и приходит на помощь суперджин (выпадающая страница).

Поскольку требования по управлению различными контурами регулирования идентичны, суперджин можно один раз создать, определив свойства его компонентов, и сохранить в библиотеку. Для использования суперджина на графической странице нужно лишь указывать его имя в команде, вызывающей этот суперджин на экран.

Объекты типа джин и суперджин позволяют экономить дисковое пространство компьютера, так как в его памяти хранится лишь одна копия.

Пакет Citect поставляется с библиотекой джинов и суперджинов. Вызов библиотеки производится автоматически при выборе инструмента Paste Genie (вставка джина). На рис. 2.9 приведен раздел Моторы библиотеки джинов.


Рис. 2.9. Раздел Моторы библиотеки джинов.

 

Часто суперджины и джины используются вместе. Это достигается привязкой джина к суперджину, когда одна из функций джина активизирует суперджин (выпадающую страницу). В библиотеке джинов Citect некоторые джины уже связаны с суперджинами (джины с символом руки).

Механизм работы джина, связанного с суперджином, будет более понятен, если читатель внимательно прочтет следующие несколько абзацев. Следует еще раз подчеркнуть, что речь пойдет только о механизме "срабатывания" , а не о методике создания джинов и суперджинов.

Например, на мнемосхеме технологического процесса имеется несколько центробежных насосов. По каждому насосу оператор должен получать информацию о скорости вращения и иметь возможность управлять работой насоса: включить/выключить насос, выбрать режим ручного или автоматического управления насосом.

Задача очень простая - можно создать джин, реализующий все эти функции. Примерный вид этого джина представлен на рис. 2.10а. На мнемосхеме представлено несколько насосов и для каждого нужен свой джин. Citect допускает любое количество джинов на странице, но она будет перегружена информацией, которая не нужна оператору постоянно.


Рис. 2.10. К описанию механизма суперджина

 

Предлагается второе решение этой задачи - создать джин и суперджин. Постоянно на мнемосхеме процесса присутствуют джины для управления насосами, один из которых представлен на рис. 2.10б. Но в этом случае они намного компактнее и не перегружают интерфейс. При определении свойств кнопки PUMP1 (насос1) джина на закладке INPUT (см. рис. 2.6) в этом случае надо задать команду, которая будет выполняться при ее нажатии. Примером такой команды может быть AssPopUp (sPage, sTag1..8):

  • AssPopUp - функция, открывающая суперджинн в выпадающей странице и имеющая следующие аргументы:
    • sPage - имя страницы суперджина;
    • sTag1..8 - имена переменных, связанных с суперджином.

Джин, связанный с суперджином (рис.1.2.10в), заранее создан и сохранен в библиотеку джинов и суперджинов. При определении свойств компонентов (кнопок) этого суперджина должны быть использованы заменяемые имена с синтаксисом ? type number ? :

    • type - тип переменной (т.е. string, integer, real или digital);
    • number - позиция имени переменной (1-8) в списке функции AssPopUp() джина, который вызывает страницу суперджина.

Применительно к рассматриваемому примеру функция (команда), вызывающая суперджин, может иметь вид AssPopUp("SGenie", "%PUMP%", "%STATUS%"), а заменяемые имена переменных суперджина - ?digital 1? и ?digital 2? .

Кнопки суперджина SGenie (рис. 2.10в) имеют следующие свойства:

Закладка - Appearance (General)
Опция
- Text

Закладка - Input (Touch)
Поле
- Command

СТАРТ

? Digital 1?=1

СТОП

? Digital 1?=0

АВТО

? Digital 2?=1

РУЧ

? Digital 2?=0

ВЫХОД

WinFree( );

 

В режиме исполнения нажатие кнопки джина PUMP1 активизирует команду AssPopUp("SGenie", "%PUMP%", "%STATUS%"). При этом произойдет подстановка первой переменной PUMP в заменяемое имя ?digital 1?, а второй переменной STATUS - в заменяемое имя ?digital 2? суперджина, что вызовет появление выпадающей страницы с пультом управления насосом PUMP1 (рис. 2.10в). После выполнения действий по управлению насосом выпадающая страница может быть закрыта щелчком по кнопке ВЫХОД (функция WinFree( ) закрывает страницу).

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

 

3. Сравнение графических средств

 

Безусловно, графический интерфейс рассматриваемых систем достаточно многообразен. Но следует отметить, что подход к инструментарию различен.

  • CiT - компания имеет большой опыт в разработке проектов. Взгляд CiT- это взгляд разработчика, который из опыта "ощущает", какие готовые решения следует предложить для ускорения и упрощения разработки мнемосхем технологического процесса.
  • Wonderware - компания с большим опытом разработки инструментальных прикладных систем. Многим знакомый Windows - подобный интерфейс (по предлагаемым панелям, по способу создания окон) позволяет интуитивно использовать навыки работы в Windows. Библиотеки сложных графических объектов позволяют пользователю решать как вопросы дизайна (не все же художники !), так и сокращения времени разработки.
  • Библиотеки Wizards в InTouch включают тысячи мастер-объектов. Воспользоваться Wizard - объектом просто хотя бы потому, что любое неправильное действие по его конфигурированию проверяется при закрытии каждого диалога. Если какое - то поле заполнено неправильно, то об этом предлагается информация с целью модификации неправильных параметров.
  • Citect предлагает библиотеки символов, джинов и суперджинов. Использование всего арсенала названных средств предполагает:
    • концептуальное понимание;
    • заполнение диалоговых панелей свойств с целью анимирования сопровождается диагностикой лишь серьезных ошибок, а весь список ошибок появляется лишь на этапе компиляции проекта.
  • Наконец, InTouch ориентирован на более широкий круг разработчиков операторских интерфейсов, так как он не предъявляет высоких требований к пользователю с точки зрения программирования. С этой работой после небольшой подготовки справится специалист-технолог или инженер по автоматизации технологических процессов.
  • Citect предлагает более гибкий инструментарий, оставляя возможность пользоваться простыми средствами. Но соблазн велик! Для более полного использования возможностей Citect желательна более квалифицированная подготовка разработчиков приложений