西门子300PLC将模拟量地址批量移到指定DB块

因模拟量数据较多,想一次性将全部模拟量值移到指定DB块中,比如PIW272开始到PIW334,在用BLKMOV块时,无法实现,输入端P#I272.0 WORD 32 或P#I272.0 BYTE 64都不行,已经用PLC及模块亲自测试过,具体见图片。开关量信号批量移动没问题。请大神指点

钻石用户推荐最佳答案

应用循环语句进行编程,详见下述例程:
典型的循环语句编程:
、例程:将PIW272开始到PIW334,共32个字送入DB10中:
在OB1:
     OPN   DB     10      //打开DB 10
      L     P#272.0          //初始读指针
      LAR1  
      L     P#0.0            //初始写指针
      LAR2
      L     32              // 32个字的循环计数为初值
M001: T     MB    10        //计数值 送入MB 10
      L     PIW [AR1,P#0.0]   //按读指针指示的地址读数据
      T     DBW [AR2,P#0.0]  //按写指针指示的地址写数据
      +AR1  P#2.0            //读指针指向下一数据地址
      +AR2  P#2.0            //写指针指向下一数据地址
      L     MB    10        //取循环计数值
      LOOP  M001           //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。

提问者对于答案的评价:

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午11:27
下一篇 2020年10月30日 下午11:27

相关推荐