0% found this document useful (0 votes)
22 views10 pages

IL Instruction Overview E

Uploaded by

znb19575
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views10 pages

IL Instruction Overview E

Uploaded by

znb19575
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

ends

ends
gs

gs
r

r
eter

eter
n

n
c Fla

c Fla
the

the
mete

mete
uctio

uctio
De p

De p
a ram

a ram
lters

lters
tate

tate
meti

meti
ution

ution
x

x
Us

Us
Inde

Inde
rA

rA
Para

Para
Instr

Instr
FB P

FB P
Arith

Arith
on, o

on, o
Exec

Exec
ACC

ACC
6050 Read S-Bus PGU mode
6060 Read S-Bus PGU port number
6070 Read S-Bus level Status
Special Instructions 6080 Read current PGU owner
6100 Read modem status
NOP NO Operation 6500 Read modem type string
R 6510 Read modem reset string
RTIME READ Time. = 6520 Read modem initialisation string
Uses register R and the following one. 7000 Read system counter
WTIME R Write Time E = 7050 Second
7051 Minute
PID R PID Control algorithm E = 7052 Hour
7053 Minute and second
Uses register R and the 12 following
7054 Hour and minute
ones 7055 Hour, minute and second
TEST Testnumber TEST HARDWARE D/A E 7060 Day
(unconditional Value Bit number Test Description 7061 Month
test ) or 7062 Year
11 11
7063 Month and day
400 10 Public Memory Loss
7064 Year and month
200 9 Memory Extention Corruption
7065 Year, month and day
HLPNZE & the 100 8 System RAM Memory
7070 Day of week
7 7
Test-number 40 6 System Firmware Checksum
7071 Week of year
7072 Week of year and day of week
20 5 Serial Channels
7081 Time and date (on two register)
10 4 Real Time Clock
7090 Seconds elapsed since 1970
3 3
4 2 User Program/Text Checksum SYSWR RK SYStem WRite E =
2 1 User Program/Text RAM RK 1000 System Watchdog (PCD1 only)
1 0 Public RAM (F, T, C, R, Mailbox) 2000 Write EEPRom Register 0
DIAG R Read XOB DIAGnostic 2001 Register 1
2002 Register 2
Uses register R and the 11 following 2003 Register 3
ones. 2004 Register 4
SYSRD RK SYStemRead E = 4000 Set XOB overflow
R (result) 4005 Enable/disable XOB 5
Code Function description 4013 Enable/disable XOB 13
4014 Install XOB 14
2000 Read User EEPROM Register 0 4015 Install XOB 15
Value contained in the EEPROM 4017 Execute XOB 17
2001 Register 1
4018 Execute XOB 18
2002 Register 2 4019 Execute XOB 19
2003 Register 3 6000 Write S-Bus station number
2004 Register 4
7000 Convert FFP to IEEE format.
5000 Read Device type in ASCII 7001 Convert IEEE to FFP format.
5010 in decimal 7050 Second
5100 Read own CPU type in ASCII 7051 Minute
5110 in decimal 7052 Hour
5200 Read own Firmware version in ASCII 7053 Minute and second
5210 in decimal 7054 Hour and minute
5400 Read User program name in ASCII 7055 Hour, minute and second
6000 Read S-Bus station number
7060 Day
6010 Read S-Bus PGU TN delay 7061 Month
6020 Read S-Bus PGU TS delay 7062 Year (<100)
6030 Read S-Bus PGU timeout 7063 Month and day
6040 Read S-Bus PGU baudrate
7064 Year and month
8 9
ends

ends
gs

gs
r

r
eter

eter
n

n
c Fla

c Fla
the

the
mete

mete
uctio

uctio
De p

De p
a ram

a ram
lters

lters
tate

tate
meti

meti
ution

ution
x

x
Us

Us
Inde

Inde
rA

rA
Para

Para
Instr

Instr
FB P

FB P
Arith

Arith
on, o

on, o
Exec

Exec
ACC

