Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Работа 3. Использование скриптов в InTouchЦель работы: - замена фиктивных переменных; - создание скриптов, запускаемых кнопками; - создание скриптов по условию. 1. Откройте окно Hopper. В этом окне представлен бункер высотой 200 пикселей. Синий указатель – курсор “привязан” к переменной HopperSetpoint ( задание уровня). Красный указатель служит для отображения текущего значения переменной HopperLevel (уровень в бункере). Запуск конвейера в дальнейшем следует «привязать» к дискретной переменной Conveyor_on. Конвейер будет включен/выключен при Conveyor_on = 1/0. Управление значением переменной Conveyor_on должно осуществляться кнопкой Conveyor_on Toggle. Нижняя крышка бункера “привязана” к переменной GateCount типа Integer. Полное открытие (перемещение) крышки - 30 пикселей. 2. При импортировании окна Hopper все относящиеся к этому окну переменные преобразовались в фиктивные, которые следует заменить на обычные. Нажмите клавишу F2 для выделения всех объектов в окне и выполните команду Special/Substitute Tags (замена переменных). 3. Нажмите Convert, затем Local для преобразования переменных. 4. Определите в словаре переменных следующие переменные: - Conveyor_on, Memory Discrete; - Gate, Memory Discrete; - GateCount, Memory Integer, Min Value – 0, Max Value - 100; - HopperLevel, Memory Real, Min Value – 0, Max Value - 100; - HopperSetpoint, Memory Real, Min Value – 0, Max Value – 100. Анимирование кнопок 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 следующее выражение:
|