Campbell Scientific CR800 and CR850 Measurement and Control Systems User Manual
Page 117

Section 7. Installation
117
simply declare a variable array as shown below:
Public
TempC(4),
This creates in memory the four variables TempC(1), TempC(2), TempC(3), and
TempC(4).
A variable array is useful in program operations that affect many variables in the
same way. CRBasic example Using a variable array in calculations
(p. 117)
shows
program code using a variable array to reduce the amount of code required to
convert four temperatures from Celsius degrees to Fahrenheit degrees.
In this example, a For/Next structure with a changing variable is used to specify
which elements of the array will have the logical operation applied to them. The
CRBasic For/Next function will only operate on array elements that are clearly
specified and ignore the rest. If an array element is not specifically referenced,
e.g., TempC(), CRBasic references only the first element of the array, TempC(1).
CRBasic Example 7.
Using a Variable Array in Calculations
Public
TempC(4)
Public
TempF(4)
Dim
T
BeginProg
Scan
(1,Sec,0,0)
Therm107
(TempC(),4,1,Vx1,0,250,1.0,0)
For
T = 1
To
4
TempF(T) = TempC(T) * 1.8 + 32
Next
T
NextScan
EndProg
Dimensions
Some applications require multi-dimension arrays. Array dimensions are
analogous to spatial dimensions (distance, area, and volume). A single-dimension
array, declared as VariableName(x), with (x) being the index, denotes x number
of variables as a series. A two-dimensional array, declared as
Public (or Dim) VariableName(x,y)
with (x,y) being the indices, denotes (x * y) number of variables in a square x-by-
y matrix. Three-dimensional arrays (VariableName (x,y,z), (x,y,z) being the
indices) have (x * y * z) number of variables in a cubic x-by-y-by-z matrix.
Dimensions greater than three are not permitted by CRBasic.
When using variables in place of integers as the dimension indices, e.g., CRBasic
example Using variable array dimension indices
(p. 117),
declaring the indices As
Long variables is recommended as doing so allows for more efficient use of
CR800 resources.