ACC
7065 Year, month and day R (1) i
7081 Time and date (on two registers) FMUL Floating point MULtiplication ZPN =
R (2) -- R(3)=R(1)*R(2)
SYCMP R SYStem CoMPare A = R (3) i E
KR Compares the sum of the two Register R1+R2 R (1) i
to System Counter and set ACCU accordingly FDIV Floating point DIVision ZPN =
R (2) -- R(3)=R(1)/R(2)
R (3) i E
FSQR R Floating point SQuare Root ZPN =
R
E
FCMP R i Floating point CoMPare ZPN =
R --
E
FSIN R i Floating point SINe ZPN =
R i
FCOS R i Floating point COSine ZPN =
R i
FATAN R i Floating point Arc TANgent ZPN =
R i
FEXP R i Floating point EXPonential ZPN =
R i
E
FLN R i Floating point Logarithm ZPN =
R i
E
FABS R i Floating point ABSolute value Z =
R i

10 7
ends

gs
Control instructions

eter
n

c Fla
the
mete
uctio

De p

a ram
lters
tate

meti
JR HLPNZE- Jump Relative Can depend

ution
x

Us
Inde

rA
Para
Instr

& Label or

FB P
Arith
to a label or a fix number of lines. on the state

on, o
Exec

ACC
a constant Example: off the
R i LABLE: NOP ACCU or
ROTL ROTate register Left A = JR Z LABLE
1..32 -- the state of
ROTR R i ROTate register Right A = an
1..32 -- or
JR Z -2 arithmetic
( jumps backwards two lines when Z- flag
flag=1 )
JPD HLPNEZ- JumP Direct Can depend
and a to the line-number x off this block on the state
INTEGER Arithmetic constant Example: off the
ADD R K (1) i ADD registers ZP = JPD 10
R K (2) -- ACCU or
R(3)=R(1)+R(2) NE the state of
R (3) i ( jumps unconditional to the 10th line
R K (1) i SUBstract registers ZP an
SUB R K (2) --
= of this block)
arithmetic
R(3)=R(1)-R(2) NE
R (3) i flag
MUL R K (1) i MULtiply registers ZP = HLPNEZ- Can depend
R K (2) -- JPI JumP Indirect
R(3)=R(1)*R(2) NE and a to the linenumber x off this block. The on the state
R (3) i Register- linenumber is in the R. off the
DIV R K (1) i DIVide registers ZP = number Example: ACCU or
R K (2) i R(3)=R(1)/R(2)
R (3) -- NE JPI L 33
the state of
R(4)=remainder
R (4) i an
( jumps on ACCU=0 to the line-
SQR R Square ZP = arithmetic
number which is stored in the register
R
NE R33 ) flag
RK i CoMPare registers ZPN = HALT HLPNZE HALT the CPU Depends on the
CMP RK -- state off the
↓ ↓ ↓
ACCU or the
Example: CMP Symbol_X Symbol_X = Symbol_Y HHL
Symbol_Y Symbol_X > Symbol_Y state of an
LHL arithmetic flag
Symbol_X < Symbol_Y
LLH
LOCK 0..99 LOCK semaphore
UNLOCK 0..99 UNLOCK semaphore
FLOATING POINT Arithmetic
IFP R i Integer to Floating point E =
-20..+18 (10^X) --
FPI R i Floating point to integer E =
-20..+18 (10^X) --
FADD R (1) i Floating point ADD ZPN =
R (2) -- R(3)=R(1)+R(2)
R (3) i E
FSUB R (1) i Floating point SUBtraction ZPN =
R (2) -- R(3)=R(1)-R(2)
R (3) i E
6
-11-
ends

gs
r

eter
n

c Fla
the
mete
uctio

De p
Program blocks

a ram
lters
tate

meti
ution
x

Us
Inde

rA
Para
0…15 Cyclic ACCU is set at

Instr
COB

FB P
Arith
on, o
Exec

