S-300 FP,FN 为什么要给他位地址

A     #relay_dimming_e            //每秒减2
      A     M      0.5
      FP    M     12.1
      JNB   _002
      L     #dimming_scale
      L     2
      -I    
      T     #dimming_scale
_002: NOP   0

M0.5是一秒脉冲
上升沿触发
M12.1 为什么加啊
这样,如果这段程序做成FC,多次调用,岂不是我要给每个FC定义上升沿的位地址。
求大神啊!改进改进吧。

问题补充:
各位大神,我把这个FC改成FB,然后全部的temp全部改成STAT,大神觉得可行么?
上升沿那个我已经懂了,谢谢大神么啊!!

最佳答案

1、M12.1 为什么加啊?
因为FP,FN需要两个扫描周期才能完成的指令,系统需要将RLO状态为与前一个周期获得的结果进行比较,才能确定是RLO状态是否有变化,即确定是否有跳变。那么必须将前一个周期的RLO状态存入一个边沿标志地址中,例如M12.1 中。
2、必须给出这个边沿标志地址。
3、见:
《用于S7-300 和S7-400 的语句表(STL)编程手册》下载:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText= 1008

提问者对于答案的评价:
谢谢大家

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

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

相关推荐