因模拟量数据较多,想一次性将全部模拟量值移到指定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