西门子S7-1200 PLC为用户提供了不同的块类型来执行自动化系统中的任务。其中组织块OB是操作系统和用户程序之间的接口,可以通过对组织块编程来控制PLC的动作。组织块由操作系统调用,用组织块可以创建在特定时间执行的程序,以及响应特定事件的程序。
各种类型的块
按照组织块控制操作的不同,S7-1200具有以下七种组织块:程序循环组织块、启动组织块、延时中断组织块、循环中断组织块、硬件中断组织块、时间错误中断组织块、诊断错误中断组织块。某些组织块在启动时,操作系统将输出启动信息,用户编写组织块程序时,可根据这些启动信息进行相应处理。
S7-1200的组织块
一、启动组织块。启动组织块在CPU从STOP模式切换到软RUN模式期间执行一次。启动组织块一般用于编写初始化程序,如赋初始值等,可以使用多个启动组织块,启动组织块包含启动信息。
启动组织块
二、程序循环组织块。要启动用户程序,执行项目中至少要有一个程序循环组织块,如OB1。操作系统在每个扫描周期调用程序循环组织块一次,可以使用多个程序循环组织块,程序循环组织块的优先等级为1,在所有组织块中的优先等级最低,其他任何类型的事件都可以中断循环程序的执行。程序循环组织块,没有启动信息。
程序循环组织块
循环组织块在每个扫描周期会不停地执行,直到另外事件的组织块对他产生中断。处于较高优先级的组织块可以中断处于较低优先级组中组织块的处理过程。相同优先级组的组织块不会对他们自己产生中断。这些中断会按照它们的优先级增加到队列中,然后按照优先级由高到低的顺序来执行。
循环组织块的中断
三、延时中断组织块。延时中断组织块在操作系统经过一段用户定义的延迟时间后启动,在调用启动延时中断指令后开始计时,最多可使用四个延时中断,延时中断组织块,没有启动信息。
延时中断组织块
四、循环中断组织块。循环中断组织块用于在循环程序执行过程中,以周期性的时间间隔独立启动程序,最多可使用四个循环中断。通过利用相位偏移量循环中断组织块可以延期执行。循环中断组织块没有启动信息。
循环中断组织块
五、硬件中断组织块。硬件中断组织块用来响应特定的事件,可以通过高速计数器和输入通道来触发硬件中断,只能将触发事件分配给一个硬件中断组织块儿,一个硬件中断组织块可以分配给多个事件,最多可使用50个硬件中断组织块。硬件中断组织块没有启动信息。
硬件中断组织块
六、诊断错误中断组织块。如果具有诊断功能的模块检测到了错误,那么这个模块会触发一个诊断错误中断。在错误发生和错误解决的两种情况下,操作系统可以调用诊断错误中断组织块,诊断错误中断组织块有启动信息,只能使用一个诊断错误中断组织块OB82。
诊断错误中断组织块
七、时间错误中断组织块。如果发生以下事件,操作系统将调用时间错误中断组织块,例如循环程序超出最大循环时间,被调用的组织块正在执行,中断组织块队列发生溢出,由于中断负荷过大而导致中断丢失等。时间错误中断组织块有启动信息,只能使用一个时间错误中断组织块OB80,不会触发组织块启动的事件以及操作系统相应的响应。
时间错误中断组织块
以上我们对S7-1200 CPU中的组织块进行了简单的介绍,包括程序循环组织块、启动组织块、延时中断组织块、循环中断组织块、硬件中断组织块、时间错误中断组织块、诊断错误中断组织块共七种。后续文章中我们将继续学习西门子S7-1200相关内容,欢迎大家持续关注!