beautypg.com

Campbell Scientific CR800 and CR850 Measurement and Control Systems User Manual

Page 117

background image

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.