大家好:
初学STL,现在想达到的目的是当MD280=1时,将M40.0的状态给M5.0;MD280=2时,将M40.1的状态给M5.0;MD280=3时,将M40.2的状态给M5.0........一直要到MD280=20时将M42.3的状态给M5.0
我想用间接寻址好做些,看手册上寻址M区的字节40.0是83000140,但是后面的偏移和寻址到M40.0的状态后怎么给到M5.0不会处理了,请教下大家,谢谢
L DW#16#83000140
LAR1
L W [AR1,P#0.0]
这样貌似可以访问到M40.0,但接下来怎么处理偏移量和怎么将M40.0状态给到M5.0??
最佳答案
LAR1 P#M 40.0 //取M40.0的地址值
TAR1 MD 284 //传给MD284,做偏移的计算用,是个中间的变量
L MD 284 //这个指令不能删除
L MD 280 //将偏移的量进行加法计算
+D
L 1
-D //减去1的目的是MD280从等于1开始
T MD 284
LAR1 MD 284
A M [AR1,P#0.0]
= M 5.0
试试看,地址的值也是可以直接加的,但要注意格式!
提问者对于答案的评价:
谢谢,测试OK
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc224666.html