Изучение SCADA-системы InTouch 10 (на примере разработки верхнего уровня АСУ ТП выпаривания метанола в водном реакторе), страница 45

Обычно создание графического интерфейса начинается с размещения в рабочем окне статических объектов. Такая последовательность действий объясняется ограниченной областью рабочего окна, на которой размещается множество элементов. Многие из элементов пересекаются и располагаются в одной и той же области координат на плоскости рабочего окна. Разграничение их функций и изображений обеспечивается многоуровневой структурой рабочего окна (поддерживается практически во всех SCADA-системах). Таким образом, элементы рабочего окна располагаются на различных по глубине уровнях. Такая технология применяется во многих других программных продуктах, например, AutoCAD, Photoshop и пр. Однако в InTouch, не смотря на наличие нескольких уровней, доступны только 2 команды: Send to Back и Bring to Front, которые перемещают выбранный объект на самый низкий и на самый высокий уровни соответственно, что несколько ограничивает возможности редактора, несмотря на то, что версия 9.5 поддерживает 10 уровней.

Маловостребованные элементы, то есть такие, к которым разработчику или корректору обращаться не придется, или число таких обращений будет мало, целесообразно располагать на более глубоких уровнях. Элементы, для которых требуется регулярная и частая настройка следует располагать на верхних уровнях, что облегчит доступ к ним. Чем больше различных элементов предполагается использовать в Вашем приложении, тем более тщательно необходимо спланировать размещение их по уровням. Это обусловлено тем, что к моменту завершения работ в графическом редакторе может возникнуть необходимость редактирования анимации или расположения отдельных элементов, созданных в начале. Такая же необходимость может возникнуть и на уже работающей системе, например, при изменении состава и структуры оборудования или приборов. При этом для доступа к ним может понадобиться изменение свойств (разрушение ячеек, символов) и местоположения других элементов (при переносе по уровням графические элементы могут становиться недоступными для выделения мышью, так как будут скрыты элементами, находящимися над ними). Результатом являются повышенные затраты рабочего времени и снижение эффективности работы программистов. Для облегчения доступа к таким элементам можно прикреплять «закладки». «Закладка» представляет собой элемент, расположенный вне отображаемой в режиме исполнения части окна (размер рабочего окна может быть больше 1024х768), и объединенный со статическим элементом в ячейку. В случае если возникнет необходимость переместить данную ячейку, но доступ к ней блокирован, можно воспользоваться закладкой для того, чтобы просто выделить данную ячейку и отвести в сторону. В качестве закладок удобно использовать подписи с текстом.

Вторая группа элементов – динамические элементы. К ним относятся анимированные объекты, элементы управления, средства индикации и нек. др. Объекты данной группы выполняются функции:

● предоставления предоставлять информации оператору;
● ввода данных в систему;

● визуализации технологических процессов (повышения читаемости мнемосхемы оператором).

Такие объекты следует размещать в верхних слоях. Доступ к ним не должен быть ограничен.

3.3 Графические элементы

Для того чтобы сократить трудозатраты и время на создание графического интерфейса, следует открыть оригинальный проект Dehydrator. Создайте в нем новое окно и следуйте дальнейшей пошаговой инструкции  по созданию интерфейса. Отработайте на практике все приведенные примеры по созданию отдельных элементов интерфейса. В отдельных случаях допускается скопировать некоторые элементы из старого окна в новое. Вносите свои изменения и добавления в оформление и структуру проекта. Впоследствии импортируйте полученные окна в Ваш собственный проект. Инструкция начинается здесь:

1 Разместите в рабочем окне объекты Wizards → Symbol Factory → Tanks → Tank 5 , Container  (2 шт. один из контейнеров используется для задвижки питателя), Round Reactor , Batch Tank , а также …Symbol Factory → Chemical → Air Scrubber , …Pumps → High Volume Pumps , Pumps → Horizontal Pump Left . Разместите их друг относительно друга в соответствии с проектом-оригиналом. Изменяйте размеры объектов, если требуется.  Не обязательно точно соблюдать исходное расположение элементов.