西门子PLC对于STL语句中上升沿实现的方式

比如i1.0上升沿的时候,q1.0得电.可以写成如下的语句
ai1.0
fpm40.0
sq1.0
但是我不明白的是为啥用m40.0或者其他中间位?不是检测i1.0的上升沿么,为啥不写成fpi1.0?
答:1、有关fp指令:
使用rlo上升沿检测指令(fp<位>)可以在rlo从“0”变为“1”时检测到一个上升沿,并以rlo=1显示。
在每一个程序扫描周期过程中,rlo位的信号状态都将与前一周期中获得的结果进行比较,看信号状态是否有变化。前一rlo的信号状态必须保存在边沿标志地址(<位>)中,以进行比较。如果在当前和先前的rlo“0”状态之间有变化(检测到上升沿),则在操作之后,rlo位将为“1”。
2、不明白的是为啥用m40.0或者其他中间位?
为了保持前一rlo的信号状态,所以要必须保存在边沿标志地址(<位>即中间标志m40.0)中。
3、不是检测i1.0的上升沿么,为啥不写成fpi1.0?
理由见上述。即,必须保存在边沿标志地址(<位>即中间标志m40.0)中。