Print bookPrint book

ЛР3 Vijeo Citect: Основи розробки людино-машинного інтерфейсу (графічної підсистеми) в SCADA Vijeo Citect

Site: Школа автоматики
Course: SCADA/HMI
Book: ЛР3 Vijeo Citect: Основи розробки людино-машинного інтерфейсу (графічної підсистеми) в SCADA Vijeo Citect
Printed by: Guest user
Date: Tuesday, 29 September 2020, 3:42 AM

Table of contents

Створення сторінок, символів та анімації

Тривалість: 4 акад. години (2 пари).

Мета: ознайомлення з основними можливостями графічної підсистеми та опанування роботи з графічним редактором Vijeo Citect.   

Завдання для виконання роботи

Цілі.  

  1. Опанувати основні діяльності зі створення/редагування сторінок, символів та анімації у Vijeo Citect.
  2. Навчитись користуватися Cicode виразами, командами та вбудованими функціями.

Лабораторна установка

Апаратне забезпечення: ПК.

Програмне забезпечення: UNITY PRO V>=4.0, Vijeo Citect 7.2 (або новіше).

Порядок виконання роботи.

1. Поверхово ознайомтеся зі змістом всіх додатків до лабораторної роботи.

2. Завантажте в імітатор контролера підготовлений проект Unity PRO, що описаний у файлі Завдання.

Запустіть його на виконання. Перевірте його працездатність.

3. Запустіть середовище розробки Vijeo Citect 7.2. Зробіть відновлення свого проекту з резервної копії, збереженої минулої лабораторної роботи.

За необхідності, зробіть компіляцію проекту. Запустіть свій проект на виконання і перевірте його працездатність, наприклад, змінюючи одну зі мінних у Vijeo Citect і перевіряючи ці зміни в імітаторі ПЛК.    

4. Створіть та збережіть сторінки (див. Робота зі сторінками Д3.1.2) відповідно до налаштувань:

-          на базі стилю: "tab_stye_l";

-          шаблон: "Normal"

-          "разрешение": за замовченням

-          колір фону: "Color 80"

-          інші налаштування вказані в таблиці 3.1.

Таб.3.1. Налаштування основних сторінок проекту.

Назва сторінки

Заголовок вікна

