Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Intouch_укр_база+скрипти.docx
Скачиваний:
19
Добавлен:
12.02.2016
Размер:
7.14 Mб
Скачать

Вбудовані функції

В пакеті InTouch є набір вбудованих функцій, які можуть бути пов'язані з командами або використані в скриптах для виконання найрізноманітніших завдань.

Всі вбудовані функції розбиті на чотири групи:

      • String ... - для обробки різних символьних рядків і змінних;

      • Math ... - математичні функції (працюють з цілими і речовими аргументами);

      • System ... - системні функції діляться на дві категорії: файлові (File) і для роботи з Windows - додатками (Info). застосовуються для виконання таких дій, як запуск іншого Windows - додатки, отримання інформації про програму, копіювання, знищення або переміщення файлів і т. д .;

      • Misc ... - функції для роботи з алармами розподілених систем (Ack), архівними трендами (HT), печаткою та ін.

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

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

По закінченні редагування скрипта слід натиснути кнопку Ok. при виявленні в скрипті будь-яких помилок на екран буде виведено відповідне повідомлення. У більшості випадків курсор встановиться в ту позицію, яка привела до появи помилки. Перш ніж скрипт буде збережений, всі помилки повинні бути виправлені.

Робота 4. Використання скриптів в InTouch

Мета роботи:

      • Створення скриптів, що запускаються кнопками;

      • Створення скриптів за умовою.

  1. Відкрийте вікно Hopper.

В цьому вікні представлений бункер заввишки 200 пікселів. синій покажчик

      • Курсор «прив'язаний» до змінної HopperSetpoint (завдання рівня). Червоний покажчик служить для відображення поточного значення змінної HopperLevel (рівень в бункері).

Запуск конвеєра в подальшому слід «прив'язати» до дискретної змінної Conveyor_on. Конвеєр буде включений / виключений при Conveyor_on = 1/0. Управління значенням змінної Conveyor_on повинно здійснюватися кнопкою Conveyor_on Toggle.

Нижня кришка бункера «прив'язана» до змінної GateCount типу Memory Integer. Повне відкриття (переміщення) кришки - 30 пікселів.

  1. При імпортуванні вікна Hopper всі стосовні до цього вікна змінні перетворилися в фіктивні, які слід замінити на звичайні. Натисніть клавішу F2 для виділення всіх об'єктів у вікні і виконайте команду Special / Substitute Tags (заміна змінних).

  1. Нажміть Convert, потім Local для перетворення змінних.

Анімацію кнопок HopperLevel

  1. Створіть скрипт, що запускається кнопкою «HopperLevel = 0» (Touch Pushbutton Action). Тип скрипта - On Key Down (виповнюється один раз в момент натискання на кнопку) - слід вибрати зі списку.

Натискання кнопки «HopperLevel=0» повинно обнуляти рівень в бункері.

  1. Створіть два скрипта Touch Pushbutton Action, що запускаються кнопкою «HopperLevel + 10».

Тип першого скрипта - On Key Down (виповнюється один раз в момент натискання на кнопку). Клацання по кнопці «HopperLevel + 10» повинно викликати збільшення рівня на 10 одиниць.

Тип другого скрипта - While Down (виконується періодично через задані інтервали часу поки натиснута кнопка) - також вибирається з списку, що випадає.

При утриманні кнопки «HopperLevel + 10» рівень повинен збільшуватися на одиницю кожні 1000 мсек (1сек).

  1. Перейдіть в середу виконання і перевірте роботу кнопок.

  2. Для анімації заповнення бункера створіть два скрипта по умові (Condition Scripts).

Перший скрипт встановлює змінну «Conveyor_on» в 1 (конвеєр включений), коли значення змінної HopperLevel менше, ніж заданий HopperSetpoint (Condition - умова, див. рис. внизу), і привласнює змінної «Conveyor_on» значення 0 (конвеєр вимкнений) при інших умовах.

Клацніть на Special / Scripts / Condition Scripts і створіть скрипт по умові типу On True (виповнюється один раз при переході умови в стан True). Скрипт цього типу включає конвеєр, якщо поточний рівень менше заданого.

