Команды управления самим сценарием

Parent Previous Next


В этой команде имеется обязательный параметр - имя режима. Она  устанавливает указанный режим как текущий. Кроме того, эта команда позволяет отменить назначенный ранее режим. Более подробно о режимах описано в разделе сценарии, закладка  "Режимы".


Для реализации многих пользовательских задач, требуется обычная временная задержка в выполнении сценария, для этого служит команда "Таймер", в которой указывается величина задержки. Например, если надо включить освещение на 10 минут и потом выключить его, создаётся такой сценарий:


               команда "Включить" "лампа освещения"

               команда "таймер" 00:10:00

               команда "Отключить" "лампа освещения"


Таймера по типу запуска различаются на два типа:

Тип "Обычный" - добавляет таймерное задание в список текущих таймеров.

Тип "Перезапускаемый" - проверяет, есть ли такое задание для данного логгера,датчика, события, сценария, номера шага. Если есть - обновляет время, если нет - как и тип "Обычный"  добавляет таймерное задание в список текущих таймеров.

Приводим пример использования "перезапускаемого" таймера.

Задача: по сигналу от датчика движения надо включать освещение на 3 минуты, после этого выключить. Причём, если в течение этого времени поступит ещё один сигнал от датчика движения, надо существующую таймерную задержку увеличить на 3 минуты.

Решение: используется пример сценария, приведённый выше, причём в команде "таймер" указывается тип таймера - "перезапускаемый". Кроме того,  в окне настройки цифрового датчика, подключенного к датчику движения, на панели настройки условия запуска сценария,  надо убрать галку "выполнять не чаще, чем" и поставьте галку "если уже выполняется, запускать новый".


В процессе  выполнения таймерные задержки видны в окне "Сценарии" на закладке "Текущие таймера". В этом списке показываются те таймера, которые в данный момент времени выполняются в различных сценариях.


Команда "Цикл" означает повторять некоторую последовательность команд сценария указанное количество раз, начиная с указанной метки. Например, при превышении температуры, пять раз включить и отключить устройство "звуковая сирена" с интервалом 3 секунды. Для этого создаётся сценарий такого типа:


               команда "Включить" "звуковая сирена",                   метка: M1

               команда "таймер" 00:00:03

               команда "Отключить" "звуковая сирена"

               команда "таймер" 00:00:03

               команда "Цикл" количество 5 начиная с метки M1


Примечание: переход выполняется всегда назад, т.е. метка, с которой выполнять повторение должна находиться выше по списку относительно самой команды "Цикл".


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

Примечание: переход может выполняться в любом направлении в пределах данного сценария.


Эта команда позволяет выполнять так называемое "ветвление" сценария во время выполнения в зависимости от текущего состояния указанного датчика. Для этой команды надо выбрать датчик из списка наименований. Затем, в зависимости от типа датчика, указывается параметр для анализа. Если датчик температурный или аналоговый, выбирается условие сравнения (">", "<", "=") и собственно величина для сравнения. Если датчик цифровой, выбирается сигнал на входе датчика для анализа. Во время выполнения сценария в этой команде выполняется проверка указанного условия и если условие верное, выполнение сценария продолжается с указанной метки. Если условие не совпадает с заданным, выполняется следующая команда сценария по порядку.

Примечание: переход может выполняться в любом направлении в пределах данного сценария.

Стоит отметить, что список датчиков для данной команды формируется из тех датчиков, которые в данный момент используются в логгерах. При выполнении команды анализируемые величины сравниваются со значениями датчиков в логгерах. Исключение составляют два внутрипрограммных датчика:

- "Системный таймер"

- "Системный календарь"

Эти "устройства" всегда имеются в списке датчиков и представляет собой текущее время и день недели. Данные для них берутся из операционной системы "Windows".

Кроме вышеперечисленных датчиков, в анализируемый список включаются устройства, находящиеся в окне "Управление оборудованием". Эти устройства добавлены для того, чтобы была возможность создавать ветвления в сценариях в зависимости от состояния устройств управления. Причём, анализируется не само физическое состояние устройства, а его статус в окне ручного управления.

В качестве анализируемой величины может использоваться значение датчика, вызвавшего выполнение данного сценария. Для этого из списка надо выбрать строку "Текущий датчик". Конечно, такая команда корректно выполняется только в том случае, если запуск сценария организован в окне настроек сенсора.

В итоге стоит заметить, что команда "Условие перехода на метку" корректно выполняет анализ и переход на метку только в том случае, если логгеры системы Бенукс находятся в состоянии "сканирование".


Прекращает выполнение текущего сценария. Эта команда необязательная, в конце сценария её можно не ставить. Она может использоваться в сложных сценариях с использованием циклов и условий перехода на метку для выхода из сценария в середине участка.



Примечание: при использовании команд, выполняющих переход на метку ("Цикл", "Безусловный переход", "Переход по условию") очень важно логику сценария строить таким образом, чтобы избегать бесконечные циклы, не имеющие внутренней таймерной задержки (команда "Таймер").

Технически, использование бесконечного логического  цикла допустимо, если  внутри цикла имеется некоторая таймерная задержка. Причём, выйти из такого цикла можно кнопками "Запуск сканирования" или "Стоп сканирования", находящиеся  в окне логгера или через команды основного меню "Работа".

































Created with the Personal Edition of HelpNDoc: Easily create HTML Help documents