Приложение "Страж-Сервер" (сервер) > Сценарии >

Переменные

Назад   Вперед

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

 

Для этих целей используются переменные. Переменные выделяются в тексте сообщения символом процента (%) в начале и в конце переменной, и при обработке текста вместо текста переменной внтури %% подставляется реальное текущее значение переменной.

 

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

 
Системные переменные

%Time% - текущее время

Параметры:

1.[Format: String = "hh:nn"] - формат отображение значения времени.
Допустимые символы: dd - день, mm - месяц, yyyy - год, hh - часы, nn - минуты

Пример (для текущего времени 05.12.2011 10:45):

%Time% - 10:45
%Time("dd.mm hh:nn")% - 05.12 10:45
%Time("yy_mm_dd")% - 11_12_05
%Time("yy_mm_dd__hh_mm")% - 11_12_05__10_45

 
%DateTime% - текущие дата и время

Текущая дата и время в формате, заданном в региональных настройках системы (Windows).

Пример (для текущей даты и  времени 05.12.2011 10:45):

%DateTime% - 05.12.2011 10:45

 
%Sensors.State% - текущее состояние всех датчиков

Пример (для системы с 25-ю датчиками температуры):

no poll – не включен опрос устройств
25: all ok – опрос идет, аварий нет и ошибок нет
25: error – 1, alarm – 7, ok - 17 – опрос идет, есть 1 датчик с ошибками и 7 с авариями, 17 - в норме
25: error all - все датчики с ошибками (вероятно обрыв линии связи)

 
%Sensors.List% - текущие значения всех датчиков

Список имен и значений всех датчиков. Выключенные датчики не отображаются.

Параметры:

1.[NameProp: String = ''FullCode"] - переменная датчика, используемая в качестве имени датчика
2.[ValueProp: String = ''Value"] - переменная датчика, используемая в качестве значения датчика
3.[NameAndValueSeparator: String = ''-"] - разделитель  имени и значения датчика
4.[SensorSeparator: String = ''; "] - разделитель отдельных датчиков

 

 
Примеры (для системы с 4-мя датчиками температуры):

%Sensors.List% - 11-err; 12-20.0°C; 13-22.0°C; 14-alarm(30.0°C>25.0°C)

11-err - модуль с адресом 11 с ошибкой

12-20.0°C - датчик с адресом 12 имеет текущее значение 20.0°C

13-20.0°C - датчик с адресом 13 имеет текущее значение 22.0°C

14-alarm(30.0°C>25.0°C) - датчик с адресом 14 с аварией - имеет текущее значение 30.0°C, что больше верхней уставки (25.0°C)
 

%Sensors.List("Parent.Name")% - Камера1-err; Склад-20.0°C; Бункер-22.0°C; Сушилка-alarm(30.0°C>25.0°C)
В качестве имени датчика задан не адрес модуля, а имя модуля.
 
%Sensors.List("Parent.Code", "Value(0, False)", "-", " ")% - 11-err 12-20; 13-22; 14-alarm(30>25)
Максимальное компактное представление, актуально при отправке SMS
 "Parent.Code" - в качестве имени датчика используется переменная устройства "Parent.Code"
 "Value" - в качестве значения датчика используется переменная устройства "Value"
 "0" - формат значения датчика без цифр после запятой
 False - не добавлять единицы измерения к значению датчика
 "-" - разделитель имени и значения датчика
 " " - разделитель отдельных датчиков (пробел)

 

Переменные датчика

Переменная датчика вначале содержит обращение к конкретному датчику вида Sensors["x"], где x - путь к датчику
 
%Value% - текущее значение датчика

Параметры:

1.[FracCount: Integer = -1] - количество знаков после запятой, -1 означает, что определяется автоматически.
2.[AddUnits: Boolean = True] - добавлять ли единицы измерения к значению датчика
3.[ShowAlarm: Boolean = True] - показывать ли состояние аварии датчика.
Например для текущего значениее датчика 20°C и макс. уставки 15°С:
 при ShowAlarm = True будет выведено "alarm(20.0°C>15.0°C)"
 при ShowAlarm = False будет выведено "20.0°C"

 

В зависимости от текущего состояния датчика, может быть такие значения:

err - ошибка устройства
off - устройство выключено
20.0°C - текущее значение датчика (при условии что устройство работает нормально, уставки не превышены)
alarm(20.0°C>15.0°C) - текущее значение датчика (устройство работает нормально, превышены уставки)
 

Пример (обращение идет к датчику с путем 1.11.T):

%Sensors["1.11.T"].Value% - 20.0°C
%Sensors["1.11.T"].Value(-1, True)% - 20.0°C
%Sensors["1.11.T"].Value(-1, False)% - 20.0
%Sensors["1.11.T"].Value(0, False)% - 20
%Sensors["1.11.T"].Value(0, False)% - alarm(20>15) (превышены уставки)
%Sensors["1.11.T"].Value(0, True)% - 20°C
%Sensors["1.11.T"].Value(1, False)% - 20.0
%Sensors["1.11.T"].Value(2, False)% - 20.00

 
%High% - макс. уставка датчика

Значение верхней уставки датчика.

Параметры аналогичны параметрам переменной %Value%

 
%Low% - мин. уставка датчика

Значение нижней уставки датчика

Параметры аналогичны параметрам переменной %Value%

 
%Name% - имя датчика

Имя датчика.

Пример (в системе один модуль температуры и влажности):

%Sensors.List("Name", "Value", "", True, ": ", ", ") - Температура: -10°C, Влажность: 65%

 
%Parent.Name% - имя модуля

Имя модуля.

%FullName% - имя устройства и имя датчика

Если модуль содержит несколько датчиков, то к имени модуля будет добавлено имя датчика.

Пример (в системе один модуль температуры ("Склад1") и один модуль температуры и влажности ("Улица")):

%Sensors.List("FullName", "Value", "", True, ": ", ", ") - Склад1: 15°C, Улица.Температура: -10°C; Улица.Влажность: 65%

 
%Code% - адрес датчика

Адрес датчика ("Т", "H", ...)

Пример (в системе один модуль температуры и влажности):

%Sensors.List("Code") - T-20°C; H-75%

%Parent.Code% - адрес модуля

Адрес модуля.

%FullCode% - адрес датчика

Адрес датчика. Если модуль содержит несколько датчиков, то к адресу модуля будет добавлен адрес датчика ("Т", "H", ...)

Пример (в системе два модуля температуры и два модуля температуры и влажности):

%Sensors.List("Code") - 11-20°C; 12-21°C; 13T-20°C; 13H-75%; 14T-23°C; 14H-65%

 
%Path% - путь к датчику

Адреса всех устройств, от порта до датчика, через точку.

Пример (в системе два модуля температуры на одном порту и один модуль температуры и влажности на втором порту):

%Sensors.List("Path") - 1.11.T-20°C; 1.12.T-21°C; 2.21.T-23°C; 2.21.H-75%

 


Адрес страницы: http://softron.com.ua/alarm/help/index.html?commandvars.htm