数组的比较

如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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年7月26日
下一篇 2017年7月26日

相关推荐