7.9.1.5 PulseCountReset Instruction
PulseCountReset is used in rare instances to force the reset or zeroing of CR1000
pulse accumulators (see Measurements — Overview
(p. 62)).
PulseCountReset is needed in applications wherein two separate PulseCount()
instructions in separate scans measure the same pulse-input terminal. While the
compiler does not allow multiple PulseCount() instructions in the same scan to
measure the same terminal, multiple scans using the same terminal are allowed.
PulseCount() information is not maintained globally, but for each individual
instruction occurrence. So, if a program needs to alternate between fast and slow
scan times, two separate scans can be used with logic to jump between them. If a
PulseCount() is used in both scans, then a PulseCountReset is used prior to
entering each scan.
7.9.1.6 Scaling Array
CRBasic example Scaling Array (p. 177) demonstrates programming to create and
use a scaling array. Several multipliers and offsets are entered at the beginning of
the program and then used by several measurement instructions throughout the
program.
CRBasic Example 26. Scaling Array
'This program example demonstrates the use of a scaling array. An array of three
'temperatures are measured. The first is expressed as degrees Celsius, the second as
'Kelvin, and the third as degrees Fahrenheit.
'Declare viewable variables
Public PTemp_C
Public Temp_C(3)
Public Count
'Declare scaling arrays as non-viewable variables
Dim Mult(3)
Dim Offset(3)
'Declare Output Table
DataTable(Min_5,True,-1)
DataInterval(0,5,Min,0)
Average(1,PTemp_C,FP2,0)
Maximum(1,PTemp_C,FP2,0,0)
Minimum(1,PTemp_C,FP2,0,0)
Average(3,Temp_C(),FP2,0)
Minimum(3,Temp_C(1),FP2,0,0)
Maximum(3,Temp_C(1),FP2,0,0)
EndTable
'Begin Program
BeginProg
'Load scaling array
Mult(1) = 1.0 : Offset(1) = 0 'Scales 1st thermocouple temperature to Celsius
Mult(2) = 1.0 : Offset(2) = 273.15 'Scales 2nd thermocouple temperature to Kelvin
Mult(3) = 1.8 : Offset(3) = 32 'Scales 3rd thermocouple temperature to Fahrenheit
177