Опис (не обов'язково)

Base

Загальна мнемосхема

загальна мнемосхема усього виробництва

Tanks

Установка приготування продукту

мнемосхема налаштування установки приготування продукту

Heat

Установка підігріву

мнемосхема налаштування установки підігріву

 

5. Скопіюйте в папку свого проекту файли "Tanks.bmp" та "Hea.bmp", які розміщуються поряд з іншими фалами до лабораторних робіт.

6. На сторінку "Tanks" імпортуйте рисунок "Tanks.bmp" ("Файл"->"Импорт" див. Д3.1.3 Графічні елементи).

Замініть білий фон на прозорий. (див. Робота з кольорами Д3.1.6). За необхідності налаштуйте зображення під розміри сторінки. Збережіть сторінку.

7. На сторінку "Heat" імпортуйте рисунок "Hea.bmp".

Замініть задній фон на прозорий. За необхідності налаштуйте зображення під розміри сторінки. Збережіть сторінку.

8. Скомпілюйте проект, запустіть його на виконання та перевірте чи вірно вони відображаються.

9. Зафіксуйте імпортовані рисунки на сторінках "Tanks" та "Heat", щоб вони були в якості підкладки (див. Д3.1.3 Графічні елементи ).

10. Вставте символ "Tank_tall_large" з бібліотеки "Tanks_cyl_conb_30" для танків Т1 та Т2.

Налаштуйте їх розміри за необхідністю. (див. Д3.1.15 Робота з символами ).

11. Вставте символ "Tank" з бібліотеки "Tanks_cyl_conb_30" для дозаторів  D1 та D2.

Налаштуйте їх розміри за необхідністю.

12. Використовуючи прямокутники та градієнту заливу нарисуйте теплову камеру для танків.

13. Використовуючи елемент "Труба" нарисуйте усі трубні комунікації.

Кольори намагайтесь використовувати близькими до оригіналу, але не яскраві.

14. На сторінці "Tanks" видаліть рисунок- підкладку що був раніше зафіксований.

Результат має бути схожим на рис.3.1. Зробіть написи біля танків ("Т1" та "Т2") та на дозаторах ("D1" та "D2").

Рис.3.1. Фрагмент сторінки "Tanks" після створення векторного рисунку та видалення підкладки

15. Використовуючи елементи "кнопка" реалізуйте:

  • кнопку "Пуск", яка буде інвертувати змінну T_SB1 при натисканні (див. Д3.1.5 Обробка кліку );
  • кнопку "Ініціалізація кроків", яка буде виставляти в "1" змінну InitSFC;

16. Використовуючи елемент "Прямокутник" зробіть графічний індикатор роботи установки, який буде:

Збережіть сторінку, скомпілюйте проект та перевірте чи працює кнопка "Пуск" та графічний індикатор.

17. Використовуючи елемент "Числовое значение" зробіть текстовий індикатор для стану роботи програми та розмістіть на фоні графічного індикатору:

Збережіть сторінку, скомпілюйте проект та перевірте чи працює текстовий індикатор.

Перед цим не зупиняйте виконавчу систему, достатньо повторно відкрити змінену сторінку!

Надалі після кожного пункту намагайтеся перевіряти працездатність змін!

18. Використовуючи елемент "Прямокутник" та анімацію заливки реалізуйте стовпчикову діаграму для рівнів в танках Т1 та Т2:

19. Використовуючи  елемент "Числовое значение" зробіть текстовий індикатор для значень змінних тегів рівнів та температур в танках.

Значення повинно відображатися разом з одиницями вимірювання (див. Д3.1.8 Налаштування текстового відображення  , для налаштування формату див. лаб. роботу №2);

20. Використовуючи елемент "Еліпс" зробіть сигналізатори нижніх та верхніх рівнів дозаторів: темно-сірий в стані "0" та білий в стані "1".

21. Використовуючи символи з бібліотеки "valve_solenoid" (бажано сірого кольору) вставте зображення на місце клапанів подачі теплоагенту в танки.

Біля символів, використовуючи числове значення, реалізуйте виведення тегів T1_TV1 та T2_TV1;  

22. Використовуючи анімацію "Набор образов" та символи з бібліотеки "valve_solenoid" (бажано сірого та зеленого кольору) реалізуйте відображення команд на клапани набору та зливу танків та дозаторів, теги:  T1_LVS, T1_LVS2, T2_LVS1, T2_LVS2, T_LVS3, D1_LVS1, D1_LVS2, D2_LVS1, D2_LVS2. (див. Д3.1.15 Робота з символами).

23. Реалізуйте панель зміни рецепту для танку 1 (див. рис. 1 "Завдання"), використовуючи вже знайомі вам анімаційні елементи та анімацію введення значення з клавіатури:

  • для зручності (за бажанням) налаштуйте та включіть прив’язку до сітки через меню "Вид"
  • нарисуйте прямокутник для фону параметрів налаштування рецепту першого дозатору та впишіть туди текстові поля "D1","D2" і т.д.
  • створіть числові поля для виведення змінних першого рецепту, теги: T1_KS_D1CNT_SP, T1_KS_D2CNT_SP, T1_KS_TT1_SP, T1_KS_DEL_SP
  • для створених елементів зробіть можливість введення значення завдання з клавіатури (див. Д3.1.14 Робота з клавіатурними командами

24. Після перевірки працездатності попереднього пункту зробіть те саме для рецепту танку 2.

25. Використовуючи анімацію видимості покажіть переключення дозаторів на танк Т1 та танк Т2, теги: T_LVS3_T1OPN та T_LVS3_T2OPN (див. Д3.1.4.Властивості та анімація).

Розмістіть числове значення відображення рівня танку Т1 внизу зліва від стовпчикового індикатору (див. рис.3.2). Виділіть прямокутник (стовпчикову діаграму) та з використанням панелі статусу дізнайтеся його висоту. Використовуючи анімацію руху забезпечте рух даного елементу по вертикалі разом з видимим рівнем (див. Д3.1.12. Анімація руху). При цьому Ви можете скористатися отриманим значенням висоти для вказівки максимального зміщення. 

Рис.3.2. Місце розміщення числового індикатору рівня. 

27.Перевіривши роботу попереднього пункту, реалізуйте те саме для танку 2.

Зовнішній вигляд мнемосхеми в режимі виконання повинен бути схожим на рис. 3.3.

Рис.3.3. Варіант виконання мнемосхеми "Tanks"

Мнемосхема для процесу нагрівання ("Heat")

28. Використовуючи вже відомі вам елементи та анімацію, реалізуйте мнемосхему для процесу нагрівання ("Heat").

Для визначення змінних тегів, що використовуються в анімаціях, скористайтеся документом "Завдання", або/та операторським екраном Unity PRO (подивитися прив’язку елементів), так як імена тегів Vijeo Citect співпадають з назвою змінних в проекті ПЛК.  Можливий варіант кінцевої мнемосхеми показаний на рис.3.4:

  • нанесіть базові статичні векторні елементи та, за необхідності, символи поверх підкладки;
  • розмістіть числові елементи для відображення усіх плинних та заданих значень; для цього можете скористатися джинами "Parameter2" з бібліотеки "keyentry" для заданого значення, так як це було зроблено в лабораторній роботі №2);
  • видаліть підкладку
  • розмістіть елементи відображення стану та значень з відповідною анімацією: еліпси з анімацією кольору, лінії переключення з анімацією видимості;
  • розмістіть кнопки або інші зображення для керування станом програмного задатчика, веденого регулятору, блоку ручного управління;  

     Рис.3.4. Варіант виконання мнемосхеми "Heats". 

29. У елементі відображення заданого значення (але не джині) реалізуйте анімацію введення з віртуальної клавіатури (тег HEA_TC1_SP), як це показано в додатку  Д3.2.5. Функція виклику віртуальної клавіатури .

30. Реалізуйте можливість зміни значення виходу на клапан (тег HEA_TV1) за допомогою повзунку (див. Д3.1.13. Повзунок ):

  • нарисуйте вертикальну лінію і два прямокутника, як це показано на рис.3.5
  • визначте висоту лінії за допомогою статусної інформації
  • впишіть висоту лінії в якості максимального значення по вертикалі 

     Рис.3.5. Варіант реалізації вертикального повзунка. 

31. Створіть клавішу "cmdHome" (прив’язка до ESC) та "cmdInfo" (прив’язка до CTRL+I) як це показано в додатку  Д3.1.14. Робота з клавіатурними командами.

Створіть загальносистемну клавіатурну команду, яка забезпечує по натисненню "cmdHome" відкривання сторінки "Base". Створіть клавіатурну команду на сторінках "Tanks" та "Heat", яка буде викликати функцію InfoForm (див. Д3.2.4. Функція InfoForm). Перевірте роботу клавіш на усіх основних мнемосхемах.  

32. Зробіть резервну копію проекту, скопіюйте її на змінний носій.

У випадку роботи в лабораторії – покажіть викладачу, і з його відома видаліть свій проект з провідника проектів.  

Додаток 3.1. Базові можливості графічної підсистеми та робота з графічним редактором Vijeo Citect

 Д3.1.1. Редактор графіки

Для створення графічної частини проекту, тобто людино-машинного інтерфейсу SCADA Vijeo Citect використовується редактор графіки. У редакторі графіки створюються та редагуються такі об’єкти :

-          графічні сторінки (страницы, pages): дисплейні вікна з графічними елементами та анімацією;

-          шаблони сторінок (шаблоны, Templates): шаблони з графічними лементами та анімацією, що використовуються як основа для сторінок;

-          символи (образы, Symbol): набір графічних елементів що згруповані разом для багаторазового використання в якості готового бібліотечного графічного компоненту;

-          джини (джины, Genies): набір графічних елементів з анімацією, що можуть бути багаторазово використані як готовий анімований бібліотечний компонент (графічна функція);  

-          супер джини (супер Джины, Super Genies): спеціальний вид сторінки, що використовується у якості спливаючих діалогових вікон усередині джинів;

Доступ до цих об’єктів для створення, редагування чи видалення проводиться через меню "Файл" редактору графіки або розділу "Графика" провідника проектів (рис.Д3.1.1).

Рис.Д3.1.1. Доступ до елементів графічної підсистеми Vijeo Citect

Зверніть увагу, що видалення об’єктів можливе тільки у вікні відкриття, використовуючи копку "Удалить" (див. рис.Д3.1.1).

Ряд властивостей редактору графіки налаштовується у вікні "Инструменты"->"настройки". Зокрема там є опція вибору необхідності відображення системних сторінок (тих, назва яких починається з "!").

Для зручності розміщення елементів може знадобитися сітка, налаштування якої доступне через меню "Вид".   

Д3.1.2. Основи роботи з сторінками (Страницы, Page) та шаблонами (Templates)

Графічна підсистема у Vijeo Citect базується на представленні дисплейних вікон у вигляді сторінок (Страницы). Графічні сторінки створюються на базі шаблону, що означує для сторінки:

-          розміри вікна;

-          колір фону сторінки;

-          поведінку вікна сторінки за замовченням;

-          може мати вбудовані графічні елементи та анімацію;

 Шаблон полегшує створення сторінки, так як окрім властивостей розміру та кольору фону може мати велику кількість вбудованих графічних елементів та анімацію, що надає сторінці певну базову функціональність. Ці елементи шаблону не будуть доступні для редагування на сторінці і будуть видимі як фон. У шаблони вбудовують меню, банери тривог, панелі статусу та інші елементи, що необхідно бачити на всіх сторінках. На базі готових шаблонів Vijeo Citect дуже просто створити сторінки переглядачів тривог, трендів, звітів, вказавши тільки необхідний шаблон.

Протягом розвитку SCADA-програми Citect та Vijeo Citect розробники створили багато шаблонів, які відрізнялися своїм виглядом та підходами до побудови людино-машинного інтерфейсу. Ці шаблони створювалися як певний набір типових рішень з загальними властивостями (вигляд меню, тривог і т.п) та об’єднувалися єдиним стилем. Класичні стилі (bottom, standard, top, version2) увійшли як частина наперед-встановленого проекту "Include", який неявно включається у всі проекти. Інші стилі можуть бути використані при включенні інших наперед-встановлених проектів у свій проект. Так, наприклад, у попередній лабораторній роботі, при створенні нового проекту було вказано стиль Tab_Style1 (див.рис.2 з ЛР№2), після чого у включених проектах нового проекту (розділ провідника "Система"->"Включенные проекты") з'явився запис з іменем проекту "Tab_Style_Include".

При створенні нової сторінки, редактор графіки пропонує вибрати стиль з доступних в розроблювальному проекті та включених в нього проектах (рис.Д3.1.2). Рекомендується створювати сторінки в проекті на базі якогось одного стилю, інакше окрім стилістичних невідповідностей сторінок, можуть також виникнути непередбачувані ситуації, викликані конфліктом Cicode команд різних шаблонів. 

Після вибору стилю, у вікні створення вибирається розмір шаблонів сторінок, та сам шаблон. Для звичайних сторінок мнемосхем доцільно вибирати шаблон "Normal", який має класичні елементи навігації (меню), банери тривог та інші загальнодоступні на всіх сторінках елементи, характерні для даного стилю. Окрім шаблонів різних за призначенням типів сторінок (наприклад трендів, тривог, звітів), доступний також шаблон "blank", у якого відсутня будь-яка вбудована анімація. Такі сторінки можуть знадобитися, наприклад, для створення спливаючих вікон.  

Рис.Д3.1.2. Вибір шаблону для сторінок

За замовченням, зв'язок сторінки з шаблоном на базі якого вони були створені, залишається. Цю опцію ("Связанный") можна відмінити (див. рис. Д3.1.2), у цьому випадку зміни в шаблоні не будуть відбуватися на сторінці, яка створена на базі нього.

Вибір шаблону, розміру вікна, кольору фону можна зробити у будь який час шляхом зміни властивостей сторінки, які наведені у вкладці "Вид" (рис.Д3.1.3). Доступ до властивостей сторінки проводиться шляхом виклику пункту "Свойства страницы" контекстного меню сторінки або пункту меню "Файл"->"Свойства". Контекстне меню сторінки викликається правим кліком у будь-якому місці сторінки що не містить графічного елементу. 

Рис.Д3.1.3. Загальні властивості сторінок (вкладки "Общие" та "Вид")

У загальних властивостях сторінки (вкладка "Общие", див.рис.Д3.1.3) можна також вказати заголовок вікна, назву попередньої та наступної сторінки. Ці назви сторінок використовуються в режимі виконання у командах меню навігації.

За замовченням, період сканування сторінки береться з однойменного параметру проекту, однак його можна змінити для кожної сторінки окремо. Це значення вказує системі на те, з якою періодичністю на сторінці обробляти анімацію та виконувати Cicode-функції. Враховуючи, що в анімації використовуються значення змінних, вони також будуть оновлюватися з тією ж періодичністю.

Після будь-яких змін на сторінці, щоб вони збереглися в проекті, її треба зберегти "Файл"->"Сохранить". Після компіляції проекту, не обов’язково перезавантужувати всю виконавчу систему Vijeo Citect, для того щоб зміни вступили в силу. Достатньо повторно відкрити відредаговану та скомпільовану сторінку.

Інші властивості сторінок будуть розглянуті в інших розділах.  

Д3.1.3. Графічні елементи

Зміст графічних сторінок Vijeo Citect наповнюється графічними елементами. Вони розміщуються розробником на сторінці та налаштовуються на етапі розробки, використовуючи редактор графіки. Графічні елементи можуть бути статичними, які не змінюють свої властивості, та динамічними, одна або декілька властивосте яких залежить від значення змінних або результату виразів.

Вставка елементів може проводитись через команди пунктів меню здебільшого "Объекты" та "Правка".  Vijeo Citect для зручності пропонує палітру інструментів (див рис.Д3.1.4). Активація/деактивація відображення палітри доступна через меню "Вид"->"Показать инструменты". У останніх версіях Vijeo Citect пропонуються такі графічні інструменти:

-          для рисування ліній, прямокутників, еліпсів, багатокутників ("полигон");

-          "труба" - для рисування труб;

-          "текст" - для вставки статичного тексту

-          "число" - для вставки тексту, що змінюється в залежності від значення змінної чи виразу;

-          "кнопка" - для вставки командних кнопок;

-          "набор образов" – для вставки анімації, що показує на сторінці різні символи (образи) в залежності від значення змінної чи виразу;

-          "тренд" - для вставки елемента відображення змінної у вигляді простого тренду;

-          "объект Cicode" – для вставки функцій Cicode, що викликаються при кожній обробці сторінки; 

-          "символ" – для вставки бібліотечного графічного елементу;

-          "джин" – для вставки бібліотечного графічного елементу з вбудованою анімацією;

-          "ActiveX" – для вставки графічного компоненту ActiveX, який зареєстрований у Windows на даному ПК;

-          "анализатор процессов" – для вставки компонента Аналізатору процесу у вигляді тренду;

-          "элемент обмена с базами данных" – для вставки компоненту обміну з базами даних;

-          "Vijeo WEB Gate" – для вставки компоненту (вбудованого вікна) роботи з підключеною панеллю оператору Magelis XBT (виробництво Schneider Electric);

-        "Pelco Camera" -  для вставки компоненту роботи з камерами Pelco (компонент інсталюється окремо за необхідністю).  

Рис.Д3.1.4. Палітра інструментів та відповідні пункти меню графічного редактору.

 Налаштування багатьох графічних інструментів розглядається нижче. Елементи "Тренд", "Джин", "Анализатор процессов", "объект Cicode" будуть розглядатися в наступних лабораторних роботах.  Елементи "элемент обмена с базами данных", "Vijeo WEB Gate" та "Pelco Camera" не будуть задіяні в лабораторних роботах даного курсу.

На сторінки можна також  імпортувати графічні файли через меню "Файл"->"Импорт". Кольори імпортованої графіки можна відредагувати (наприклад замінити кольори) за допомогою вбудованих інструментів (див. Д3.1.6 робота з кольорами).    

Графічні елементи можна групувати, виділивши їх разом та викликавши відповідну команду з контекстного меню. Редагувати властивості елементів в середині групи можна доступившись до них через комбінацію "CTRL" + подвійний лівий клік миші.

Якщо необхідно зафіксувати певний набір графічних елементів, для використання їх в редакторі в якості фона, можна вибрати необхідні елементи та викликати команду меню "Правка"-> "Фиксировать объект". Для тимчасового відключення режиму фіксації для усіх фіксованих об’єктів на сторінці викликається команда "Правка"-> "Не учитывать фиксацию". Відміна фіксації для вибраних об’єктів проводиться через команду меню "Правка"-> "Отменить фиксацию".

Розміри графічних елементів та позицію курсору можна побачити в панелі статусу (нижній правий куток екрану).

Кожен елемент на сторінці має унікальний ідентифікатор – Animation Number (AN), який можна подивитися у його властивостях на вкладці "Доступ" в полі "Объект ТА". Ідентифікатор AN використовується в багатьох функціях в якості вказівника на елемент, який задіяний в функції. Крім того, за цим ідентифікатором можна зробити перехід до потрібного елементу, використовуючи меню "Инструменты" ->"Перейти к объекту".      

Д3.1.4. Властивості та анімація графічних елементів

Графічні елементи мають багато спільних налаштувань. Деякі з цих налаштувань означують залежність поведінки властивостей елементу в режимі виконання від значення змінної або виразу, а також ті операції, які необхідно провести при певних діях оператору. Якщо якась властивість елементу змінюється в залежності від значення змінної чи виразу, або, навпаки, операція над елементом приводить до певної дії – то кажуть, що цей елемент анімований або динамічний. Статичні елементи, такі як, наприклад, лінія, еліпс чи текст за замовченням не мають анімації, однак якщо їх властивість анімувати - вони стають динамічними. У Vijeo Citect до одного елементу можна застосувати декілька різних анімацій, змінюючи відповідні властивості. Властивості, що залежать від значення змінної чи виразу будемо також називати анімованими.  

Доступ до налаштування властивостей елементу відбувається через його контекстне меню (рис.Д3.1.5). Усі властивості згруповані в 2-х рівневі панелі налаштувань, де перший рівень надається через горизонтальні вкладки, а другий – через вертикальні закладки, що доступні на кожній вкладці. Так, наприклад, на рис.Д3.1.5 показані властивості "Вид"->"Общие". У вкладці "Вид" доступні також закладки "3D эффекты" та "Видимость".  

Рис.Д3.1.5. Налаштування властивостей елементу

Для анімації властивостей елементу, як правило, необхідно вказати Cicode вираз (див. також Д3.2.1). Вираз записується таким чином, щоб його результат давав значення потрібного типу, якого потребує анімація. Так, наприклад, на рисунку Д3.1.6 показане вікно налаштування властивості видимості елементу. У даному випадку елемент буде прихований, коли значення змінного тегу T1_LT1 буде більше нулю. Слід звернути увагу на те, що результат виразу у даному випадку повинен бути булевим (типу так/ні). Частковим випадком виразу є змінна (тег). У випадку анімації видимості (рис.Д3.1.6) замість виразу можна було б вказати тег типу DIGITAL.

Рис.Д3.1.6. Використання Cicode виразів  

Для вставки у вираз змінних та функцій можна скористуватися помічником (див. рис.Д3.1.7).

Рис.Д3.1.7. Помічник вставки змінних та функцій.  

Д3.1.5. Обробка подій кліку лівої кнопки миші "Ввод"->"Касание"

Базові графічні елементи мають можливість обробляти кліки миші для елементів. Налаштування обробників проводиться у вкладці "Ввод"->"Касание" (див. рис.Д3.1.8). Є можливість налаштувати команди (див.Д3.2.1. Cicode команди) для різних типів дій:

-          "вверх" - відпускання лівої кнопки миші;

-          "вниз" – натискання лівої кнопки миші;

-          "повторить" – тримання лівої кнопки миші в натиснутому стані.  

Рис.Д3.1.8. Налаштування обробнику лівого кліку миші.  

Для кожної дії прописується Cicode команда яка повинна виконуватися при виникненні дії (події). Наприклад, на рис.Д3.1.8 показане налаштування дії "Вверх", яке в режимі виконання забезпечить інвертування значення тегу T2_LVS1 після відпускання лівої кнопки миші. Слід звернути увагу на те, що в полі "Вверх команда" недостатньо просто вказати якесь ім’я тегу, адже у цьому випадку не буде відомо що саме треба зробити з цим тегом.

Для дії "Повторить" треба також налаштувати періодичність виклику команди ("Скорость повтора") при утриманні лівої кнопки натиснутою. У такому випадку "Повторить команда" буде викликатися з вказаною періодичністю.

У полі "Лог сообщение" вказується текст, що буде записаний в журнал дій оператору. Детальніше це буде розглянуто в наступних лабораторних роботах. 

Д3.1.6. Робота з кольорами у Vijeo Citect

Кольори для властивостей елементів Vijeo Citect можна вибрати з палітри існуючих ("предпочтительные цвета") або вписати їх в форматі RGB (див.рис.Д3.1.9). Палітру можна змінювати, тобто редагувати існуючі кольори палітри або добавляти свої. У палітру входять також такі специфічні кольори як кольори миготіння та прозорий (позначається хрестиком). 

Рис.Д3.1.9. Кольорова палітра та її налаштування.  

Палітру можна налаштувати також через меню "Инструменты"->"Редактировать предпочтительные цвета". Окрім палітри в меню інструментів доступні також утиліти налаштування та заміни кольорів (рис.Д3.1.10).

Рис.Д3.1.10. Інструменти налаштування та заміни кольорів.  

Д3.1.7. Властивості загального вигляду "Вид"

На вкладці "Вид" доступні загальні властивості зовнішнього вигляду елементу (рис.Д3.1.11). Кількість та перелік властивостей "Вид" та відповідно вкладок залежить від типу елементу. Для усіх елементів можливо налаштувати властивість видимості через вкладку "Видимость". Призначення інших властивостей розглянуто в інших розділах додатку. 

Рис.Д3.1.11. Налаштування загальних властивостей вигляду (вкладка "Вид").

Д3.1.8. Налаштування текстового відображення та анімації

Для текстових елементів на вкладці "Вид" доступні властивості тексту ("Вид"-> "Общие") та налаштування анімації тексту ("Вид"->"Отображаемое значение"). У таблиці Д3.1.1 наведений перелік можливостей налаштування анімації тексту.   

Таб.Д3.1.1.Типи анімацій тексту.

Властивість

Призначення

Коментар до прикладу

відображає різний текст при нульовому і ненульовому результаті виразу

При D1_LSH=0 відображає текст "Откл" інакше "Вкл"

відображає різний текст в залежності від комбінації станів дискретних (DIGITAL) змінних або виразів, що повертають 0/1; товстим шрифтом в станах показується стан 1  

D1_LSH=0 & D1_LSL=0 -> "порожній"

D1_LSH=1 & D1_LSL=0 -> "несправність датчика"

D1_LSH=0 & D1_LSL=1 -> " несправність датчика "

D1_LSH=1 & D1_LSL=1 -> "заповнений"

 

відображає різний текст в залежності від значення виразу  

HEA_TT1/25 ≈ 0 -> "дуже холодне"

HEA_TT1/25 ≈ 1 -> " холодне"

HEA_TT1/25 ≈ 2 -> "норма"

HEA_TT1/25 ≈ 3 -> "гаряче"

HEA_TT1/25 ≈ 4 -> "дуже гаряче"

 

відображає числове значення виразу з заданим форматом; якщо формат заданий як <default>, то він береться з налаштування тегу

відображає числове значення змінної HEA_TT1 у форматі 5 символів до коми і один після без одиниць вимірювання. 

відображає символьний рядок заданий виразом

відображає значення властивості "Description" (Коментар) тегу "D1_LSH"

Д3.1.9. Налаштування анімації кольору ("Заполнение"->"Цвет")

Елементи можуть змінювати колір в залежності від значення змінних або виразів. Для налаштування кольорів елементів на вкладці "Заполнение" доступні властивості анімації кольору ("Заполнение"->"Цвет"). Типи анімацій кольору зведені в таблиці Д3.1.2.

 

Таб.Д3.1.2.Типи анімацій кольору

Властивість

Призначення

Коментар до прикладу

змінює колір при нульовому і ненульовому результаті виразу

При D1_LSH=0 елемент заповнений темно-сірим кольором, інакше - білим

змінює колір в залежності від комбінації станів дискретних (DIGITAL) змінних або виразів  

D1_LSH=0 & D1_LSL=0 -> темно-сірий

D1_LSH=1 & D1_LSL=0 -> сірий

D1_LSH=0 & D1_LSL=1 -> мигаючий чорний-червоний

D1_LSH=1 & D1_LSL=1 -> білий

змінює колір в залежності від значення виразу  

HEA_TT1/25 ≈ 0 -> синій

HEA_TT1/25 ≈ 1 -> блакитний

HEA_TT1/25 ≈ 2 -> зелений

HEA_TT1/25 ≈ 3 -> рожевий

HEA_TT1/25 ≈ 4 -> помаранчевий

 

змінює колір в залежності від того, в який діапазон попадає значення виразу  

HEA_TT1 < 5  -> синій

5 < HEA_TT1 < 15  -> темно-синій

15 < HEA_TT1 < 85  ->  не змінюється відносно зданого у "Вид"

85 < HEA_TT1 < 95  -> бордовий

95 <  HEA_TT1 -> червоний

 

 

змінює колір градієнтно в заданому діапазоні залежності від значення виразу  

Колір визначається відповідністю значення HEA_TT1 у відсотках до градієнту світло-блакитного – темно-синього кольорів

Д3.1.10. Анімація заповнення ("Заполнение"->"Уровень")

Ступінь заповнення вибраним в налаштуваннях кольором графічного елементу може змінюватися в залежності від результату виразу, вказаного на вкладці "Заполнение" (рис.Д3.1.12). При цьому вказується відповідність ступені наповненості (у %) до вказаного діапазону виразу. Якщо у якості виразу вказується змінна, то діапазон може братися з властивостей діапазону тегу (мінімуму і максимум в одиницях виміру) для чого опція "Укажите диапазон" не виставляється. Колір заливки береться з властивостей загального вигляду, а фон вказується у властивості "Цвет фона". Вибір напрямку заливки вказується у властивості "Напр. зал:".

Рис.Д3.1.12. Налаштування анімацій заповнення (вкладка "Заполнение").

Д3.1.11. Анімація зміни розміру ("Масштабирование")

За допомогою анімації масштабування (вкладка "Масштабирование") можна прив’язувати ширину елементу (закладка "По горизонтали") та висоту елементу (закладка "По вертикали") у відсотках до їх нормальних розмірів у відповідності до результату виразу "Выражение масштаба" (див.рис.Д3.1.13). Можна задати мінімум та максимум виразу, що співвідносяться до 0% та 100% масштабу відповідно, для чого виставляється опція "Укажите диапазон" та вписуються потрібні значення. Якщо опція не вказується, то значення будуть братися з властивостей діапазону тегу (мінімуму і максимум в одиницях виміру), вказаного в полі "Выражение масштаба". Масштабування проводиться відносно осі, вказаної в налаштуваннях "Смещение центральной оси".

Рис.Д3.1.13. Налаштування анімацій зміни розміру (вкладка " Масштабирование ").

Д3.1.12. Анімація руху ("Движение")

Позиція елемента по вертикалі або/та горизонталі може бути прив’язана до значення виразу. Налаштування анімації руху проводиться через вкладу "Движение", відповідно в закладках "По горизонтали" та "По вертикали" (див. рис.Д3.1.14). Також можна реалізувати анімацію обертання через закладку "Вращающийся". Рух задається через зміщення елементу в пікселях відносно початкової точки. Зміщення при мінімумі результату "Выражение движения" задається відповідно до значення мінімуму величини, аналогічно для максимального зміщення. Мінімум та максимум величини може братися з властивостей діапазону тегу (мінімуму і максимум в одиницях виміру) або вказуватися явно, після виставлення опції "Укажите диапазон". 

Для анімації обертання вказуються не значення зміщення а кути обертання відносно початкової позиції. Точка осі, відносно якої буде відбуватися обертання вказується в "Смещение центральной оси".

Для одного елементу може одночасно задаватися анімація руху по двом осям і обертання.

Рис.Д3.1.14. Налаштування анімацій руху (вкладка "Движение").

Д3.1.13. Повзунок ("Регулятор")

У Vijeo Citect елемент можна рухати, тим самим змінюючи значення величини тегу. Ця анімація налаштовується через вкладку "Регулятор" (див. рис.Д3.1.15). Переміщення доступне по горизонталі чи вертикалі, або по обом осям одночасно. Зміщення в пікселях відносно початкового та кінцевого положення відповідає значенням властивостей діапазону тегу (мінімуму і максимум в одиницях виміру).

Опція "Непрерывное обновление тега" задає режим миттєвого запису значення в тег при кожному русі. Якщо опція не виставлена, то запис проводиться тільки після відпускання кнопки миші.  

На закладці "Вращающийся" можна задати поведінку кругового регулятору. Ця анімація доступна тільки при відсутності інших типів регулятору. Аналогічно анімації обертання, тут вказується кут повороту та зміщення початкової точки осі.       

Рис.Д3.1.15. Налаштування повзунку (вкладка " Регулятор ").

Д3.1.14. Робота з клавіатурними командами

У Vijeo Citect передбачена можливість обробки клавіатурних команд. Для цього спочатку клавішам клавіатури або їх комбінації дають певне ім'я, а потім назначають цій поіменованій клавіші певну клавіатурну команду, я якій прописують дію, що повинна виконуватися при натисканні цієї клавіші.

Багато клавіатурних клавіш вже прописані на рівні включеного системного проекту "Include". Це такі клавіші як "ENTER", клавіші миші та навігації. На рис.Д3.1.16 показаний приклад створення клавіші клавіатури з іменем "cmdHome" яка відповідає за натискання ESC (вказується в полі "Код клавиши"). Таке розділення назви клавіші та її реальної відповідності клавіатурі дає можливість у будь-який момент часу назначити іншу фізичну команду логічній клавіші.

Клавіші або їх послідовності надаються певні клавіатурні команди. Ці команди можуть бути назначені на:

-          рівні всіє системи, тобто незалежно від того, яка сторінка відкрита в даний момент (редагується в редакторі проектів "Система"->"Системные клавиатурные команды")

-          рівні сторінки, тобто команди будуть працювати на сторінці де вони означені (редагується в редакторі графіки у властивостях сторінки "Клавиатурные команды")

-          рівні елементу, тобто коли елемент отримує фокус вводу (редагується в редакторі графіки у властивостях елементу "Ввод"->"Клавиатурные команды"))