ACC
Supervisiontime ( 0 . .100000 x 10ms) organisation beginning and
blocks restored at the
ECOB end
0..999 Function blocks ACCU is set at READ/WRITE BCD Instructions
FB beginning and O..9 --
DIGI DIGit In ZP =
restored at the IOF --
end R i N
EFB
HLEZPN & Number 0…999 Call Function Depends on DIGIR 0..9 -- DIGit In Reversed ZP =
CFB IOF --
Parameter1 block ACCU or Flags
R i N
…..
Parameter128 DIGO 0..9 -- DIGit Out E =
R i
PB 0…299 Program blocks ACCU is set at
beginning and OF --
restored at the DIGOR 0..9 -- DIGit Out Reversed E =
R i
EPB end
OF --
CPB HLEZNP & Number 0…299 Call Program block Depends on
ACCU or Flags
CPBI HLEZNP & Number 0…299 Call Program block Depends on
indirect ACCU or Flags
LOGIC Word Instructions
0 Power problem in the main rack Exception blocks ACCU is set at AND R i AND registers ZP =
XOB 1 Power problem in extension rack PCD 6. beginning R --
2 Battery low R i NE
4 Parity error on the I/O bus (PCD6) OR R i OR registers ZP =
EXOB 5 No response on a module I/O (PCD4/6) R --
6 External error R i NE
7 Over load of the system due to multiple EXOR R i EXOR registers ZP =
events. R --
8 Instruction non valid R i NE
9 To many active tasks (Graftec) NOT R i Complement register ZP =
10 To many PB/FB levels R i
11 Watch dog COB NE
12 Index registers overflow
13 Error Flag
14 Cyclic XOB
15 Cyclic XOB SHIFT and ROTATE Instructions
16 Cold start SHIU R SHIft registers Up =
17 S-Bus telegram R
18 S-Bus telegram R SHIft registers Down =
19 S-Bus telegram
SHID R
20 Interrupt input INB1 R ROTate registers Up
25 Interrupt input INB2
ROTU R
=
30 No connection with RIO R ROTate registers Down
0…31 Sequential blocks
ROTD R
=
SB
SHIL R i SHIft register Left A =
ESB 1..32 --
CSB HLZNPE & SBNumber ( 0…31 ) Call Sequential Depends on R i Shift register Right A
block ACCU or Flags
SHIR 1..32 --
=
12 5
ends

gs
r

eter
n

c Fla
the
mete
uctio

De p
Comunication

a ram
lters
tate

meti
ution
x

Us
Inde

rA
Para Portnumber Assign Serial Interface E =
Instr

SASI

FB P
Arith
on, o
Exec

ACC
Textnumber

SRXD Portnumber 0..3 -- Serial Receive Character E =


COPY Elements R i
(Mode C)
MOV R T C (source) i MOVe data = Portnumber 0..3 -- Serial Transmit Character E =
QDNBWL(type) --
STXD R i
R (destination) i (Mode C)
QDNBWL(type) -- STXT Portnumber 0..3 -- Serial Transmit Text E =
Example: Textnumber i
Move the nibble number 7 of register 100 into nibble number (Mode C)
Q = Quant. Move one Bit (0-32)
5 of register 101.
SRXM Portnumber 0..3 -- Serial Receive Media E =
D = Digit (4Bits BCD) ;Before: R100=1111 1010 1010 1010 1010 1010 1010 1010 K (1..32)for R T C or 1..128 --
N = Nibble (4Bits Binary) ; R101=0001 0001 0001 0001 0001 0001 0001 0001 for F I O Mode SBUS (consult the help for
B = Byte. Move 8 Bit (0-3) MOV R 100
Mode D, MM4 & Profibus)
N7
IOFRTC i
W = Word. Move 16Bit (0-1)
R 101 OFRTC i
L = Longword. Move the entire
N0
SRXMI Portnumber 0..3 Serial Receive Media Indirect E
register. ;After: R100=1111 1010 1010 1010 1010 1010 1010 1010 R
; R101=0001 0001 1111 0001 0001 0001 0001 0001 I O F R T C DB Mode SBUS (consult the help for
COPY R T C (source) i COPY data ZP = O F R T C DB Mode D, MM4 & Profibus)
R TC (dest) i Portnumber 0..3 --
N STXM Serial Transmit Media E =
R T C X DB i K (1..32)for R T C or 1..128 --
GET GET data ZP = for F I O Mode SBUS (consult the help for
RTC --
N IOFRTC i Mode D, MM4 & Profibus)
RTC -- PUT data ZP = OFRTC i
PUT R T C X DB i Portnumber 0..3
N STXMI Serial Transmit Media Indirect E =
R
TFR DB X or R T C -- TransFeR data ZP = I O F R T C DB Mode SBUS (consult the help for
POS or DEST -- O F R T C DB Mode D, MM4 & Profibus)
RTC or R K i N
SICL Portnumber 0..3 Serial Input Control Line E =
TFRI DB X or R T C TransFeR data Indirect ZP = 0,1 or 2 (0=CTS 1=DSR
POS or DEST 2=DCD )
RTC or R K N
SOCL Portnumber 0..3 Serial Output Control Line E =
Signal ( RTS or DTR )

