Учебное Пособие По Wincc Oa. Часть 7. Навигация: Создание Интерфейса Arm

В прошлый раз мы рассмотрели, как можно открыть дополнительные окна в WinCC OA. Теперь приступим к созданию полноценного интерфейса операторской системы.

Как правило, в АСУ ТП система оператора состоит из области навигации (перехода между мнемосхемами), расположенной в верхней части экрана, основного рабочего поля и области сигнализации, расположенной в нижней части.

Создаем Главную панель, в которую будем встраивать остальные компоненты.

Делаем его размер больше размера панели закрылков.



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

С помощью Cut and Paste (вырезать/вставить) перемещаем панель сигнализации с панели закрылков на главную панель и регулируем размер панели сигнализации.



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Давайте создадим кнопки для открытия панелей «Закрылки» и «Тенденции».



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

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

В WinCC OA эта рабочая область называется Embedded Module (можно провести аналогию с Screen Window или Picture Window портала или классической WinCC).

Embedded Module буквально означает «Встроенный модуль».

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

Встроенный модуль расположен среди инструментов графического редактора.



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Разместим его на свободном месте Главной панели.

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

Можешь спрашивать, а можешь нет. Давайте пока обойдемся без излишеств, анимацию не ставим.



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Здесь возникает еще один тонкий нюанс.

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

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

Расширенная вкладка.

Ниже приведен скриншот вкладки «Пуск».

Там написано, что имя модуля — EMBEDDED_MODULE1, и это неправильное имя.



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Это неправильное имя Правильное имя модуля находится на другой вкладке, и в моем случае по умолчанию используется Vision_1.

Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

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

.



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Теперь нужно настроить действия по нажатию кнопок FLAPS и TRENDS. Устанавливаем событие Clicked, работаем в текстовом режиме (в этот раз не с помощью мастера).

Нам нужна функция RootPanelOnModule. Можно и нужно использовать автоподстановку.

Например, сейчас я набрал текст RootPanel и нажал кнопки CTRL+TAB.

Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Если функция выделена синим цветом, то все в порядке.

Если он черный, значит в названии функции ошибка.

Не забывайте, что регистр в имени функции также играет роль.

Первый параметр этой функции — имя панели.

У меня это «Flaps.pnl».

Второй параметр — название панели, пусть это будет «Закрылки».

Далее идет имя модуля, мы его просто задали «Модуль».

Последний параметр функции — это параметры, передаваемые непосредственно в панель.

Тип этой переменной — dyn_string — динамический массив строк неопределенного размера.

Теперь мы не будем передавать никаких дополнительных параметров, но это значение необходимо указать.

Объявим переменную типа dyn_string и укажем ее в вызове функции открытия панели.

Получаем следующий код открытия окна

Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Скрипт для кнопки ТЕНДЕНЦИИ выглядит аналогично.



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Я хотел бы отметить, что модуль является независимой сущностью.

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

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

Внесем косметические изменения в панели «Закрылки» и «Тренды», удалим ненужные элементы (панель сигналов и кнопку справа) и изменим размер панелей.



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Запускаем на исполнение окно Main.pnl и проверяем поведение кнопок FLAPS и TRENDS. Все должно работать.

Если не помогло, ищите ошибки.



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM



Учебное пособие по WinCC OA. Часть 7. Навигация: создание интерфейса ARM

Теги: #Промышленное программирование #scada #siemens #simatic #wincc

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.