在西门子S7-1200 PLC中,OB100是启动组织块(Startup Organization Block),其核心功能是在CPU从STOP模式切换到RUN模式时执行一次初始化程序。以下是关于OB100的详细说明:
触发条件:当CPU的操作模式从STOP切换到RUN时,包括启动模式处于RUN模式时CPU断电再上电,以及执行STOP到RUN命令切换时,OB100会被执行一次。
执行顺序:在S7-1200 CPU中,支持多个启动OB,这些OB会按照编号顺序(由小到大)依次执行。OB100是默认设置的启动OB,其他启动OB的编号必须大于或等于123。OB100执行完毕后,才开始执行主“程序循环”OB(通常是OB1)。
主要用途:OB100主要用于对程序进行初始化,例如清零、赋值等操作。在高速计数器应用中,如果增量式编码器断电后无法保持当前位置,可以在高速计数器的值传送到保持性存储器中后,在OB100中读取保持性存储器中的值,并重新作为高速计数器的初始值。
编程示例:在OB100中,可以编写初始化程序。例如,给某个数据字(如MW10)赋值,或者根据硬件输入的状态(如I0.0)有条件地给另一个数据字(如MW102)赋值。
注意事项:
在启动阶段,对中断事件进行排队但不进行处理,需要等到启动事件完成后才进行处理。
OB100的执行过程没有时间限制,不会激活程序最大循环监视时间。
在启动模式下,可以更改HSC(高速计数器)、PWM(脉冲宽度调制)以及PtP(点对点通信)模块的组态。
由于启动OB在执行过程中不更新过程映像区,所以读到的过程映像数值均为0。因此,要在启动模式下读取物理输入的当前状态,必须对输入执行立即读取操作(如I0.0:P)。