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