我在解决一个更换产品数据的问题,我用到了sfc20的数据发送具体程序如下。
OPN "DB600" 打开源db
L W#16#1002 定义为byte类型
T LW 0 定义为byte类型
L #didatalength 装载变量设定读取目标db数据的长度
T LW 2 传送目标db的长度到lw4
L 600 装载源db的地址
T LW 4 传送到lw4
L P#DBX 0.0 问题就在这里,读取目标db块的起始位是否可以定义为变量,我随时可以控制,希望大哥们能帮助我
T LD 6
L #dipartnomber
T #dipartnomber_1
L #diDBnumber
T #diDBnumber_1
OPN DB [#diDBnumber_1]
L W#16#1002
T LW 10
L #didatalength
T LW 12
L #dipartnomber_1
T LW 14
L P#DBX 18.0
T LD 16
A I 0.1
JCN m001
OPN "DB600"
CALL "BLKMOV"
SRCBLK :=#ANY1
RET_VAL:=MW1600
DSTBLK :=#ANY2
问题补充:
感谢您的回答,但是我对您回答的程序有点看不懂,不知道什么意思您是否能够解释的在详细一点,感激不尽,不如你下面的L MB 10 //“读取目标db块的起始字节” //int变量
L P#1.0
*D
L P#0.0
+D
LAR1
OPN DB 11
L DBB [AR1,P#0.0]
这程序如何与我的程序段对接?是要在建立变量吗??
最佳答案
L MB 10 //“读取目标db块的起始字节” //int变量
L P#1.0
*D
L P#0.0
+D
LAR1
OPN DB 11
L DBB [AR1,P#0.0]
//如果你想L dbb11,赋值MB10=11,则上述程序L DBB[AR1,P#0.0]=L DBB11
提问者对于答案的评价:
ok
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc231588.html