![Campbell CR800 Series Operator'S Manual Download Page 88](http://html1.mh-extra.com/html/campbell/cr800-series/cr800-series_operators-manual_489099088.webp)
Section 5. Overview
88
•
Move a head gate to regulate water flows in a canal system.
•
Control pH dosing and aeration for water quality purposes.
•
Control a gas analyzer to stop operation when temperature is too low.
•
Control irrigation scheduling.
Controlled devices can be physically connected to
C
terminals, usually through an
external relay driver, or the
SW12V
(p. 391)
terminal.
C
terminals can be set low (0
Vdc) or high (5 Vdc) using
PortSet()
or
WriteIO()
instructions. Control modules
are available to expand and augment CR800 control capacity. On / off and
proportional control modules are available. See appendix
PLC Control Modules
— List
(p. 565).
Tips for writing a control program:
•
Short Cut
programming wizard has provisions for simple on/off control.
•
PID control can be done with the CR800.
Control decisions can be based on time, an event, or a measured condition.
Example:
In the case of a cell modem, control is based on time. The modem requires 12 Vdc
power, so connect its power wire to the CR800
SW12V
terminal. The following
code snip turns the modem on for ten minutes at the top of the hour using the
TimeIntoInterval()
instruction embedded in an
If
/
Then
logic statement:
If
TimeIntoInterval
( 0,60,Min) Then
PortSet
(9,1)
'Port “9” is
the SW12V Port. Turn phone on.
If
TimeIntoInterval
(10,60,Min) Then
PortSet
(9,0)
'Turn phone
off.
TimeIsBetween()
returns
TRUE
if the CR800 real-time clock falls within the
specified range; otherwise, the function returns
FALSE
. Like
TimeIntoInterval()
,
TimeIsBetween()
is often embedded in an
If
/
Then
logic
statement, as shown in the following code snip.
If
TimeIsBetween
(0,10,60,Min)
Then
SW12
(1)
'Turn phone on.
Else
SW12
(0)
'Turn phone off.
EndIf
TimeIsBetween()
returns
TRUE
for the entire interval specified whereas
TimeIntoInterval()
returns
TRUE
only for the one scan that matches the interval
specified.
For example, using the preceding code snips, if the CRBasic program is sent to
the datalogger at one minute past the hour, the
TimeIsBetween()
instruction will
Summary of Contents for CR800 Series
Page 2: ......
Page 4: ......
Page 6: ......
Page 32: ......
Page 34: ......
Page 54: ......
Page 92: ......
Page 310: ......
Page 446: ...Section 8 Operation 446 8 11 2 Data Display FIGURE 100 CR1000KD Displaying Data ...
Page 448: ...Section 8 Operation 448 FIGURE 102 CR1000KD Real Time Custom ...
Page 449: ...Section 8 Operation 449 8 11 2 3 Final Storage Data FIGURE 103 CR1000KD Final Storage Data ...
Page 450: ...Section 8 Operation 450 8 11 3 Run Stop Program FIGURE 104 CR1000KD Run Stop Program ...
Page 452: ...Section 8 Operation 452 FIGURE 106 CR1000KD File Edit ...
Page 456: ......
Page 462: ......
Page 523: ...Section 11 Glossary 523 FIGURE 116 Relationships of Accuracy Precision and Resolution ...
Page 524: ......
Page 526: ......
Page 556: ......
Page 558: ......
Page 560: ......
Page 597: ......