发布于 2012-05-29 10:55:06
3楼
对于沿指令的使用是有要求的,尤其是其检测位。
楼主的情况应该是检测位每周期都被复位了,因此每次执行上升沿指定都有输出。
以下摘自S7-1200系统手册
沿指令每次执行时都会对输入和存储器位值进行评估,包括第一次执行。 在程序设计期间必须考虑输入和存储器位的初始状态,以允许或避免在第一次扫描时进行沿检测。由于存储器位必须从一次执行保留到下一次执行,所以应该对每个沿指令都使用唯一的位,并且不应在程序中的任何其它位置使用该位。 还应避免使用临时存储器和可受其它系统功能(例如 I/O 更新)影响的存储器。 仅将 M、全局 DB 或静态存储器(在背景DB中)用于 M_BIT 存储器分配。