西门子S7-1200/1500系列PLC允许创建一种更清晰的程序架构,总的来看,它也是采用程序循环组织块+中断组织块的方式。与之前只有一个OB1不同,新架构允许创建多个程序循环组织块,新的程序循环组织块的编号大于等于123即可。
举个例子,假设某项目有3个不同的任务,我们可以在项目树中新建三个组:Task1、Task2和Task3,在每个任务组中都添加一个程序循环组织块,如下图添加了名称为Main_Task1(OB123)、Main_Task2(OB1000)和Main_Task3(OB1100)三个程序循环组织块:
每个任务所需要的函数、函数块和数据块可以添加到该组中,并被该组的程序循环组织块调用即可,如下图所示:
你可能会有一个问题:这种有多个程序循环组织块的程序是怎样执行的呢?
答案是操作系统会按照程序循环组织块的编号依次调用它们。比如上述例程中有4个程序循环组织块:OB1、OB123、OB1000和OB1100,操作系统会先调用OB1、调用OB123、OB1000,*后调用OB1100。这样,所有的程序循环组织块都会被调用,其内部调用的用户程序就得以执行。