ЛР3 Vijeo Citect: Основи розробки людино-машинного інтерфейсу (графічної підсистеми) в SCADA Vijeo Citect
Додаток 3.1. Базові можливості графічної підсистеми та робота з графічним редактором Vijeo Citect
Д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"; для користувача це умовно можна назвати "змінною"