Существуют 3 стандартные процедуры, которые могут быть выполнены при возникновении соответствующего события:
OnInit() – используется для инициализации переменных (задания первоначальных значений), которые будут в дальнейшем использоваться при выполнении скриптов. Выполняется до старта всех модулей системы. Рекомендуется использовать один вызов процедуры на все существующие скрипты.
Пример использования:
OnInit(){
flag=1;
num=8; //на старте системы будут проинициализированы переменные
} |
OnTime(день недели (1-7), день-месяц-год, часы, минуты, секунды) – запуск в определенный момент времени.
OnTime(W,D,X,Y,H,C,S)
{
//W - день недели (0 - понедельник, 6 - воскресенье);
//D - дата в формате "число-месяц-год", 16 августа 2001 года это "16-08-01"
//X,Y - зарезервировано
//H - час
//C - минуты
//S - секунды
// ВЫПОЛНЯЯ СРАВНЕНИЕ С ПАРАМЕТРАМИ, ДАЛЕЕ УКАЗЫВАЕТСЯ ДЕЙСТВИЕ
} |
Примеры использования:
OnTime(W,"16-08-01",X,Y,"11","11","30")
{
// помещенный здесь код сработает 16 августа 2001 года в 11 часов 11 минут 30 секунд
} |
OnTime(W,D,X,Y,"11","11","30")
{
// помещенный здесь код сработает каждый день в 11 часов 11 минут 30 секунд
} |
OnTime(W,"16-08-01",X,Y,H,C,S)
{
// помещенный здесь код будет срабатывать 16 августа 2001 года
// каждую секунду
} |
OnTime(W,"16-08-01",X,Y,"11","11",S)
{
// помещенный здесь код будет срабатывать 16 августа 2001 года
// c 11 часов 11 минут по 11 часов 12 минут каждую секунду
} |
OnTime("0",D,X,Y,"21","0","0")
{
// помещенный здесь код будет срабатывать каждый понедельник
// в 21 часов 00 минут 00 секунд
} |
OnEvent(тип источника, номер, событие) – запуск по определенному событию от объекта системы. Основная процедура при написании скриптов.
Примеры использования:
OnEvent("GRAY","1","ON")
{
// Выполнится при замыкании луча №1
} |
OnEvent("CAM","12","MD_START")
{
// Выполнится при срабатывании детектора движения камеры №12
} |
Каждая процедура, имеющая параметры, может встречаться в коде много раз с различными параметрами. При возникновении события система выполнит те из них, параметры которого совпадут с параметрами возникшего события.
Параметр процедуры может быть определенным или нет. В первом случае его значение берется в кавычки, в последнем случае параметр обозначается латинскими буквами, и процедура будет выполнена для всех событий, для которых его можно определить.
Примеры использования:
OnEvent("GRAY","1","ON") // Выполнится при замыкании луча №1
{
i=1;
i=i+1; //т.к. переменные строковые, то сумма будет равна «11»
j=1;
j=str(j+1); // str - это функция преобразования числа к строке. Внутри функции str вначале происходит конвертация всех строковых переменных (в случае их наличия) в целочисленные, затем происходит сложение чисел, следовательно сумма будет равна «2»
} |
OnEvent("GRAY",N,"ON") // Выполнится при замыкании любого луча
{
if(strequal(N,"3")
{
// выполнится если это луч 3
}
} |