Galil DMC-1800 Home Security System User Manual


 
DMC-1700/1800 Chapter 7 Application Programming • 153
#CMDERR Begin command error subroutine
IF _TC=6 If error is out of range (KP -1)
N=1 Set N to a valid number
XQ _ED2,_ED1,1 Retry KP N command
ENDIF
IF _TC=1 If error is invalid command (TY)
XQ _ED3,_ED1,1 Skip invalid command
ENDIF
EN End of command error routine
Mathematical and Functional Expressions
Mathematical Operators
For manipulation of data, the DMC-1700/1800 provides the use of the following mathematical operators:
OPERATOR FUNCTION
+ Addition
- Subtraction
* Multiplication
/ Division
& Logical And (Bit-wise)
| Logical Or (On some computers, a solid vertical line appears as a broken line)
() Parenthesis
The numeric range for addition, subtraction and multiplication operations is +/-2,147,483,647.9999. The precision
for division is 1/65,000.
Mathematical operations are executed from left to right. Calculations within parentheses have precedence.
Examples:
SPEED = 7.5*V1/2 The variable, SPEED, is equal to 7.5 multiplied by V1 and divided by 2
COUNT = COUNT+2 The variable, COUNT, is equal to the current value plus 2.
RESULT =_TPX-(@COS[45]*40)
Puts the position of X - 28.28 in RESULT. 40 * cosine of 45° is 28.28
TEMP = @IN[1]&@IN[2] TEMP is equal to 1 only if Input 1 and Input 2 are high
Bit-Wise Operators
The mathematical operators & and | are bit-wise operators. The operator, &, is a Logical And. The operator, |, is a
Logical Or. These operators allow for bit-wise operations on any valid DMC-1700/1800 numeric operand,
including variables, array elements, numeric values, functions, keywords, and arithmetic expressions. The bit-wise
operators may also be used with strings. This is useful for separating characters from an input string. When using
the input command for string input, the input variable will hold up to 6 characters. These characters are combined
into a single value which is represented as 32 bits of integer and 16 bits of fraction. Each ASCII character is
represented as one byte (8 bits), therefore the input variable can hold up to six characters. The first character of the
string will be placed in the top byte of the variable and the last character will be placed in the lowest significant byte