如m0.0到m99.0,检测其中一位是否变为“1”,,,,我想用数组或者其他的直接比较,只要与不等于0 就知道m0.0到m99.0中就有一个为"1"。但是 想不出很好的办法,如果双字比较,那要写太多咯。请问 各位大侠有什么好的办法检测m0.0到m99.0中有"1"存在,,,,,,只检测m0.0到m99.0中两个状态,一个是全部为0,另一个状态是不是全部为0.
问题补充:
大侠 们 可以写个程序看看呢
最佳答案
指针加循环的方法来做
LAR1 P#M0.0
L 100 //100个数的循环
B002: T MW 166
A M [AR1,P#0.0]
JC B001
R M 171.0
+AR1 P#0.1
JU B003
B001: S M 171.0 //M171.0为1时表示不全为0
B003: L MW 166
LOOP B002
NOP 0
提问者对于答案的评价:
能看懂,虽然说可以用双字写25次与0比较,但是 太长了。谢谢
专家置评
已阅,最佳答案正确。程序形式不止这一种,STL语言设计思路是通过应用指针寻址且按位推移,通过JC实现按照设置次数的循环,当位置位时,累加值累加1;也可以使用SCL语言编写,那就是FOR循环内部嵌套IF结构,通过数组的方式逐步判断并累加数值。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc188010.html