READ/WRITE Binary
BITI 1..32 -- BIT In ZP =
IOFTC --
R i N
BITIR 1..32 -- BIT In Reversed ZP =
IOFTC --
R i N
BITO 1..32 -- BIT Out =
R i
OFTC --
BITOR 1..32 -- BIT Out Reversed =
R i
OFTC --

4 13
ends

gs
r

eter
n

c Fla
the
mete
uctio
SASI TEXTS:

De p

a ram
lters
tate

meti
ution
x

Us
General structure:

Inde

rA
Para
Instr

FB P
Arith
on, o
Exec

ACC
TEXT xxxx "<uart_def>; <mode_def>; <diag_def>;<rx_buf>;<tx_buf>;"
where xxxx is the text number (0..3999). SASI Texts are case sensitive!!!

EXAMPLE: LOAD Elements


$sasi
LD TC i LoaD ( all 32Bit ) D
TEXT 20 "UART:4800,8,N,1;MODE:MC2;DIAG:F0,R100; RBUF:25; TBUF: 30;"
K --
$endsasi
Mode MC2 LD R i LoaD ( all 32Bit )
at 4800 Baud, 8 data bits, no parity, 1 stop bit, using F0-F7 as diagnostic flags and register R100 as K --
diagnostic register; a receive buffer length of 25 characters and a transmit buffer lenght of 30 characters.
LDL TC i LoaD Low (lower 16 Bit ) D =
K --
The most important parameters ( for others see Windows help on SASI): LDL R i LoaD Low (lower 16 Bit ) =
K --
TEXT 20 "UART: 4800, 8, N, 1 ;MODE: MC2; DIAG: F0, R100; RBUF: 25; R i
TBUF: 30;" LDH LoaD High ( higher 16Bit) =
K --
Text <uart_definition> <mode_definition> <diagnostic_definition> <receive_buffer>
no Speed Char_len Parity stopbit and <transmission DSP IOFT i Load DiSPlay register
buffer> CRK --
Textmode
110 7 Even 1 No Defines the
0 to 150 8 Odd 2 handshaking MC0 communications RBUF: 1..511
3999 300 Low RTS and diagnostics media. TBUF: 1..511
600 High CTS MC1
1200 None handshaking 1. The base address of 8 RBUF and TBUF
2400 Xon/Xoff MC2 consecutive diagnostic are only used in
4800 protocol MC3 elements flags or outputs text mode INCREMENT/DECREMENT Elements
9600 With echo ( MODE C)
19200 RS485 MC4 2. The base address of the INC C i INCrement D =
38400 Interface register which will contain
the diagnostic INC R i INCrement =
information's. C i
SBUS Mode DEC DECrement D =
Master SM2,R
DEC R i DECrement =
0 0 0 Slave SS2

