S7提供了多达九个的循环中断OB (OB30至OB38),它们以固定的时间间隔来中断用户程序。不同的CPU支持的循环中断的个数有所差异,比如CPU315-2DP仅有一个循环中断组织块——OB35;而S7-400系列CPU几乎支持全部的九个循环中断OB,具体支持与否,可查看硬件手册。
循环中断OB的等距启动时间是由时间间隔和相位偏移量决定的。在“硬件组态”中,可以定义循环中断的优先级、两次中断之间的时间间隔以及相位偏移量(在S7-300系列CPU中,只能定义时间间隔),如下图所示。
定义好上述参数后,系统上电、正常运行后,每隔一定的时间,触发一次循环中断,系统暂时中止执行OB1中的程序,转而执行循环中断OB(如OB35)中的程序。循环中断OB中的代码执行完毕后,系统自动回到OB1的断点处,继续执行OB1的程序。直到下一次循环中断的产生,如此,周而复始。