用于循环程序处理的组织块(OB1)是“普通”块。可编程控制器上程序执行的类型。操作系统循环调用OB1以开始循环执行用户程序。循环程序执行的顺序下表显示了循环程序处理的各个阶段:1.操作系统启动循环监视时间2. CPU将值从输出过程映像表写入输出模板3. CPU读取输入模板的输入状态并刷新输入过程映像表4。CPU处理用户程序并执行程序中包含的指令5。循环结束时,操作系统将执行所有待处理的任务,例如下载并删除块,接收和发送全局数据6.最后,CPU返回循环的开始并重新启动循环监视时间。 OB1_EV_CLASSBYTE事件级别和标识符:B#16#11:OB1激活OB1_SCAN_1BYTEB#16#01:完成热重启,B#16#04:完成冷重启,B#16#03:完成主循环B#16#02:完成热重启B#16#02:完成热重启OB1_PRIORITY BYTE优先级1 OB1_OB_NUMBRBYTE OB号(01)OB1_PREV_CYCLEINT自上次启动以来最后一次扫描的运行时间(ms)OB1_MIN_CYCLEINT最小周期(ms)之后OB1_MAX_CYCLEINT最大值自上次启动以来的周期(毫秒)OB1_DATE_TIMEDATE_AND_TIME调用OB时的DATE_AND_TIME过程映像。编程循环程序处理。您可以使用STEP7在OB1中编写用户程序,然后在OB1中调用它。在块中编写程序以编写循环程序处理程序。一旦启动程序被正确执行,循环程序处理将立即开始。中断循环程序的处理可被以下事件中断:•中断•STOP命令(模式选择开关,编程器上的菜单选项,SFC46STP,SFB20STOP)•电源故障•故障或编程错误扫描周期时间扫描周期时间处于运行状态。系统运行循环程序并中断循环的所有程序部分(例如,执行其他组织块)和系统操作(例如,刷新过程映像)所需的时间。这个时间可以被监视。每个周期的周期扫描时间(TC)不同。下图显示了现有CPU和新CPU之间不同的扫描周期时间(TC1≠TC2):周期监视时间使用STEP7,可以修改默认的最大周期监视时间。如果这段时间溢出,则CPU将切换到STOP模式或调用OB80。在OB80中,您可以指定CPU如何响应该故障。最小循环时间使用STEP7,可以为S7-400CPU和CPU318设置最小循环时间。此功能在以下情况下很有用:•当OB1(主程序扫描)执行程序的开始时间间隔必须相同时,或者•如果循环时间太短,则不需要刷新过程映像表。太频繁了。下图显示了在现有CPU和新CPU中程序处理期间循环监视时间的功能。刷新过程映像在CPU的循环程序处理期间,过程映像区域将自动刷新。如果要执行以下操作,也不能刷新过程映像:•直接访问I / O或•使用系统功能SFC26UPDAT_PI和SFC27UPDAT_PO在程序中不同点刷新一个或多个过程映像的输入或输出部分。通讯负载您可以使用CPU参数“来自通讯的ScanCycleLoadfromCommunication(扫描通讯周期负载)”来设置通讯参数。因为一般的通信过程会增加扫描周期时间,所以要控制给定帧内的通信过程的持续时间。例如,通信过程包括以MPI模式或使用编程设备加载的通信功能块将数据传输到其他CPU。此参数很少影响编程器测试功能。当然,您可以大大增加扫描时间。在处理模式下,您可以限制测试功能的时间(仅适用于S7-300)。参数的工作原理CPU操作系统可以连续提供用户为组态的通信配置的总CPU处理能力的百分比(时间片技术)。但是,如果不需要处理通信,则可以将其用于其他处理。无需其他异步事件即可设置扫描周期时间。 OB1扫描周期时间可以根据以下公式乘以一个因子来扩展: