SECTION 3. INSTRUCTION SET BASICS

As an example, suppose it is desired to obtain a wind speed rose incorporating only wind speeds greater than or equal to 4.5 m/s. The wind speed rose is computed using the Histogram Instruction 75, and wind speed is stored in input location 14, in m/s. Instruction 89 is placed just before Instruction 75 and is used to set Flag 9 high if the wind speed is less than 4.5 m/s:

TABLE 3.7-2. Example of the Use of Flag 9
Inst.Param.

Entry

Description

Loc.No.

X

P

89

If wind speed < 4.5 m/s

 

1

14

Wind speed location

 

2

4

Comparison: <

 

3

4.5

Minimum wind

 

 

 

speed for histogram

 

4

19

Set Flag 9 high

X+1

P

75

Histogram

X+2

P

86

Do

 

1

29

Set Flag 9 Low

 

NOTE: Flag 9 is automatically reset the same as Flag 0. If the intermediate processing disable flag is already set high and the test condition of a subsequent Program Control Instruction acting on Flag 9 fails, the flag is set low. This feature eliminates having to enter another instruction to specifically reset Flag 9 before proceeding to another group of test conditions.

3.7.3 USER FLAGS

Flags 1-8 are not dedicated to a specific purpose and are available to the user for general programming needs. The user flags can be manually toggled from the keyboard in the *6 Mode (Section 1.3). By inserting the flag test (Instruction 91) at appropriate points in the program, the user can use the *6 Mode to manually direct program execution.

3.8PROGRAM CONTROL LOGICAL CONSTRUCTIONS

Most of the Program Control Instructions have a command code parameter which is used to specify the action to be taken if the condition tested in the instruction is true. Table 3.8-1 lists these codes.

3-4

TABLE 3.8-1. Command Codes

0- Go to end of program table 1-9, 79-99 - Call Subroutine 1-9, 79-991

10-19 - Set Flag 0-9 high 20-29 - Set Flag 0-9 low

30- Then Do

31- Exit loop if true

32- Exit loop if false 41-48 - Set Port 1-8 high2 51-58 - Set Port 1-8 low2 61-68 - Toggle Port 1-8271-78 - Pulse Port 1-82

197 and 98 are special subroutines which can be called by Control ports 7 and 8 going high; see Instruction 85 for details.

2Ports can be indexed to the loop counter (Section 3.4).

3.8.1 IF THEN/ELSE COMPARISONS

Program Control Instructions can be used for If then/else comparisons. When Command 30 (Then do) is used with Instructions 83 or 88-92, the If Instruction is followed immediately by instructions to execute if the comparison is true. The Else Instruction (94) is optional and is followed by the instructions to execute if the comparison is false. The End Instruction (95) ends the If then/else comparison and marks the beginning of the instructions that are executed regardless of the outcome of the comparison (see Figure 3.8-1).

FIGURE 3.8-1. If Then/ElseExecution Sequence