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

Chapter 7 Application Programming • 120

USER MANUAL

Page 120
Image 120
Galil DMC-13X8 user manual Using the Else Command, Nesting if Conditional Statements, Command Format IF, Else and Endif