什么是PLC的FB,FC,DB,OB,这些块是什么意思?怎么用?

朋友们好,我是电子及工控技术,我来回答这个问题。很多不管是学习西门子PLC的还是学习施耐德或者是三菱的PLC,在PLC的编程软件中我们会常常遇见到“FB”、“FC”、“DB”、“OB”这样的程序块,以至于使初学PLC编程的朋友常常对此很容易产生混淆,甚至用错。今天利用闲暇时间给朋友们梳理一下这些程序块到底是是代表什么意思,我们又该如何去用它们。学过PLC的朋友都知道,在对软件编写程序的时候我们常常用三种编程方法,一种是结构化编程,另一种是线性化编写程序,还有一种是模块化的程序编写。特别是在模块化编程和结构化编程中就会常常用到上述用户块的功能。首先我们先解答一下什么是“块”。

“块”的诞生和功能

1、“块”的功能

在PLC程序中有两种程序,一种是厂家在生产PLC时把它固化在PLC内部CPU中的系统程序,还有一种就是我们需要自己编写且能够随意“擦写”和下载的用户程序。我们在编写PLC程序时,为了使我们的程序条理清晰和便于管理维护和阅读,软件制作者给我们规制制作了不同功能的块,我们在编写程序时就把不同功能的程序写在不同的程序块中,当PLC运行时,它的CPU就会按照程序需要运行的条件去命令相应的“块”来完成特定的控制任务,这就是块的功能。

“FC”函数的意义及使用

在PLC编程软件中的'FC'是指函数的意思,它是用户自己编写的程序块。在函数(FC)中是没有数据存储器的,它是可以通过调用使用,在调用时要给它的形式参数送一个具体的数值才可以用。另外在这个“FC”函数里面是有局部变量表和块参数的,比如这些变量可以是有输入、输出和输入/输出和临时变量等。它有点类似一个子程序,可以在主程序中调用。

举个PLC启停控制的简单例子,我们可以在主函数中建立一个子函数“FC”命名为“启停控制FC1”,建立好函数后给启动按钮与停止按钮以及输出继电器关联一个具体的实际参数就可以了。比如I0.0和I0.1是启动和停止,Q0.0是输出控制电机,我们把这种函数的调用叫绝对调用,很显然这种方式是不够灵活的。

“FB”函数块的意义和作用

这个“FB”函数块是我们自己编写程序时自己可以创建的,我们创建的这个函数块FB具有他的参数是可以分配的特点,具有相应的存储空间。比如刚才讲的我们在主程序创建了“FC”函数,由于采用了绝对调用显得不够灵活,如果我们用“FB”函数块来操作就显得很“柔性化”了。我们先在项目中建立一个函数块,在输入参数中建立两个变量分别命名“启动变量”和“停止变量”,再在输出参数中建立一个变量,命名为“电机变量”。然后再通过主程序调用后,启动和停止按钮就不仅限于I0.0和I0.1了,我们可以任意地相关联就可以了,所以通过“FB”函数块的使用使程序更加灵活,增加了程序的“柔性化”。

“DB”数据块的意义和作用

“DB”是数据块,它的作用是储存我们所编写程序时所用的数据的,以及所我们所设置的中间变量也都有它存储。我们把这种数据块“DB”分成全局数据块、数据背景数据块和数据类型数据块三种。全局数据块是存储程序数据的,它可以存储我们前面所设置的变量,比如前面说的“启动变量”和“停止变量”等。

“OB”组织块的意义和作用

“OB”组织块是PLC的软件操作系统与我们所编写程序的接口,在PLC启动后,PLC里面的CPU就会循环执行OB组织块,在“OB”组织块中我们可以调用“FC”函数和“FB”函数块。“OB”具有多个种类,比如有主程序快“OB1”、中断程序块“OB10”等,这样以来组织块“OB”是具有优先级的。这就像单片机中的优先级相类似。比如中断程序块“OB10”可以打断“OB1”的执行。

欢迎朋友们参与讨论,敬请关注电子及工控技术,感谢点赞。

(0)

相关推荐

  • 西门子PLC编程中FB与FC的区别

    FB是功能块,带有背景数据块  FC是功能,或者说函数.FB,FC块都是子程序,它们都可以调用其它FB,FC块,也可以被OB,FB,FC块调用. FB使用背景数据块作为存储区,FC没有独立的存储区,可 ...

  • 西门子PLC S7

    大家好我是狂暴的点,今天我来分享一下TIA portal 博途编程软件中常用函数块和数据块的单间介绍. TIA 博途(TIA Portal)是西门子新推出的,面向工业自动化领域的新一代工程软件平台,主 ...

  • S7-1200 OB 组织块的使用

    一.OB 组织块 ● 什么是组织块? 组织块是操作系统和用户程序之间的接口.OB 用于执行具体的程序: 1.在 CPU 启动时: 2.在一个循环或延时时间到达时: 3.当发生硬件中断时: 4.当发生故 ...

  • 西门子OB组织块介绍

    OB组织块 ● 什么是组织块? 组织块是操作系统和用户程序之间的接口.OB 用于执行具体的程序: 在 CPU 启动时 循环程序处理 在循环或延时时间到达时 当发生外部条件触发时 当发生故障.错误时 O ...

  • PLC初学者不知道什么是FC、FB、OB、DB块,一定要明白

    最近经常有初学西门子PLC编程的朋友,对于FC.FB.OB.DB块特别迷茫,一开始的时候可能很多人都会遇到类似的问题 一. 组织块,组织块是操作系统和用户程序之间的接口.OB 用于执行具体的程序,我们 ...

  • 西门子 PLC FC和FB用法讲解

    本是专门为1200 PLC讲解开辟的专题,想来应该适合所有TIA PORAL支持的PLC,所以把1200从标题中去掉. 很多新手都会问,FC和FB到底什么区别呢?该怎么使用呢?其实很简单啦,仔细阅读下 ...

  • 将改变的DB/FB下载到PLC实现不重新初始化功能

    对于S7-1200 V4 及以上和S7-1500CPU, 可以在运行模式下修改功能块和数据块的接口 S7-1200 /S7-1500系列的 CPU 模块与 S7-300/400 系列的 CPU 模块相 ...

  • S7-1200 OB、FC、FB程序块的密码保护

    S7-1200 OB、FC、FB程序块的密码保护

  • MCGS如何与S7-1200 PLC DB块通信

    说到PLC和触摸屏通信,大部分关联PLC地址任然是M区.V区.Q区.T区等,那么和S7-1200 PLC通信就涉及到DB数据块关联和控制问题,那么问题来了,究竟DB块该如何关联并使用呢?下面跟着我带大 ...

  • 55三菱FX3U PLC编程之FB块基础入门简介

    55三菱FX3U PLC编程之FB块基础入门简介