Galil DMC-1800, DMC-1700 user manual Using the ELSE Command, Nesting IF Conditional Statements

Models: DMC-1800 DMC-1700

1 253
Download 253 pages 18.39 Kb
Page 156
Image 156
Using the ELSE Command

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-1700/1800 allows for IF conditional statements to be included within other IF conditional statements. This technique is known as ‘nesting’ and the DMC-1700/1800 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

ENDIF

End of 1st conditional statement

#WAIT

Label to be used for a loop

JP#WAIT,(@IN[1]=0) (@IN[2]=0)

Loop until both input 1 and input 2 are not active

RI0

End Input Interrupt Routine without restoring trippoints

148 • Chapter 7 Application Programming

DMC-1700/1800

Page 156
Image 156
Galil DMC-1800, DMC-1700 Using the ELSE Command, Nesting IF Conditional Statements, Command Format - IF, ELSE and ENDIF