Galil DMC-3425 Home Security System User Manual


 
122 • Chapter 7 Application Programming DMC-3425
NOTE: An ENDIF command must always be executed for every IF command that has been executed.
It is recommended that the user not include jump commands inside IF conditional statements since this
causes re-direction of command execution. In this case, the command interpreter may not execute an
ENDIF command.
Using the ELSE Command
The ELSE command is an optional part of an IF conditional statement and allows for the execution of
command only when the argument of the IF command evaluates False. The ELSE command must
occur after an IF command and has no arguments. If the argument of the IF command evaluates false,
the controller will skip commands until the ELSE command. If the argument for the IF command
evaluates true, the controller will execute the commands between the IF and ELSE command.
Nesting IF Conditional Statements
The DMC-3425 allows for IF conditional statements to be included within other IF conditional
statements. This technique is known as 'nesting' and the DMC-3425 allows up to 255 IF conditional
statements to be nested. This is a very powerful technique allowing the user to specify a variety of
different cases for branching.
Command Format - IF, ELSE and ENDIF
Format: Description
IF <condition>
Execute commands proceeding IF command (up to ELSE command) if
conditional statement(s) is true, otherwise continue executing at ENDIF command
or optional ELSE command.
ELSE
Optional command. Allows for commands to be executed when argument of IF
command evaluates not true. Can only be used with IF command.
ENDIF
Command to end IF conditional statement. Program must have an ENDIF
command for every IF command.
Instruction Interpretation
#TEST Begin Main Program "TEST"
II,,3 Enable interrupts on input 1 and input 2
MG "WAITING FOR INPUT 1, INPUT 2" Output message
#LOOP Label to be used for endless loop
JP #LOOP Endless loop
EN End of main program
#ININT Input Interrupt Subroutine
IF (@IN[1]=0) IF conditional statement based on input 1
IF (@IN[2]=0) 2
nd
IF executed if 1
st
IF conditional true
MG "INPUT 1 AND INPUT 2 ARE ACTIVE" Message executed if 2
nd
IF is true
ELSE ELSE command for 2
nd
IF statement
MG "ONLY INPUT 1 IS ACTIVE Message executed if 2
nd
IF is false
ENDIF End of 2
nd
conditional statement
ELSE ELSE command for 1
st
IF statement
MG"ONLY INPUT 2 IS ACTIVE" Message executed if 1
st
IF statement
ENDIF End of 1
st
conditional statement
#WAIT Label to be used for a loop