With DummySpiritForm.Spirit1
' …
Result = .Poll(SENSOR_VALUE, SENSOR_2
Result = .Poll (VARIABLE, 11)
' …
End With
It's a lot more readable with the symbolic constants. If you ever have to look at the code at some later date, you'll really appreciate knowing what's going on.
Using If and While
The Parameter Table is likewise the key to understanding the If and While functions. In essence, If compares two Poll values, each described by a Source and a Number. In the following
example, the If statement tests to see if the value of input 3 is less than the constant value 100:
If 9, 2, 1, 2, 100
Page 167
The value of input 3 is represented by the first 9, 2; the constant value 100 is represented by 2 100. What's that 1 in the middle? That's the operator that's used for comparison. The available
operators are shown in Table 8-1. As you might have guessed, you can define constants to make these easier to understand.
Table 8-1. Operators for If and While
Number Meaning
0 >
1 <
2 =
3 !=(not equal)
A good set of constants makes the If statement a lot easier to read:
' Sources
Public Const VARIABLE = 0
Public Const CONSTANT = 2
Public Const SENSOR_VALUE = 9
' Sensor names
Public Const SENSOR_1 = 0
Public Const SENSOR_2 = 1
Public Const SENSOR_3 = 2
' Operators
Public Const GREATER = 0
Public Const LESS = 1
Public Const EQUAL = 2
Public Const NOT_EQUAL = 3
Sub UsingConstants(
With DummySpiritForm.Spirit1
.InitComm
' …
.If SENSOR_VALUE, SENSOR_3, LESS, CONSTANT, 100
' Do stuff here.