各位大师,请教s7-200的子程序问题

子程序在同一个周期内被多次调用时,子程序内部不能使用上升沿下降沿定时器和计数器指令,为什么不能?

最佳答案

转帖:S7-200 PLC 2009年系统手册中文版204页说:“当子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。”
    S7-300/400可以将定时器、计数器的编号设置为块的输入参数,在每次调用时指定不同编号的定时器和计数器作为实参。S7-200则没有这个功能,只能在子程序中使用固定的定时器编号。如果对多个被控对象多次调用子程序,不同被控对象同时使用同一个定时器计数器,将会产生灾难性的结果。
    是否有上升沿和下降沿,必须经过两个扫描周期来判断,即前一个扫描周期读取触发信号,并存储到一个位地址内,再与本次扫描周期的触发信号的状态相比较。
    S7-300/400的上升沿、下降沿指令需要指定保存前一扫描周期的位地址。S7-200的上升沿、下降沿指令前一扫描周期的状态是操作系统保存的。但是因为只能保存一个位变量的前一扫描周期的状态,所以子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿指令。
参考链接: http://www.ad.siemens.com.cn/Service/answer/solution.aspx?Q_ID=107288&cid=1028

提问者对于答案的评价:
谢谢画乡,解释的很详细很到位!

专家置评

已阅,最佳答案正确。

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

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

相关推荐