2个共享数据块之间的数据拷贝

例如从DB100拷贝的到DB200。每次拷贝的UDT数据长度为40bytes. SFC20使用太麻烦,因为有数百个UDT。尝试使用Loop命令,遇到一个问题是不能同时打开2个共享数据块,只能一个共享数据块和一个背景数据块。请教各位大侠!

问题补充:
你的回答对我有些启发。谢谢!

最佳答案

1、从DB100拷贝的到DB200,拷贝的UDT数据长度为40bytes. 使用Loop命令:
      L     P#0.0          //初始读指针
      LAR1  
      L     P#0.0            //初始写指针
      LAR2  
      L     40               // 40个字节的循环计数为初值
M001: T     MB    10        //计数值 送入MB 10
      L     DB100.DBB [AR1,P#0.0]   //按读指针指示的地址读数据
      T     DB200.DBB [AR2,P#0.0]  //按写指针指示的地址写数据
      +AR1  P#1.0            //读指针指向下一数据地址
      +AR2  P#1.0            //写指针指向下一数据地址
      L     MB    10        //取循环计数值
      LOOP  M001           //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。        
2、不能同时打开2个共享数据块?
在程序中可以这样编程:例如:
A    DB100.DBX0.0
A    DB200.DBX0.0
= DB300.DBX0.0
上述数据块必须在PLC中已建立。

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc248930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日 下午4:30
下一篇 2018年12月2日 下午4:30

相关推荐