На рис. Д3.1.16 показаний приклад клавіатурної команди системного рівня, в якій при натисненні клавіші "cmdHome" буде викликана Cicode функція відкриття сторінки "Base". Тобто на будь якій сторінці при натисканні ESC буде відкрита основна сторінка проекту з іменем "Base". 

Рис.Д3.1.16. Створення клавіатурної комбінації (клавіші) та клавіатурної команди рівня усього проекту.

На рис. Д3.1.17 показаний приклад клавіатурної команди рівня сторінки (налаштовується у властивостях сторінки), в якому при натисканні одночасно клавіш "CTRL" та "I" буде викликана функція InfoForm. Клавіша "cmdInfo" створюється в редакторі проектів.

Рис.Д3.1.17. Створення клавіатурної комбінації (клавіші) та клавіатурної команди рівня сторінки.

На прикладі з рис.Д3.1.18 для одного з елементів (налаштовується у властивостях елементу "Ввод"->"Клавиатурные команды") означені дві клавіатурні команди назначені на  послідовності клавіш "PGUP" та "PGDN". Клавіші вже існують в проекті, так як вони прописані в "Include", тому їх не потрібно створювати. Таким чином, при попаданні фокусу на елемент, оператор зможе натискати "PgUp" для збільшення значення тегу "HEA_TC1_SP" та "PgDn" для зменшення.

