以下这段程序请教高手能帮我解读以下。谢谢
NETWORK1
LAR1 P##TEMP3
L B#16#10
T LB [AR1,P#0.0]
L B#16#2
T LB [AR1,P#1.0]
L #IN2
T LW [AR1,P#2.0]
L #IN0
T LW [AR1,P#4.0]
L P#DBX 0.0
T LD [AR1,P#6.0]
NETWORK2
LAR1 P##TEMP4
L B#16#10
T LB [AR1,P#0.0]
L B#16#2
T LB [AR1,P#1.0]
L #IN2
T LW [AR1,P#2.0]
L #IN1
T LW [AR1,P#4.0]
L P#DBX 0.0
T LD [AR1,P#6.0]
NETWORK3
CALL "BLKMOV"
SRCBLK :=#TEMP3
RET_VAL:=#TEMP5
DSTBLK :=#TEMP4
问题补充:
在其他FC中被两次调用,IN0\IN1\IN2对应的数据是80、82、255和82、81、255。
图片说明:
最佳答案
前面两段是通过临时变量构建地址ANY指针,第三段是数据复制,第一次调用相当于将DB80.DBX0.0 开始的255个字节复制到DB82.DBX0.0开始的255个字节,第二次调用是将DB82.DBX0.0 开始的255个字节复制到DB81.DBX0.0开始的255个字节。
你可以单独测试用两个数据块测试一下,把255改为10个字节,就复制10个字节数据。
提问者对于答案的评价:
应该是的。从wincc中变量名称来看是报表的数据迁移。谢谢
最佳答案作者回复:
功能就是这样的,你可以单独做一个来测试一下,很简单的就可完成测试了。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc286648.html