Gateway
Master GM,R

Gateway
Slave GS2
INDEX REGISTER Instruction
Deactivate OFF
SEI R K (13Bit) SEt Index register =
INI R K (13Bit) Increment Index register A =
Diagnostic Flags
The Output or Flag address following the DIAG definition of the SASI texts is the base address R K (13Bit)
of 8 consecutive Outputs or Flags, used as follows: DEI Decrement Index register A =
xxxx RBSY Receiver busy
STI R Store Index register =
xxxx+1 RFUL Receive buffer full
xxxx+2 RDIA Receiver diagnostic RSI R ReStore Index register =
xxxx+3 TBSY Transmitter busy
xxxx+4 TFUL Transmit buffer full
xxxx+5 TDIA Transmitter diagnostic
xxxx+6 XBSY Text busy
xxxx+7 NEXE Not executed
14 3
ends

gs
r

eter
n

c Fla
the
mete
uctio

De p

a ram
lters
tate
$ Directives

meti
ution
x

Us
Inde

rA
Para
Instr

FB P
Arith
on, o
Exec

ACC
Directives direct the assembler to do something special when the source module is assembled.
All directives consist of a $ immediately followed by the directive name.
No space can appear between the $ and the name. Directives are processed at assembly time, they are
never executed by the PCD.
A complete list of all $Directives can be found in the online help
BINARY Instructions
HLNPEZC $INCLUDE Includes another IL file. Example:
ACC ACCUmulator operations A NP $Include "C:\temp folder\testfile.src"
1. The ACCU can be set & reset EZ
unconditionally: $Ifxxxx Conditional Assembly Directives $IF conditional_expression
ACCU H = set or ACCU L = reset $ENDIF If the result of conditional_expression is
2. The ACCU can be set and reset according Not
The conditional assembly non-zero (true).
to the sate of one of the arithmetic flags. true directives allow code to be
Example: conditionally included or excluded $IFN conditional_expression
ACCU E ( The ACCU is set if at assembly time. They are If not: if the result of
the Error flag is high ) evaluated when the program is conditional_expression is zero (false).
3. ACCU can be inverted ( ACC C = assembled, NOT when it is
complement) executed $IFDEF symbol
STH IOFTC i Start high A = Conditional directives are typically If the symbol name is DEFined, EQUated,
IOFTC i used to produce different versions declared EXTN, or is a label declared in the
STL Start Low A = of a program where most of the current block.
ANH IOFTC i AND high A/D = code is the same for each version,
IOFTC i or to include special code during $IFNDEF symbol
ANL AND low A/D = the debug phase of a program. If the symbol is not DEFined, EQUated,
ORH IOFTC i OR high A/D = declared EXTN, or a label.

ORL IOFTC i OR low A/D = $IFINC


XOR IOFTC i Exclusive OR A/D = If $INCLUDE file (true if this module has
been included in another module).
DYN F i Dynamic D =
OUT OF i Set element equal to ACCU state D = $IFNINC
If not $INCLUDE file (true if the module is
OUTL OF i Set element inverse to ACCUstate D = the main module).
SET OF i Set element if ACCU = H D = $IFTYPE expression = type
RES OF i Reset element if ACCU = H D = $IFTYPE expression <> type
COM OF i Complement Element D = If the expression's type is equal to type (K,
R, T, TEXT etc). Can also use <> in place
of = for not equal to type.

$IFB If blank.
$IFNB If not blank.
$IFE If equal.
$IFNE If not equal.

