S7-1200 控制V90PN 实现EPOS 基本定位控制的功能块FB284 在命令库中的位置如图

功能块居然能够打开,满满的福利。有此机会可以学习大师的编程规范和方法。但是有些程序代码却看的不明其理。

举例:使能轴的程序代码:
IF #EnableAxis AND NOT #sbOff1Edge THEN
#sbOff1 := True;
END_IF;
#sbOff1Edge := #EnableAxis ;
IF NOT #EnableAxis THEN
#sbOff1 := False;
END_IF;
输入参数“#EnableAxis” 并不是直接传递给静态变量“#sbOff1”,而是关联了保存“#EnableAxis”上一扫描周期状态的“#sbOff1Edge”变量。没有搞懂原程序中这么写的用意?是为了提高系统的可靠性亦或其它?
如若改为如下代码,只是一个扫描周期的脉冲,是不是也行呢?
IF #EnableAxis AND NOT #sbOff1Edge THEN
#sbOff1 := True;
else
#sbOff1 := False;
END_IF;
#sbOff1Edge := #EnableAxis ;
FB284功能块的编写程序看过之后,不仅是加深了驱动原理的理解,而且还学习了规范的编程路数。