11 - 342 11 - 342
MELSEC-Q
11 INSTRUCTIONS AND FUNCTIONS
Program Example
(1) Program example of a format 1 control table
100 'A program example that writes data to buffer memory 1 of the intelligent functional module
(Q62DA)
110 ' (Starting address of Q62DA: &H00)
120 DIM TBL%(10),A%(20)
:
'Defines arrays
TBL%(0)=255
:
'Specifies the station number to
communicate with to the local station
140 TBL%(1)=533
:
'Specifies to read buffer memory
150 TBL%(2)=&H0
:
'Specifies the starting I/O number
160 D!=&H1
:
'Specifies the buffer memory address
170 H!=INT(D!/65536!)
:
'Splits into lower and higher digits
180 L!=D!-H!*65536!
190 H$=RIGHT$(“0000”+HEX$(H!),4)
200 L$=RIGHT$(“0000”+HEX$(L!),4)
210 TBL%(3)=VAL(“&H”+L$)
:
'Stores the lower digit of the buffer memory
address
220 TBL%(4)=VAL(“&H”+H$)
:
'Stores the higher digit of the buffer
memory address
230 TBL%(5)=1
:
'Specifies the number of points to be read
240 A%(0)=1000
:
'Specifies the values to be written
250 PCRD TBL%( ),A%( )
:
'Executes the write operation
260 END
(2) Program example of a format 2 control table
100 'A program example that writes data to buffer memory 1 of the intelligent functional module
(Q62DA)
110 ' (Starting address of Q62DA: &H00)
120 DIM TBL%(10),A%(20)
:
'Define arrays
130 TBL%(0)=256
:
'Specifies a format 2 control table
140 TBL%(1)=1
:
'Specifies network number 1
150 TBL%(2)=1
:
'Specifies station number 1
160 TBL%(4)=533
:
'Specifies to read buffer memory
170 TBL%(5)=&H0
:
'Specifies the starting I/O number
180 D!=&H1
:
'Specifies the buffer memory address
190 H!=INT(D!/65536!)
:
'Splits into lower and higher digits
200 L!=D!-H!*65536!
210 H$=RIGHT$(“0000”+HEX$(H!),4)
220 L$=RIGHT$(“0000”+HEX$(L!),4)
230 TBL%(6)=VAL(“&H”+L$)
:
'Stores the lower digit of the buffer memory
address
240 TBL%(7)=VAL(“&H”+H$)
:
'Stores the higher digit of the buffer
memory address
250 TBL%(8)=1
:
'Specifies the number of points to be read