有没有从有顺序的各个UDT中,每个UDT取出一位放到一个字中的程序或指令

有没有从有顺序的各个UDT中,每个UDT取出一位放到一个字中的程序或指令

最佳答案

假设是udt1,里面包含10个字,要的是他的第0位,然后在db1里调用他5次,db1里就成了dbx0.0-dbx9.9是第一个udt,dbx10.0-dbx19.9是第二个udt,总共5组,最终要放在db1.dbx100.0开始以此类推,接下来编程
OPN DB 1               //打开bd1
LAR1 P#0.0            //把db1.dbx0.0放在地址寄存器1
LAR2 P#100.0        //把db1.dbx100.0放在地址寄存器2
L 5                         //总共要循环5次  
XH: T MW0             
A DBX[AR1,P#0.0]       //取出位(db1.dbx0.0)
= DBW[AR2,P#0.0]      //放在db1.dbx100.0里
+AR1 P#10.0                //每次都给AR1偏移10.0
+AR2 P#0.1                  //每次都给AR2偏移0.1
L MW0                         
LOOP XH                     //LOOP的标准格式,每次都给mw0减1,直到0,也就是循环5次
这样,你在db1.dbw100或dbb100里就可以看到了,db1.dbx100.0里就是第一个udt1里的第0位,db1.dbx100.1就是第二个udt1里的第0位,以此类推
如可用,请采纳

提问者对于答案的评价:
根据1楼的兄弟所说我也写了一个,和你写的基本一致,并验证通过,非常感谢你的指导。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月3日 上午1:36
下一篇 2017年8月3日 上午1:36

相关推荐