Анимирование кнопок HopperLevel.
5. Создайте скрипт,запускаемыйкнопкой «HopperLevel=0» (Touch Pushbutton Action). Тип скрипта - On Key Down (исполняется один раз в момент нажатия на кнопку) -следует выбрать из списка.
Нажатие кнопки «HopperLevel=0» должно обнулять уровень в бункере.
6. Создайте два скриптаTouch Pushbutton Action, запускаемых кнопкой«HopperLevel+10».
Тип первого скрипта - On Key Down (исполняется один раз в момент нажатия на кнопку). Щелчок по кнопке «HopperLevel+10» должно вызывать увеличение уровня на 10 единиц.
Тип второго скрипта - While Down (выполняется периодически через заданные интервалы времени пока нажата кнопка) – также выбирается из выпадающего списка.
При удержании кнопки «HopperLevel+10» уровень должен увеличиваться на единицу каждые 1000 мсек (1сек).
7. Перейдите в среду исполнения и проверьте работу кнопок.
8. Для анимирования заполнения бункера создайте два скрипта по условию(Condition Scripts).
Первый скрипт устанавливает переменную «Conveyor_on» в 1(конвейер включен), когда значение переменной HopperLevel меньше, чем заданное HopperSetpoint(Condition – условие, см. рис. внизу), и присваивает переменной «Conveyor_on» значение 0(конвейер выключен) при других условиях.
Щелкните на Special/Scripts/Condition Scripts и создайте скрипт по условию типа On True(исполняется один раз при переходе условия в состояние True). Скрипт этого типа включает конвейер, если текущий уровень меньше заданного.
Но конвейер надо остановить, если уровень будет равен или больше заданного (переход условия в состояние False). Для этого состояния скрипт выглядит следующим образом:
9. Перейдите в среду исполнения для проверки работы скриптов.
10. Второй скрипт по условию будет увеличивать значение переменной HopperLevel на 1 каждые 1000 мсек (1 сек.), если переменная Conveyor_on = TRUE(конвейер включен). Щелкните Script/New, затем Edit/Clear для очистки окна редактора. Создайте скрипт типа While True (исполняется непрерывно, пока значением условия является True):
11. Перейдите в среду исполнения для проверки работы скриптов.
12. Нижней крышке бункера присвоено свойствоLocation/Horizontal(горизонтальное перемещение) и «привязано» оно к переменной GateCount типа Integer. Крышка закрыта при значении GateCount=0. Когда GateCount=30, крышка полностью открыта. Кнопка Gate Control управляет значением дискретной переменной Gate.
Создайте скрипт, который будет открывать крышку бункера (увеличивать GateCount до 30), когда Gate == TRUE, и закрывать крышку (уменьшать GateCount до 0), когда Gate == FALSE.
Наблюдать за работой конвейера и бункера можно только при открытом окне Hopper. Поэтому скрипт, анимирующий крышку бункера, должен быть связан с этим окном (скрипт уровня окна - Window Scripts). Его тип - While Showing(исполняется периодически через заданные промежутки времени пока окно отображается на экране).
14. Добавьте скрипт типа On Show для этого окна (исполняется один раз в момент открытия окна) для того, чтобы все переменные и кнопки находились в начальном состоянии при открытии окна Hopper.
15. В InTouch имеется набор предопределенных функций. Функцию InfoAppActive можно использовать в скриптах для активизации программы Calculator (калькулятор).Если калькулятора нет на экране, то скрипт запустит его. Иначе, скрипт будет работать в фоновом режиме.
Создайте скрипт Touch Pushbutton Actionтипа On Key Down для кнопки «Calculator».
Функции также могут использоваться в поле Expression диалогов установки анимационных связей. Откройте окно Menu и анимируйте текст # MB для отображения размера свободного пространства на диске. Задайте текстовому объекту # свойство Value Display/Analog, введя в поле Expression следующее выражение:
InfoDisk («C»,2,$Second) /1000000