在OB35中调用 1000ms
OPN DB900
L P#0.0 //初始写指针
LAR1
L MB 200
L 5 //db内5个数据dbw0 dbw2 dbw4 dbw6 dbw8
>=I
JC M001 //如果已读完5个数据则跳转到M001处
L PIW 256 //读数据
T DBW [AR1,P#0.0] //按写指针指示的地址写数据
+AR1 P#2.0 //写指针指向下一数据地址//计数器增1
L MB 200
INC 1
T MB 200
M001: NOP 0
我想实现的功能是当计数器加1时,piw256的值传给dbw0,再加1时piw256的值传给dbw2,依次类推,请问各位老师上述程序要做哪些修改?
问题补充:
感谢我心飞翔的热心回答,但是我在模拟这段程序时发现,piw256的值是瞬间传给db内的5个值的,假设不在ob35内调用,怎么做到piw256的值每隔1段周期(比如10s)分别传给dbw0,dbw2...dbw8?
图片说明:
最佳答案
OPN DB900
L P#0.0
LAR1
L 5
M001:T MB200
L PIW 256
T DBW [AR1,P#0.0]
+AR1 P#2.0
L MB 200
LOOP M001
补充:这个要重新写个重新,在OB35中执行。
OPN DB900
L PIW 256
T DBW [MD0]
L MD0
L 16
+I
T MD0
L MD0
L 80
>=I
JCN M001
L 0
T MD0
M001:NOP 0
程序没有测试,你试试看吧。
提问者对于答案的评价:
测试可以,谢谢。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc232401.html