#TEST
Begin main program
IN “ENTER”,len{S6}
Input character string of up to 6 characters into variable ‘len’
Flen=@FRAC[len]
Define variable ‘Flen’ as fractional part of variable ‘len’
Flen=$10000*Flen
Shift Flen by 32 bits (IE - convert fraction, Flen, to integer)
len1=(Flen&$00FF)
Mask top byte of Flen and set this value to variable ‘len1’
len2=(Flen&$FF00)/$100
Let variable, ‘len2’ = top byte of Flen
len3=len&$000000FF
Let variable, ‘len3’ = bottom byte of len
len4=(len&$0000FF00)/$100
Let variable, ‘len4’ = second byte of len
len5=(len&$00FF0000)/$10000
Let variable, ‘len5’ = third byte of len
len6=(len&$FF000000)/$1000000
Let variable, ‘len6’ = fourth byte of len
MG len6 {S4}
Display ‘len6’ as string message of up to 4 chars
MG len5 {S4}
Display ‘len5’ as string message of up to 4 chars
MG len4 {S4}
Display ‘len4’ as string message of up to 4 chars
MG len3 {S4}
Display ‘len3’ as string message of up to 4 chars
MG len2 {S4}
Display ‘len2’ as string message of up to 4 chars
MG len1 {S4}
Display ‘len1’ as string message of up to 4 chars
EN
This program will accept a string input of up to 6 characters, parse each character, and then display each character.
Notice also that the values used for masking are represented in hexadecimal (as denoted by the preceding ‘$’). For
more information, see section Sending Messages.
To illustrate further, if the user types in the string “TESTME” at the input prompt, the controller will respond with
the following:
T
Response from command MG len6 {S4}
E
Response from command MG len5 {S4}
S
Response from command MG len4 {S4}
T
Response from command MG len3 {S4}
M
Response from command MG len2 {S4}
E
Response from command MG len1 {S4}
Functions
FUNCTION
DESCRIPTION
@SIN[n]
Sine of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution)
@COS[n]
Cosine of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution)
@TAN[n]
Tangent of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution)
@ASIN*[n]
Arc Sine of n, between -90 and +90 . Angle resolution in 1/64000 degrees.
@ACOS*[n]
Arc Cosine of n, between 0 and 180 . Angle resolution in 1/64000 degrees.
@ATAN*[n]
Arc Tangent of n, between -90 and +90 . Angle resolution in 1/64000 degrees
@COM[n]
1’s Complement of n
@ABS[n]
Absolute value of n
@FRAC[n]
Fraction portion of n
@INT[n]
Integer portion of n
@RND[n]
Round of n (Rounds up if the fractional part of n is .5 or greater)
@SQR[n]
Square root of n (Accuracy is
±
.004)
@IN[n]
Return digital input at general input n (where n starts at 1)
@OUT[n]
Return digital output at general output n (where n starts at 1)
@AN[n]
Return analog input at general analog in n (where n starts at 1)
*Note that these functions are multi-valued. An application program may be used to find the correct band.
Functions may be combined with mathematical expressions. The order of execution of mathematical expressions is
from left to right and can be over-ridden by using parentheses.
Examples:
v1=@ABS[V7]
The variable, v1, is equal to the absolute value of variable v7.
v2=5*@SIN[pos]
The variable, v2, is equal to five times the sine of the variable, pos.
v3=@IN[1]
The variable, v3, is equal to the digital value of input 1.
v4=2*(5+@AN[5])
The variable, v4, is equal to the value of analog input 5 plus 5, then multiplied by 2.
Chapter 7 Application Programming ▫ 123
DMC-42x0 User Manual
Summary of Contents for DMC-42 0 Series
Page 195: ...ICM 2900 PCB Layout Appendices 191 DMC 42x0 User Manual...
Page 205: ...CB 50 100 Drawings Appendices 201 DMC 42x0 User Manual...
Page 206: ...Appendices 202 DMC 42x0 User Manual...
Page 207: ...Appendices 203 DMC 42x0 User Manual...
Page 208: ...Appendices 204 DMC 42x0 User Manual...
Page 209: ...Appendices 205 DMC 42x0 User Manual...
Page 210: ...Appendices 206 DMC 42x0 User Manual...
Page 211: ...Appendices 207 DMC 42x0 User Manual...
Page 214: ...CB 50 80 Drawing Appendices 210 DMC 42x0 User Manual...