Существуют 3 стандартные процедуры, которые могут быть выполнены при возникновении соответствующего события:

  1. OnInit() – используется для инициализации переменных (задания первоначальных значений), которые будут в дальнейшем использоваться при выполнении скриптов. Выполняется до старта всех модулей системы. Рекомендуется использовать один вызов процедуры на все существующие скрипты.
    Пример использования:

    OnInit(){
                    flag=1;
                    num=8;  //на старте системы будут проинициализированы переменные
    }
  2. 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 секунд
    }
  3. 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
	}
}