用户程序(OB)
程序块
用户程序中还包含不同的程序块:
1.组织块(OB)
2.函数(FC)
3.函数块(FB)
4.背景数据块
5.全局数据块
编程语言
S7-1200支持的编程语言为:LAD/FBD,SCL
程序结构

嵌套调用
嵌套块调用以实现更加模块化的结构

从程序循环OB或启动OB开始嵌套深度16
从任意中断事件OB开始嵌套深度6
组织块的基本功能
组织块的基本功能是调用用户程序,同时还执行以下操作:
1.自动化循环系统的启动
2.循环程序处理
3.中断响应的程序执行
4.错误处理、
组织块类型与优先级
CPU按照OB块的优先级对其进行处理


程序循环组织块
操作系统周期循环调用程序循环OB
支持多个组织块,按编号顺序执行

时间中断组织块
可以组态为在某个指定的日期或时间发生一次

可以通过指令对时间中断进行操作

延时中断组织块
经过一段时间延时后,才执行相应的OB中的程序
延时时间1~60000Ms

需要通过指令对延时中断进行操作


启动延时时下降沿开始生效的
取消延时中断只要前面EN管脚给了常1导通了它就会取消

循环中断组织块
按照设定的时间间隔循环执行
优先级与相移,相移时间小于循环时间

可以通过指令对循环中断进行操作

硬件中断组织块
CPU立即响应硬件中断事件,中断等待时间约为175μs
数字量输入的上升沿(最多16个)/下降沿(最多16个)
CPU本体DI点(最多12个)和信号板DI点(最多4个)
HSC计数值=参考值(最多6次)/计数方向变化(最多6次)/外部复位(最多6次)
可以通过指令对硬件中断进行操作

通过硬件中断OB的启动信息可以判断硬件中断事件信息
硬件中断事件在处理过程中,同一模块上发生了触发硬件中断的另一事件,必须遵守以下规则;
如果该通道再次发生相同的中断事件,操作系统不予响应硬件中断将丢失;
如果发生不同的中断事件,则在当前正在进行的中断确认后响应着新的中断事件。
组织块过载
循环中断和时间中断可以设置OB过载的特性;

当未决启动事件的数目达到预设值时,将丢弃下一事件,范围1~4;
选中该项时,当发生丢失了该OB的启动事件时,CPU将把此次过载情况写入诊断缓存区;
选中该项时,当达到类似事件的指定过载级别时,调用时间错误OB80;
指定调用OB80时队列类似事件的数量,需满足1=‘时间错误的时间阈值’=待排队的事件。如设置为1,则排队队列数目为1时,就会调用
例子

循环中断的丢失次数在Event-count中查看


不激活OB事件

组织块的临时存储区
CPU为组织块提供了临时存储区
程序块中使用的临时变量占用调用它的组织块的L存储区

例子

组织块的接口区
在组织块的接口区中,除了自动生成的变量之外,用户可以自定义临时变量及本地常量。
