西门子S7-300程序没有读懂,希望朋友们帮助!

OPN   DB    50
      L     IB    18
      SLW   9
      SRW   9
      T     DBW  274
      L     DBW  274
      L     17
      ==I   
      TAK   
      O(    
      L     46
      ==I   
      )     
      O(    
      TAK   
      L     47
      ==I   
      )     
      O(    
      TAK   
      L     48
      ==I   
      )     
      JC    M004
      L     DBW  274
      L     0
      <>I   
      =     M     20.4
      JU    M005
M004: NOP   0
      R     M     20.4
M005: NOP   0
这个是我想要读懂的一段程序,M20.4控制一个报警的置位信号,现在不知道这个M20.4是什么条件能够引起这个位的变化。求指点!

最佳答案

OPN   DB    50
      L     IB    18          // 将IB18装载到ACCU1里
      SLW   9  
      SRW   9              //左移9位和右移9位的结果是IB18里的第7位被省去
      T     DBW  274
      L     DBW  274
      L     17               
      ==I                      // IB18是否等于17
      TAK   
      O(    
      L     46
      ==I                    // IB18是否等于46
      )     
      O(    
      TAK   
      L     47
      ==I                    // IB18是否等于47
      )     
      O(    
      TAK   
      L     48
      ==I                   // IB18是否等于48
      )     
      JC    M004       //以上4个比较是或的关系,其中一个成立就跳转并执行,并复位M20.4
      L     DBW  274
      L     0
      <>I                // 如果IB不等于17或46或47或48,那么在不等于0的情况下赋值给M20.4
      =     M     20.4
      JU    M005
M004: NOP   0
      R     M     20.4
M005: NOP   0
首先你要找到IB18是来至哪个外部输入设备,当IB等于17或46或47或48是故障被复位,不等且IB不为0时就故障报警;

提问者对于答案的评价:
十分感谢!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午7:11
下一篇 2018年12月1日 下午7:11

相关推荐