beautypg.com

91 if flag / port / modem, 92 if time is, 93 begin case statement – Campbell Scientific CR23X Micrologger User Manual

Page 193

background image

SECTION 12. PROGRAM CONTROL INSTRUCTIONS

12-5

location parameters in subsequent instructions.
For example, if 4 is specified, the index counter
will count up by 4 (0,4,8,12,...) inside the loop.
Instruction 90 does not affect the loop counter
which still counts by 1.

PARAM.

DATA

NUMBER

TYPE

DESCRIPTION

01:

2

Increment for the loop
index counter

*** 91 IF FLAG / PORT / MODEM ***

FUNCTION
This Instruction checks the status of one of the
eighteen Flags, one of the eight ports, or the
serial I/O port modem enable and conditionally
performs the specified Command. Ports can be
indexed (--) with the C key.

The first Parameter specifies the condition to check:

1X

Execute command if Flag X is high

2X

Execute command if Flag X is low

4Y

Execute command if port Y is high

5Y

Execute command if port Y is low

40

Execute command if CS I/O modem
is on

50

Execute command if CS I/O modem
is off

49

Execute command if SW12V is off

59

Execute command if SW12V is off

X = 0-9, 11-18 Y = 1-8

PARAM.

DATA

NUMBER

TYPE

DESCRIPTION

01:

2

Flag or Port condition to
check

02:

2

Command (Table 12-2)

*** 92 IF TIME IS ***

FUNCTION
The user specifies the number of minutes or
seconds into an interval, the duration of the
interval, and a command. The command is
executed each time the real time is the
specified time into the interval. The "If"
condition will always be false if 0000 is entered
as the time interval.

The time interval is synchronized with real time; if a
60 minute time interval is specified with 0 minutes
into the interval, the Command will be executed
each hour on the hour. The time interval is
synchronized internally by making a modulo divide
(Instruction 46) of the number of minutes since
midnight by the specified real time interval. If the

result is 0, the interval is up. Thus, the first interval
of the day always starts at midnight (0 minutes).
The maximum interval is 1440 minutes.

The time into an interval is only true the first
time Instruction 92 is executed within a given
minute (or second). For example, if the
command is to set the Output Flag at 0 minutes
into a 10 minute interval, and the execution
interval of the table is 10 seconds, every 10
minutes there will only be one output generated
by this instruction, not five.

The time into interval and the interval may be
entered in seconds for intervals less than 60
seconds. Error 92 will occur if these
parameters are too large.

To enter the times in seconds, press "C" after
keying in the number of seconds into the interval
for Parameter 1; two dashes will appear to the
right of the number (XXXX--). When the time
into interval is entered as seconds (XXXX--), the
time interval will also be interpreted as seconds.

The maximum number of seconds that can be
entered is 59 for Parameter 1 and 60 for
Parameter 2.

The Output Flag (Flag 0) is a special case in that it
will automatically be cleared if it is not time to set it.

PARAM.

DATA

NUMBER

TYPE

DESCRIPTION

01:

4

Time into interval
(minutes or seconds if
entered XXXX--)

02:

4

Time interval (units
same as above)

03:

2

Command (Table 12-2)

*** 93 BEGIN CASE STATEMENT ***

The value in the specified input location is
compared against parameters in following If
Case instructions (83). When a comparison is
true, the command in the If Case instruction is
executed and the program flow goes to the End
instruction (95) associated with the Begin Case
instruction.