2 15
$SASI, The texts between $SASI and Example: BINARY INSTRUCTIONS .................................................................................................................. 2
$ENDSASI $ENDSASI are fully checked by $SASI
the assembler and invalid texts are TEXT 20 LOAD ELEMENTS .............................................................................................................................. 3
detected "UART:4800,8,N,1;MODE;MC2;DIAG:
INCREMENT/DECREMENT ELEMENTS ...................................................................................... 3
If $SASI..$ENDSASI are not F0,R100; RBUF:25; TBUF: 30;"
used, it is possible to enter an ... INDEX REGISTER INSTRUCTION................................................................................................. 3
invalid text which may cause $ENDSASI
incorrect initialization of the serial COPY ELEMENTS............................................................................................................................... 4
port.
$SKIP, All statements between the $SKIP Format: READ/WRITE BINARY ...................................................................................................................... 4
$ENDSKIP and $ENDSKIP directives, or all $SKIP READ/WRITE BCD INSTRUCTIONS ............................................................................................. 5
statements after $SKIP until the statements_to_be_skipped
end of the file, are totally ignored ... LOGIC WORD INSTRUCTIONS....................................................................................................... 5
by the assembler $ENDSKIP
$ERROR Displays the user-defined Example: SHIFT AND ROTATE INSTRUCTIONS ......................................................................................... 5
and error_message and warnings, and
INTEGER ARITHMETIC ................................................................................................................... 6
$WARNING increments the error/warning IF Axis > 4
count. This is often used inside a FLOATING POINT ARITHMETIC..................................................................................................6
$IF..$ENDIF statement, which can $ERROR "Axis" is out of range: @Axis@
be used to detect the error, i.e. if a $ENDIF SPECIAL INSTRUCTIONS................................................................................................................. 8
user-defined constant was out of
CONTROL INSTRUCTIONS............................................................................................................ 11
range. If an error is generated, then If Axis is greater than 4 (e.g. 10), the
no object file is produced and an assembler generates an error message: PROGRAM BLOCKS ........................................................................................................................ 12
error value is returned to the Error 165: AXIS.SRC: Line 45: "Axis" is
Project Manager. out of range: 10 COMUNICATION ............................................................................................................................... 13
Warnings don't stop the assembly.
SASI TEXTS ........................................................................................................................................ 14

$ DIRECTIVES .................................................................................................................................... 15

$COBSEG The code between Format: SPECIAL CHARACTERS WHICH CAN BE USED INSIDE TEXTS ................................... 17
$ENDCOBSEG $COBSEG..$ENDCOBSEG is put
into a COB, $XOBSEG xob_number

r
cy
n
and code between ...

metic
and

mete

mete
uctio

nde n
$XOBSEG..$ENDXOBSEG is put

s
$XOBSEG into an XOB. $ENDXOBSEG

Inde
Para

Para
Arith
ACC
Instr

Flag
d epe
$ENDXOBSEG

FB
$CPU and The downloader will not allow the Format:
$STATION program to be downloaded into $CPU destination_CPU_number I Input 0..8191 P Positive
"X"can be D=

"=" Indicates that this instruction works with


any other CPU or S-BUS station. O Output 0..8191 High if result of arithmetic
used with Execution
$STATION F Flag 0..8191 instruction is positive
R Register 0..4095
index Depends on N Negative
destination_SBUS_station_number
T Timer 0..450 Example: the ACCU High if result of arithmetic
$PCDVER This directive defines the earliest Format:
C Counter 0..1599 If you use state instruction is negative
PCD firmware version on which $PCDVER type version [internal_version] K Constant0--16383( Bit) (the P flag is always the
index
the program will run. Using this or 0--8191 (13Bit) inverse of the N flag)
addressing
directive allows the downloader to X teXt 0..7999 A= Z Zero
DB Data Block 0..7999 with the High if the result of arithmetic
check that the destination CPU Is Instruction
H or L : ACCUstate High or Low COPY instruction is 0
the right type and contains the can Alter
PNEZ: Arithmetic Flags command,

FB parameters
E Error
correct firmware. Positive, the state of High if an instruction cannot
the
Negative, instruction is the ACCU be executed or on Overflow,
Error, Underflow and Conversion)
Zero
named
COPYX
16 -1-
Special characters which can be used inside texts
Control characters can be entered in DCE or as Mnemonic. They arealways in bracets <>
Example: The "LINE FEED" comand can be written like this: <LF> or like this <10>.