Рис.Д3.1.18. Створення клавіатурної команди рівня елементу.

Для введення символьної послідовності або числового значення тегу у Vijeo Citect передбачені спеціальні змінні[1]: Arg1, Arg2 … Arg8. Якщо в символьну послідовність вписати декілька символів "#", то в режимі роботи набрана оператором послідовність з цієї кількості символів на клавіатурі буде записана в змінну Arg1 у вигляді текстового рядку. Якщо в набраній оператором послідовності зустрічається кома (",") наступні символи будуть записані в Arg2 і т.д. Таким чином оператор може ввести одразу до восьми текстових значень, розділених комою. Якщо необхідно вводити числове значення, замість Arg1 зручніше користуватися спеціальною змінною сторінки ArgValue1. На рис.Д3.1.19 показаний приклад налаштування властивостей клавіатурних команд елементу для введення числового значення з клавіатури. У даному випадку після натиснення оператором до 4-х символьних клавіш і клавіші "ENTER", у Arg1 буде збережене значення послідовності символів, яке пройшовши попередню перевірку на коректність значення буде записане у змінну "HEA_TC1_SP".

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

Рис.Д3.1.19. Створення клавіатурної команди для введення значення змінної.



[1] у даному випадку "змінна" - це умовна назва, так як даний механізм використовує записи міток в проекті "Include"; для користувача це умовно можна назвати "змінною"  

