11 - 333 11 - 333
MELSEC-Q
11 INSTRUCTIONS AND FUNCTIONS
(2) Program example for a format 2 control table
100 'A program example that writes data nonsequentially to devices in a Q/QnA series PLC CPU’s
device memory
110 DIM TBL%(20),A%(10)
:
'Defines arrays
120 TBL%(0)=256
:
'Specifies a format 2 control table
130 TBL%(1)=1
:
'Specifies network number 1
140 TBL%(2)=1
:
'Specifies station number 1
150 TBL%(4)=516
:
'Specifies to write data nonsequentially to
the devices of the Q/QnA series PLC CPU
160 TBL%(5)=&H101
:
'vWrites to one bit device point and one
word device point
170 TBL%(6)=&H1
:
'Writes to one double-word device point
180 TBL%(7)=168
:
'Specifies data registers (D)
190 D!=0
:
'Specifies device number 0
200 GOSUB 400
210 TBL%(8)=L%
:
'Stores the lower digit of the device number
220 TBL%(9)=H%
:
'Stores the higher digit of the device
number
230 TBL%(10)=0
:
'Specifies word units as processing unit
240 TBL%(11)=0
:
'Fixed value
250 TBL%(12)=144
:
'Specifies internal relays (M)
260 D!=0
:
'Specifies device number 0
270 GOSUB 420
280 TBL%(13)=L%
:
'Stores the lower digit of the device number
290 TBL%(14)=H%
:
'Stores the higher digit of the device
number
300 TBL%(15)=0
:
'Specifies bit units as processing unit
310 TBL%(16)=0
:
'Fixed value
320 TBL%(17)=168
:
'Specifies data registers (D)
330 D!=8000
:
'Specifies device number 8000
340 GOSUB 420
350 TBL%(18)=L%
:
'Stores the lower digit of the device number
360 TBL%(19)=H%
:
'Stores the higher digit of the device
number
370 TBL%(20)=0
:
'Specifies double-word units as processing
unit
380 TBL%(21)=0
:
'Fixed value
390 A%(0)=100:A%(1)=200:A%(2)=300
:
'Specifies the values to write
400 PCRD TBL%( ),A%( )
:
'Executes the write operation
410 END
420 H!=INT(D!/65536!)
:
’Splits into lower and higher digits
430 L!=D!-H!*65536!
440 H$=RIGHT$(“0000”+HEX$(H!),4)
450 L$=RIGHT$(“0000”+HEX$(L!),4)
460 L%=VAL(“&H”+L$)
470 H%=VAL(“&H”+H$)
480 RETURN