<NUL> 0 00H <VT> 11 0BH <SYN> 22 16H


Print this document two sided and fold the papers in the middle to have a booklet.
<SOH> 1 01H <FF> 12 0CH <ETB> 23 17H
<STX> 2 02H <CR> 13 0DH <CAN> 24 18H
<ETX> 3 03H <SO> 14 0EH <EM> 25 19H
<EOT> 4 04H <SI> 15 0FH <SUB> 26 1AH
<ENQ> 5 05H <DLE> 16 10H <ESC> 27 1BH
<ACK> 6 06H <DC1> 17 11H <FS> 28 1CH
<BEL> 7 07H <DC2> 18 12H <GS> 29 1DH
<BS> 8 08H <DC3> 19 13H <RS> 30 1EH
<HT> 9 09H <DC4> 20 14H <US> 31 1FH
<LF> 10 0AH <NAK> 21 15H <DEL> 127 7FH

Texts can also contain variables such as the clock value, the status of an input, the content of a register, ...

There are two characters which have a special meaning for the PCD: $ and @.

$ = DIRECT ADDRESSING
@ = INDIRECT ADDRESSING

$H Time (Hour, Minute, Second): hh:mm:ss


$HH Time (Hour only): hh
$HM Time (Minute only): mm
$HS Time (Second only): ss
$D Date (Year, Month, Day): yy-mm-dd
$d Date (Day, Month, Year): dd.mm.yy
$DD Date (Day only): dd
$DM Date (Month only): mm
$DY Date (Year only): yy
$W Week (Week number, Day of week): ww-dd
$WN Week (Week number only): ww
$WD Week (Day number only): dd
$innnn Logical state of a single Input (0, 1) nnnn : element number
$onnnn Logical state of a single Output (0, 1) (must be 4 digits)
$fnnnn Logical state of a single Flag (0, 1)
$Innnn Logical state of 8 Inputs (nnnn to nnnn+7) nnnn: first element number
$Onnnn Logical state of8Outputs(nnnn to nnnn+7) (must be 4 digits)
$Fnnnn Logical state of 8 Flags (nnnn to nnnn+7)
$Cnnnn Counter contents nnnn: element number
$Rnnnn Register contents (must be 4 digits)
$Tnnnn Timer contents
$Lnnnn incLude another text (max 3 level) nnnn:text number (must be 4 digits)
$xnn Character 'x' is repeated 'nn' times nn must be 2 digits
The character must not be a data type:
(H|h|D|d|W|i|o|f|I|O|F|C|R|T|L|X|$|@|%)
$Annnn Output Register contents as ASCII char. nnnn: Register number (must be 4 digits)
@innnn Logical state of a single Input (0, 1) nnnn : Register number
17
@onnnn) Logical state of a single Output (0, 1 (must be 4 digits)
@fnnnn Logical state of a single Flag (0, 1)
@Innnn Logical state of 8 Inputs (add to add+7)
@Onnnn Logical state of 8 Outputs (add to add+7)
@Fnnnn Logical state of 8 Flags (add to add+7)
@Cnnnn Counter contents
@Rnnnn Register contents
@Lnnnn incLude another text (max 3 level)
@xnnnn Character 'x' is repeated Register contents
times. The character must not be a data
type: (H|D|W|i|o|f|I|O|F|C|R|L|x)
Example 1:
Assuming that this text is printed on the 16 August 90 at 09:00 am, that inputs 0 and 1 are High, and the
contents of Register 100 is 12345: the following will be printed:

TEXT 10 "Date: $D Time: $H <CR><LF>" Date: 90-08-16 Time: 09:00:00


"$-32 <CR><LF>" --------------------------------
"Input 0..7: $I0000 <CR><LF>" Input 0..7: 11000000
"Register 100: $R0100 <CR><LF>" Register 100: 12345
"$+20 <CR><LF>" ++++++++++++++++++++

18 Edition 26/786E1

You might also like