Д3.1.15. Робота з символами (образами) та анімацією символів ("Набор образов")

Символи (symbols) – це графічні елементи, згруповані разом і доступні в якості готового бібліотечного елементу. Бібліотеки символів, що доступні в проекті, включають в себе символи усіх включених в нього проектів. Враховуючи, що проект "Include" включається в проект неявно, розробнику доступний великий набір символів, які містяться в ньому. Кожен проект може вміщувати декілька поіменованих бібліотек, кожна з яких може містити десятки символів. Ім'я символу буде складатися з назви бібліотеки і безпосередньо імені самого символу, які розділені крапкою.

Вставку символу на сторінку можна зробити через відповідну кнопку панелі інструментів (рис.Д3.1.20). Спочатку вибирається потрібна бібліотека, потім символ. Вставлений символ за замовченням зв’язаний з бібліотечним прототипом. Такий зв'язок дає можливість змінюючи прототип в бібліотеці, автоматично змінювати усі його екземпляри. 

Рис.Д3.1.20. Вставка символу та елементу "Набор символів".

Для символів доступно декілька налаштувань анімацій, аналогічна іншим елементам. Додатково є спеціалізований елемент "Набор образов (символов)" (див. рис.Д3.1.20), призначений для анімації зміни символів у залежності від значення виразу. Більшість налаштувань типів зміни символів аналогічні до налаштувань анімації кольору (див. Д3.1.9), за винятком нового типу - "Анимиров." Ця анімація передбачає два стани:

