Chapter 7 Application Programming 120 USER MANUAL
evaluates true, the command interpreter will continue executing commands which follow the IF
command. If the conditional statement evaluates false, the controller will ignore commands until the
associated ENDIF command is executed OR an ELSE command occurs in the program (see discussion
of ELSE command below).
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-13X8 allows for IF conditional statements to be included within other IF conditional
statements. This technique is known as 'nesting' and the DMC-13X8 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 conditional statement(s) 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.
Example using IF, ELSE and ENDIF:
#TEST Begin Main Program "TEST"
II,,3 Enable input 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) 2nd IF conditional statement executed if 1st IF conditional true
MG "INPUT 1 AND INPUT 2 ARE ACTIVE" Message to be executed if 2nd IF conditional is true
ELSE ELSE command for 2nd IF conditional statement
MG "ONLY INPUT 1 IS ACTIVE Message to be executed if 2nd IF conditional is false
ENDIF End of 2nd conditional statement
ELSE ELSE command for 1st IF conditional statement
MG"ONLY INPUT 2 IS ACTIVE" Message to be executed if 1st IF conditional statement