西门子博图组织块OB
新建一个项目在,选择一款西门子PLC,打开程序块(关于新建项目的详细方法可参阅“01西门子新建项目设定”文档),选择添加新块,如下图所示:
下面针对组织块进行详细解读:
双击打开添加新块,打开添加新块对话框,如下图所示:在2位置选择“组织块”,3位置显示系统自带的各种组织块列表,在4位置可选择当前所选组织块的编程语言,5位置选择自动编号,下方针对目前组织块的功能做了简单说明。
P一、rogram cycle“程序循环OB”
“程序循环”OB 为主程序块且会循环执行。用户可在其中设置控制应用的指令,也可以调用其它用户块。
要启动程序执行,项目中至少要有一个程序循环 OB。操作系统每个周期调用该程序循环 OB 一次,从而启动用户程序的执行。可以使用多个 OB(OB 编号大于等于 123)。使用多个程序循环 OB 时,将按照 OB 编号依次调用。首先调用 OB 编号低的程序循环 OB。添加一个Program cycle OB自动编号为OB123如下图所示:
程序循环 OB 的优先等级为 1。这对应于所有 OB 的低优先级。任何其它事件类别的事件都可以中断循环程序。
对循环程序执行进行编程
可通过在循环 OB 以及所调用的块中编写用户程序对循环程序执行进行编程。
一旦成功执行启动程序后,就会开始次循环程序执行。每次循环程序执行结束后,循环重新开始。
循环程序执行的顺序
一个程序执行周期包括以下步骤:
1、操作系统启动大循环时间。
2、操作系统将输出过程映像中的值写到输出模块。
3、操作系统读取输入模块的输入状态,并更新输入过程映像。
4、操作系统处理用户程序并执行程序中包含的运算。
5、在循环结束时,操作系统执行所有未决的任务,例如加载和删除块,或调用其它循环 OB。
6、后,CPU 返回到循环起点,并重新启动扫描循环监视时间。
过程映像的基本原理
功能
用户程序对输入 (I) 和输出 (O) 操作数区域寻址时,不会查询或更改数字量信号模块端的信号状态。而是访问 CPU 系统存储器中的存储区。该存储区称为过程映像。
过程映像的优点
与直接访问输入和输出模块相比,访问过程映像的主要优点在于在一个程序周期期间,CPU 具有一致性的过程信号映像。如果程序执行期间输入模块端的信号状态发生变化,过程映像中的信号状态仍保持不变,直到下一个周期再次更新过程映像。在用户程序中周期性地扫描输入信号的过程,确保了总有一致的输入信息。简单总结就是如果直接访问输入和输出模块,系统将无法判定执行程序。
访问过程映像还比直接访问信号模块更节省时间,因为过程映像位于 CPU 的内部存储器中。
中断选项
循环程序执行可被以下事件中断:
·中断
·以下情况触发的 STOP 命令
编程设备的运行
“STP”指令
·电源故障
·发生设备故障或程序出错
启动信息
·无
·优化启动信息:
s 二、startup“启动OB”
“启动“OB 将在 PLC 的工作模式从 STOP 切换为 RUN 时执行一次。完成后,将开始执行主“程序循环“OB。
可以确定 CPU 启动特性的边界条件,例如,“RUN”对应的初始值。为此,请编写启动程序。启动程序包括一个或多个启动 OB(OB 编号为 100 或大于等于 123)。可以将启动的一些必要条件编写在此OB内,只有这些条件都满足才可以切换至循环OB,加强程序运行的安全些等。
启动程序在从“STOP”模式切换到“RUN”模式期间执行一次。输入过程映像中的当前值对于启动程序不可用,也不能设置这些值。
启动 OB 执行完毕后,将读入输入过程映像并启动循环程序。
启动例程的执行没有时间限制。 因此,未激活扫描循环监视时间。不能使用时间驱动或中断驱动的组织块。