-          стан відключення, тобто коли вираз повертає нульове значення: у цьому випадку буде відображатися символ вказаний як "Off"

-          стан включення, тобто коли вираз повертає ненульове значення: у цьому випадку зображення буде змінюватися покадрово, кожен кадр якого заданий символом "FrameX";

На рис. Д3.1.21 показаний приклад налаштування анімації, в якій буде відображатися сірий символ мішалки в стані Mixer=0, а при  Mixer=1 буде відбуватися поступова зміна зелених символів мішалки в різних позиціях, що дасть ефект її обертання.

Рис.Д3.1.21. Налаштування анімації набору символів "Анимир".

Треба врахувати, що анімація "Набор символов" може працювати тільки з символами в растровому форматі. Для перетворення векторних елементів в растр можна скористатися командою "Инструменты"->"Конвертировать в растровое изображение".

У графічному редакторі можна створювати свої символи ("Файл"->"Создать"->"Символ") і зберігати їх у власних бібліотеках. 

Додаток 3.2. Основи роботи з Cicode виразами та функціями

Д3.2.1. Мова Cicode, Cicode вирази та команди

Левова частка анімації Vijeo Citect реалізована через вирази та команди, що написані в форматі вбудованої мови програмування Cicode.

Cicode вирази (Cicode expressions) – це вирази, написані на мові Cicode, результатом виконання яких є певне значення, що може бути використане при анімації. Це може бути простою змінною чи константою, або виразом з арифметичними, логічними операціями або конкатенацією.