Але конвеєр треба зупинити, якщо рівень буде дорівнює або більше заданого (перехід умови в стан False). Для цього стану скрипт виглядає наступним чином:

  1. Перейдіть в середовище виконання для перевірки роботи скриптів.

  2. Другий скрипт за умовою збільшуватиме значення змінної HopperLevel на 1 кожні 1000 мсек (1 сек.), Якщо змінна Conveyor_on = TRUE (конвеєр включений). Клацніть Script / New, потім Edit / Clear для очистки вікна редактора. Якщо в полі скрипта з яких-небудь умов є текст, очистіть його тією ж командою. Створіть скрипт типу While True(виповнюється безперервно, поки значенням умови є True):

  1. Перейдіть в середу виконання для перевірки роботи скриптів. Змініть завдання рівня переміщенням вгору синього покажчика.

  2. Нижньої кришці бункера присвоєно властивість Location / Horizontal (горизонтальне переміщення) і «прив'язане» воно до змінної GateCount типу Integer. Кришка закрита при значенні GateCount = 0. Коли GateCount = 30, кришка повністю відкрита. Кнопка Gate Control управляє значенням дискретної змінної Gate.

Створіть скрипт, який відкриватиме кришку бункера (збільшувати GateCount до 30), коли Gate == TRUE, і закривати кришку (зменшувати GateCount до 0), коли Gate == FALSE.

Спостерігати за роботою конвеєра і бункера можна тільки при відкритому вікні Hopper. Тому скрипт, анімує кришку бункера, повинен бути пов'язаний з цим вікном (скрипт рівня вікна - Window Scripts). Його тип - While Showing (виповнюється періодично через задані проміжки часу поки вікно відображається на екрані).

  1. Додайте скрипт типу On Show для цього вікна (виповнюється один раз в момент відкриття вікна) для того, щоб всі змінні і кнопки перебували в початковому стані при відкритті вікна Hopper.

13. В InTouch мається набір визначених функцій. Функцію InfoAppActive можна використовувати в скриптах для активізації програми Calculator (калькулятор). Якщо калькулятора немає на екрані, то скрипт запустить його. Інакше, скрипт буде працювати у фоновому режимі.

Створіть скрипт Touch Pushbutton Action типу On Key Down для кнопки «Calculator».

Розділ 5 АЛАРМ та події в InTouch

InTouch підтримує можливість відображення, реєстрації та друку інформації як про АЛАРМ, пов'язаних з аналоговими або логічними змінними, так і про системні події.

Типи алармов

Стандартні (бувають і розподілені) аларми поділяються за типом (Туре) на кілька категорій.

Дискретні аларми спрацьовують при зміні стану дискретної змінної. При цьому для спрацьовування аларму можна використовувати будь-яке з двох станів: TRUE / ON (1) або FALSE / OFF (0).

Аларми

Стандартний тип

Discrete

DISC

Deviation - Major

LDEV

Deviation - Minor

SDEV

Rate - of - Change

ROC

Value - LoLo

LOLO

Value – Low

LOW

Value - High

HIGHT

Value - HiHi

HIHI

Аналогові аларми базуються на аналізі виходу значень змінної за вказані верхні і нижні межі. Як видно з таблиці, аналогові аларми можуть бути задані в декількох комбінаціях:

      • Deviation (відхилення від норми);

      • Rate of Change - ROC (швидкість зміни).

      • Low і Low Low (нижній і нижче нижнього);

      • High і High High (верхній і вище верхнього);

З InTouch - змінної можна пов'язувати аларми будь-якого типу. В залежності від типу змінної для неї можна визначати один або більше класів та типів алармов.

Пріоритети алармів

Кожному аларм в InTouch відповідає деяка величина, звана пріоритетом аларму. Цей пріоритет характеризує важливість даного аларму і приймає значення від 1 до 999 (найбільш серйозні аларми мають пріоритет 1). Організувавши декілька діапазонів значень і зв'язавши аларми з кожним діапазоном, можна досить легко відфільтрувати критичні аларми від некритичних. Виконання анімаційних функцій, скриптів підтвердження, друк і перегляд інформації також можуть залежати від пріоритетів.

Групи алармів

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

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

Для створення груп алармів в меню вікна WindowMaker передбачена команда Special / Alarm Groups (групи алармів), що викликає появу діалогу Alarm Groups. При визначенні змінних в словнику Tagname Dictionary натискання кнопки Group також виводить на екран цей діалог.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]