朋友你好,我是一名电子与工业控制技术专业的学生。这个问题我来回答。很多正在学习西门子PLC、施耐德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”组织块的意义和作用是PLC的软件操作系统和我们编写的程序之间的接口。PLC启动后,PLC中的CPU会循环执行OB组织块,其中我们可以调用“FC”功能和“FB”功能块。“OB”有很多种,比如主程序快“OB1”和中断程序块“OB10”,所以组织块“OB”有优先权。这类似于单片机中的优先级。例如,中断块“OB10”可以中断“OB1”的执行。
欢迎各位朋友参与讨论,请关注电子与工业控制技术,谢谢夸奖。