Cicode команди (Cicode commands) – це інструкція або набір інструкцій (операторів) для виконання, написаних на мові Cicode. По суті, це невеликі програми, написані на мові Cicode. Інструкції розділяються крапкою з комою і можуть викликати функції та змінювати значення змінних. Cicode команди можуть викликатися певними діями операторів (кліками миші чи натисканням клавіші, див. Д3.1.5 та Д3.1.14), при відкритті/закритті/відображенні сторінок (рис.Д3.1.22), при спрацюванні/відключенні тривоги (буде розглянуто в інших лабораторних роботах), при формуванні звіту, при реєстрації користувача в системі (буде розглянуто в інших лабораторних роботах). Також Cicode команди можна запускати з кожним перерахунком сторінки, помістивши на неї елемент "Объект Cicode".

Рис.Д3.1.22. Налаштування команд на різні події на сторінці.

У виразах та командах мови Cicode доступні операнди для наступних операцій:

-          арифметичні операції: "+" (додавання), "-" (віднімання), "/" (ділення), "*" (множення),  "MOD" (остача від ділення);

-          логічні операції: "AND", "OR", "NOT";

-          побітові логічні операції:  "BITAND", "BITOR", "BITXOR";

-          операції порівняння: ">" , "<", "=", "<>", ">=", "<=";

