Table 26. CRBasic Example. Array Assigned Expression: Comparison / Boolean Evaluation
'Example: Comparison / Boolean Evaluation
'Element-wise comparisons is performed through scalar expansion or by comparing each
'element in one array to a similarly located element in another array to generate a
'resultant boolean array to be used for decision making and control, such as
'an array input to a SDM-CD16AC.
Public TempC(3) = {15.1234,20.5678,25.9876}
Public TempC_Rounded(3)
Public TempDiff(3)
Public TempC_Alarm(3) As Boolean
Public TempF_Thresh(3) = {55,60,80}
Public TempF_Alarm(3) As Boolean
BeginProg
Scan(1,Sec,0,0)
'element-wise comparison of each temperature in the array to a scalar value
'set corresponding alarm boolean value true if temperature exceeds 20 degC
TempC_Alarm() = TempC() > 20
'some, not all or most, instructions will accept this array notation to auto-index
'through the array
'round each temperature to the nearest tenth of a degree
TempC_Rounded() = Round(TempC(),1)
'element-wise subtraction
'each element in TempC_Rounded is subtracted from the similarly located element inTempC
'calculate the difference between each TempC value and the rounded counterpart
TempDiff() = TempC() - TempC_Rounded()
'element-wise operations can be mixed with scalar expansion operations
'set corresponding alarm boolean value true if temperature, after being
'converted to degF, exceeds it's corresponding alarm threshold value in degF
TempF_Alarm() = (TempC() * 1.8 + 32) > TempF_Thresh()
NextScan
191