PLC编程中OB块、FC块、FB块、DB块的使用原则

PLC/PAC

164人已加入

描述

存储器

西门子新加块中包含组织块(OB)、函数块(FB)、函数(FC)、数据块(DB)

组织块(OB)属于系统级别的调用块

函数块(FB)带有存储数据的功能块

函数(FC)具有一定功能的代码,不带存储数据

数据块(DB)一种由所有代码块访问的全局数据块,一种分配给特定功能块调用的背景数据块

0****1

组织块(OB)

存储器

定义

组织块 (OB) 构成了操作系统和用户程序之间的接口。组织块由操作系统调用,可以控制(例如)下列操作:

✦自动化系统的启动特性

✦循环程序处理

✦中断驱动的程序执行

✦错误处理

可以对组织块进行编程并同时确定 CPU 的特性。根据使用的 CPU ,提供有各种不同的组织块。

组织块的启动信息

启动某些组织块之后,操作系统将提供可以在用户程序中进行评估的信息。例如Rack or station failure使用后,只要出Rack或station出现错误就会调用此块的功能,展示故障信息。

0****2

函数块(FB)

存储器

定义

函数块(FB)是一种代码块,它将输入、输出和输入/输出参数永久地存储在背景数据块中,从而在执行块之后,这些值依然有效。所以函数块也称为“有存储器”的块。

函数块也可以使用临时变量。临时变量并不存储在背景数据块中,而用于一个循环。

应用

函数块包含总是在其它代码块调用该函数块时执行的子例程。可以在程序中的不同位置多次调用同一个函数块。因此,函数块简化了对重复发生的函数的编程。

函数块的实例

函数块的调用称为实例。函数块的每个实例都需要一个背景数据块;其中包含函数块中所声明的形参的实例特定值。

函数块可以将实例特定的数据存储在自己的背景数据块中,也可以存储在调用块的背景数据块中。

0****3

函数(FC)

存储器

定义

函数 (FC) 是不含存储区的代码块。通过函数可在用户程序中传送参数。由于没有可以存储块参数值的数据存储器。因此,调用函数时,必须给所有形参分配实参。

函数可以使用①由所有代码块访问的全局数据块②分配给特定功能块调用的背景数据块,两种形式的存储数据。

应用

函数包含一个程序,在其它代码块调用该函数时将执行此程序。例如,可以将函数用于下列目的:

✦将函数值返回给调用块,例如,数学函数

✦执行工艺功能,例如,通过位逻辑运算进行单个的控制

✦可以在程序中的不同位置多次调用同一个函数。

因此,函数块简化了对重复发生的函数的编程。

0****4

数据块(DB)

存储器

定义

数据块(DB)用于存储程序数据。因此,数据块包含由用户程序使用的变量数据。全局数据块存储所有其它块都可使用的数据。

可以以自己喜欢的方式定义全局数据块的结构;还可以选择使用 PLC 数据类型 (UDT) 作为创建全局数据块的模板。

用户程序中的全局数据块

每个函数块、函数或组织块都可以从全局数据块中读取数据或向其中写入数据。即使在退出数据块后,这些数据仍然会保存在其中。

初学者会经常有一个难题,是该用FB还是FC的“烦心事”,使用原则其实很简单:如果处理的数据已经在全局数据块中创建好了,那就用FC,如果想程序和数据打包在一起使用,那就用FB。

我更倾向于使用FB,调用的时候可以包含程序和数据,层次感更清晰。

所以控制对象类功能块尽量使用FB,例如:伺服FB块,扫码枪FB块,打印机FB块,模拟量FB块,压机FB块,螺丝枪FB块等等

存储器

DB不需要建很多个,集中管理即可

存储器

机器参数(machineData)存放设备系统性的参数

产品参数(Parameter)存放产品配方相关的参数

集成数据(Unit)存放功能块相关变量

报警数据(Alm)存放报警相关变量

缓存数据(Buffer)存放自动过程变量

掉电保持(KeepData)存放自动过程掉电保持变量

集中管理的优势:HMI新建变量快

如果一个PLC对应2个触摸屏HMI的情况,建立20Unit,10Unit全部替代为20Unit即可完成,20MachineData,20Parameter等同理

做拷贝粘贴,全部替换这种事需要提前规划10Unit,电气团队可以集中力量把10Unit完善好,其他队员就可以在此基础上共享10Unit所带来的便捷。

存储器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分