-          конкатенація: "+" (з'єднання двох рядків типу STRING);

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

Cicode - це повноцінна мова програмування, яка має можливості роботи з власними змінними, умовні оператори, оператори циклів, підтримують багатопоточність та багато чого іншого. Приклад функції на мові Cicode приведений на рис.Д3.1.23. Даний курс не передбачає створення власних функцій. З деталями Ви можете ознайомитися в розділі довідки "Cicode Programming Reference".

Рис.Д3.1.23. Приклад функції Cicode.

Альтернативою функціям на мові Cicode в Vijeo Citect є вбудована мова VBA (Visual Basic for Application), яка не розглядається в даному курсі.

Д3.2.2. Вбудовані Cicode функції

Функціональність Vijeo Citect багато в чому побудована на базі Cicode функцій, які надають гнучкості цій SCADA-програмі. Деяка частина функцій доступна у включених проектах та створена для реалізації обраного стилю. Ці функції доступні для перегляду та зміни у відповідних файлах через редактор Cicode. Інші функції є системними (нативними) і є частиною API (програмного інтерфейсу). Усі системні функції поділені на категорії для зручності доступу до їх опису в довідниковій системі (див. рис.Д3.1.24).

Рис.Д3.1.24. Категорії Cicode функцій у Vijeo Citect 7.2.

У даному курсі будуть використовуватися тільки деякі найбільш вживані функції. Нижче (в додатку) наведені ті функції, які використовуються у цій лабораторній роботі, інші будуть даватися в додатках до інших лабораторних роботах. 

Д3.2.3. Функція виклику сторінки (PageDisplay).

Функція відкриває сторінку, вказану в параметрі sPage типу STRING. Синтаксис (спрощений):

PageDisplay(sPage)

Приклад відкриття сторінки з ім'ям "Mimic":

PageDisplay("Mimic")

Д3.2.4. Функція надання інформації про елемент (InfoForm).

Функція відкриває вікно з інформацією про елемент, на якому знаходиться курсор. Синтаксис:

InfoForm(Mode)

де Mode - задає можливість відображення кнопки запису значення: 1-дозволено, 0 – не дозволено.   

Д3.2.5. Функція виклику вікна вводу значення з віртуальної клавіатури (FormNumPad).

Функція викликає вікно-форму вводу значення з віртуальної клавіатури. Синтаксис:

FormNumPad(sTitle, Input, Mode)

де

sTitle – текст, який виводиться в заголовку;

Input  - значення за замовченням, як правило вказується плинне значення величини, яка буде змінюватися;

Mode  - режим відображення форми вводу, може бути комбінацією (сумою) значень:   

  • 0 – стандартна клавіатура
  • 1 – поле вводу пароля
  • 4 – з кнопками "+/-"
  • 8 - з кнопкою "/"
  • 16 - з кнопкою "."
  • 32 - з кнопкою ":"
  • 64 - з кнопкою "AM", "PM" buttons

Результатом функції є введене значення. Приклад використання показаний на рис.Д3.2.1

Рис.Д3.2.1. Приклад використання функції FormNumPad для введення значення з віртуальної клавіатури по кліку миші на елементі.