Урок 9


Урок 10. Конструкции системной памяти Урок 9. Расширение командных строк Урок 8. Разбор команд Урок 7. Временны'е команды Урок 6. Краткое описание команд Урок 5. Решение команд Урок 4. Вариации и таймеры Урок 3. Понятие командной строки. Вариации Урок 2. Понятие и структура lit-файла Урок 1. Программа Panelman II Расписание

Расширение командных строк

Команда установки режима, например М:1 всегда записывается в память прибора вместе с номером пользователя, который произвел изменение режима. Номер пользователя определяется вариацией %:. Это может быть использовано в командной строке для идентификации того, кто производит какие-либо действия, и реагировать соответствующим образом.

Команды установки режимов (1 - 7; литеры # 301 - # 307) могут быть легко дополнены, изменены или заменены. Это позволяет, в частности, создавать новые режимы работы системы, в том числе и интерактивные.

При изменении режимов или при создании новых, следует учитывать некоторые особенности командных строк режимов.

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

При установке режима на дисплее кратковременно отображается сообщение об установленном режиме, например: STANDBY MODE. Если команды М: нет, то на дисплее будет кратковременно показано сообщение из литеры # 141: NOT SELECTED. Чтобы этого не произошло, надо в командную строку режима вставить команду %* с соответствующей литерой, например:

# 305 " ...... :%*,105 ...... "

# 105 "VAULT ARMED"

Если сообщение, показываемое на дисплее по команде %*, заканчивается конструкцией =%Х (где %Х - любая вариация, например %Е), то текущее значение этой вариации будет показано на дисплее (вместо =%Х).

Если литера сообщения заканчивается конструкцией ?%Х, то текущее значение этой вариации показывается на дисплее, и пользователь должен ввести новое значение (или оставить текущее) и нажать клавишу ENTER. Максимальное значение, вводимое пользователем, определяется вариацией %+. Оно предустановленно в 99, но может быть изменено в командной строке. Минимум всегда 0.

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

Номер выполняемой литеры определяется вариацией %-. Ее предустановленное значение - 0, т.е. дальнейшая команда не выполняется.

Пример: Программирование пользователем времени выхода. Минимальное время 10 сек., максимальное - 60 сек. Устанавливается в режиме 5.

# 105 "SET EXIT TIME ?%E"

# 190 "EXIT TIME OK"

# 305 ":%*,105 :%+,60 :%-,382"

# 382 "%E>9[:%*,190]/[-305]"

Командная строка # 305 выполняется при наборе пользователем КОД + 5.

:%*,105

При установке режима показать на дисплее сообщение из литеры 105

:%+,60

Максимальное значение вариации, указанной в литере 105 (%Е), которое может ввести пользователь = 60.

:%-,382

По окончании ввода нового значения идти в литеру 382 и там продолжить выполнение команды.

Литера # 382 выполняется по окончании ввода пользователем нового значения

%E>9[:%*,190]

ЕСЛИ значение вариации (которое ввел пользователь) больше чем 9 (т.е. лежит в установленных пределах 10 - 60), ТО кратковременно показать на дисплее литеру 190 - EXIT TIME OK

/[-305]

ЕСЛИ нет, ТО вернуться в литеру 305 (для ввода правильного значения)

Эта интерактивная функция дает новые возможности в работе с прибором.

Для того, чтобы оставить место для ввода нового значения, при использовании вариаций =%x и ?%x, используемый в литере текст не должен быть длиннее, чем 15 знаков (в том числе пробелы).

Top

Команда =nnn (где nnn - номер текстовой литеры) используется для проверки присутствия на дисплее указанного сообщения.

Например: =128[B3]
ЕСЛИ на дисплее присутствует сообщение из литеры # 128
   CABINET TAMPER
    ТО включить зуммер с "мелодией" 3.

Top

Клавиши панели управления (за исключением клавиш с цифрами, SHIFT и ENTER) имеют свои командные строки. Нажатие клавиши инициализирует выполнение соответствующей командной строки, если эта строка не начинается со знака #, и если прибор находится в нормальном режиме работы, т.е. не производится набор кода.

# 392 "YES"

# 393 "NO"

# 394 "UNSET"

# 395 "PART"

# 396 "HALF"

# 397 "FULL"

# 398 "HELP"

# 399 "LEFT ARROW"

Если эти литеры оставлены без изменения, то нажатие клавиши не вызывает никакого эффекта.

Пример: нажатие клавиши UNSET включает выход 15,
а нажатие клавиши FULL - выключает его.

# 394 - S15

# 397 - R15

Это очень простые и очень эффективные команды, но надо быть осторожными с их использованием, т.к. выполнение этих команд происходит без предварительного набора кода.

Top

Каждой временно'й команде можно присвоить идентификатор, например:

# 401 "!23:45/[123 LIGHTS OFF] R14"

Содержание квадратных скобок, которые расположены за косой чертой после времени, не выполняются, т.к. используются как комментарий или идентификатор. Между временно'й командой, косой чертой и квадратными скобками не должно быть пробелов. В качестве идентификатора может быть использовано любое десятичное число. Между этим числом и открытой квадратной скобкой не должно быть пробела.

Идентификатор необходим по следующей причине:

Если имеется несколько литер с временны'ми командами и они расположены не в хронологическом порядке, то системное расписание выстроит в хронологическом порядке. И тогда рассматриваемая временна'я команда может оказаться в литере с другим номером. Но все же, благодаря идентификатору, мы будем иметь к ней доступ. Текущий номер литеры этой команды можно найти следующим образом:

:%x!123 - назначить номер литеры любой вариации %x.

Top

Программируемые пользователем временны'е команды

Система может быть запрограммирована так, чтобы пользователь мог изменять время существующих временны'х команд. В тоже время, предотвращая изменение пользователем содержания этих команд.

Пример: Будильник

# 394 "B0"

# 395 ":%*!1"

# 428 "!07:30/[1 WAKE UP TIME] B255"

Клавиша PART позволяет установить нужное время будильника.

Вариация %* нормально, при изменении режима, кратковременно показывает на дисплее загруженную в нее литеру. В нашем случае вариация %* загружается с литерой временно'й команды 1. Как было сказано выше, в вариацию %* не может быть явным образом загружен номер литеры временно'й команды, т.к. этот номер может быть изменен системой при расстановке литер в хронологическом порядке. В тоже время, идентификатор (в нашем случае - 1) всегда остается тот же самый.

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

Top

Для команд ?  I  E  R  S множественные параметры могут быть расположены в форме списка, перечня или пределов. Это сокращает командную строку и ускоряет выполнение команд.

R2 R3 R4 R5 R6 R7 - могут быть заменены на R2-7

E1 E6 E7 E8 E12 E%? - могут быть заменены на E1,6-8,12,%?

Так же возможна конструкция E%X-%Y

Параметры, если это необходимо, могут быть назначены и как вариации

 

Top
Copyright © 2001 SUSA Ltd.
E-mail:info@susa.ee