最近在调试S120非周期读写,我是用sfc58发送读请求:
CALL "WR_REC"
REQ :=M20.0
IOID :=B#16#54
LADDR :=W#16#7FD
RECNUM :=B#16#2F
RECORD :=P#DB2.DBX0.0 BYTE 10
RET_VAL:=MW142
BUSY :=M3.2
A M 3.2
R M 20.0
然后再用sfc59读取数据:
CALL "RD_REC"
REQ :=M20.1
IOID :=B#16#54
LADDR :=W#16#7FD
RECNUM :=B#16#2F
RET_VAL:=MW140
BUSY :=M3.1
RECORD :=P#DB3.DBX0.0 BYTE 22
A M 3.1
R M 20.1
我用的DB2的数据:
request_reference BYTE B#16#25
response_ID BYTE B#16#1
axis_mirror BYTE B#16#2
number_of_parameter BYTE B#16#1
attribute BYTE B#16#10
element_of_number BYTE B#16#8
paranumber WORD W#16#3B1
sub_number WORD W#16#0
从db3接受到的数据如下:
DB3.DBB 0 HEX B#16#00
DB3.DBB 1 HEX B#16#80
DB3.DBB 2 HEX B#16#00
DB3.DBB 3 HEX B#16#01
DB3.DBB 4 HEX B#16#44
DB3.DBB 5 HEX B#16#02
DB3.DBW 6 HEX W#16#0021
DB3.DBW 8 HEX W#16#0000
DB3.DBW 8 HEX W#16#0000
DB3.DBW 8 HEX W#16#0000
DB3.DBW 8 HEX W#16#0000
DB3.DBW 8 HEX W#16#0000
DB3.DBW 8 HEX W#16#0000
DB3.DBW 8 HEX W#16#0000
完全是错误的不知道错在哪里了,是不是进行非周期读写需要在starter里面设置些东西,还是程序有问题?