beautypg.com

3 user flags, 8 program control logical constructions, 1 if then/else comparisons – Campbell Scientific CR10X Measurement and Control System User Manual

Page 58

background image

SECTION 3. INSTRUCTION SET BASICS

3-4

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.

Loc.

No.

Entry

Description

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.8 PROGRAM 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.

TABLE 3.8-1. Command Codes

0

Go to end of program table

3

1-9, 79-99

Call Subroutine 1-9, 79-99

1

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 high

2

51-58

Set Port 1-8 low

2

61-68

Toggle Port 1-8

2

71-78

Pulse Port 1-8

2

1

96, 97, and 98 are special subroutines
which can be called by Control ports 6, 7,
and 8 going high; see Instruction 85 for
details (Section 12).

2

The ports can be indexed to the loop
counter (Section 8.4).

3

If this command is executed while in a
subroutine, execution jumps directly to the
end of the table that called the subroutine.

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/Else

Execution Sequence