Go to documentation repository
...
DoReact (object type, number, action[,Parameters]) – execute action
Example use:
| Code Block |
|---|
OnEvent("GRAY","1","ON")
{
DoReact("GRELE","1","ON"); //close relay 1 when closing sensor 1
} |
DoCommand(command line) – run the command line
Examples use:
| Code Block |
|---|
OnEvent("GRAY","1","ON")
{
DoCommand("notepad.exe"); //when sensor 1 is closed run "Notepad"
} |
Wait(number of seconds) – wait for N seconds;
Sleep(number of milliseconds) - wait for N milliseconds.
Await operators are to be in a single thread. Single thread is to be inside square brackets.
Example. When Sensor 1 is closed, Relay 1 is closed for 5 seconds.
| Code Block |
|---|
OnEvent("GRAY","1","ON")
{
[
DoReact("GRELE","1","ON");
Wait(5);
DoReact("GRELE","1","OFF");
]
} |
Checking the state function:
CheckState(object type, number, state) – the result is 1, if the state of an object is factually accurate, otherwise 0.
Expressions can be used as parameters. Constant values are quoted.
Example. Check the state of camera 2 when closing sensor 1 and if the state is “Alarmed“, then close relay 1
| Code Block |
|---|
OnEvent("GRAY","1","ON")
{
if(CheckState("CAM","2","ALARMED"))
{
DoReact("GRELE","1","ON");
}
} |
Conditional operator:
| Code Block |
|---|
If (expression)
{
... // if the result is not equal to 0
}
else
{
... // if the result is equal to 0
} |
else {} part can be absent.
Example use:
| Code Block |
|---|
OnEvent("MACRO","1","RUN"){
x=5;
if(x>10) {y=2;} // if "x" is greater than 10, then y=2
else {y=3;} //otherwise y=3
} |
For operator:
| Code Block |
|---|
For(expression 1; expression 2; expression 3){
...
} |
Expression1 is executed at the beginning of the loop; loop body is executed if expression2 is true; expression3 is executed after each execution of the loop body.
Example. When sensor1 is closed, relay1 is closed and opened every second and it will happen 10 times.
| Code Block |
|---|
OnEvent
("GRAY","1","ON")
{
[
for(i=0;i<10;i=str(i+1))
{
DoReact("GRELE","1","ON");
Wait(1);
DoReact("GRELE","1","OFF");
Wait(1);
}
]
} |
DoReactGlobal (object type, number, state) – function that creates reactions of system objects. Meanwhile, the created reaction is sent to all cores connected over the network.
Example. When running macro 1, camera 1 is armed.
| Code Block |
|---|
OnEvent("MACRO","1","RUN")
{
DoReactGlobal("CAM","1","ARM");
} |
NotifyEventGlobal (object type, number, state) – function that creates events. Meanwhile, the created events are sent to all cores connected over the network.
Example. When running macro 1, create event “Recording” for camera 1. The command is sent to all cores as an event in order to be logged.
| Code Block |
|---|
OnEvent("MACRO","1","RUN")
{
NotifyEventGlobal("CAM","1","REC");
} |
...