课程中心
HOME
课程中心
正文内容
plc编程语言fb S7-1200 PLC FB和FC的建立和使用
发布时间 : 2024-11-25
作者 : 小编
访问数量 : 23
扫码分享至微信

S7-1200 PLC FB和FC的建立和使用

之前我们了解过S7-1200 PLC的程序结构,分为

OB块、FB块、FC块、DB块,OB1 相当于主程序,FB/FC相当于子程序。

在S7-200/200 SMART PLC中,子程序是需要被调用才执行的,在S7-1200 PLC中也是一样的,我们的FB块或FC块需要在OB1中调用后才执行,当然FB中也可以调用FC,或者FC中也可以调用FB,这就是嵌套调用。对于S7-1200 PLC,最多可以支持16层的嵌套调用。

FB或FC在使用时,都可以使用带形式参数与不带形式参数的FB/FC,带参数的FB/FC可以实现重复调用,也很方便进行程序的移植。这篇文章就不再重复基础,我们重点介绍一下带参数的FB和FC如何建立以及如何使用。

1、函数FC的生成和调用

FC是不含存储区的代码块,主要是用于执行特定的运算,或者是使用位逻辑指令执行的独立控制,FC可以在程序的不同位置进行多次调用,对于重复发生的任务或动作中利用FC可以实现简化程序的效果。FC的建立可以建立带形式参数的FC,也可以建立不带形式参数的FC。我们需要知道的是FC是没有相关的背景数据块的,没有可以存储参数值的寄存器,所以我们在调用函数FC时,必须要给所有形参分配实参哦。

添加函数FC的方法如下:

在项目树中找到“PLC_1”文件夹,双击“添加新块”,然后选择FC块,就可以新增一个FC块了,我们可以对这个块进行命名,选择块中程序的设计语言,以及分配这个块的编号,当然这个块编号可以系统自动分配,也可以我们自己手动分配。

我们要建立带形式参数的FC,还需要在添加的FC块接口区中建立相应的变量,这些变量我们就称之为形式参数。

我们在程序接口区定义变量。在FC的接口参数中主要有五种变量,分别是INPUT、OUTPUT、INOUT、TEMP和常量Constant。

如下图,我们建立好变量并编写FC内部的程序,最后在OB1中调用这个数据运算的FC块,我们可以看到在调用时是有分配实参的,是吧?

2、函数块FB的生成和调用

FB块跟FC块相比,不同的地方在于我们在调用函数块FB时是需要为它分配背景DB块的,主要用于存储块的参数。因为FB在调用时会分配对应的DB块,所以对于带形式参数的FB,在调用时可以不对FB上的管脚赋予实参。

添加函数块FB的方法如下:

在项目树中找到“PLC_1”文件夹,双击“添加新块”,然后选择FB块,就可以新增一个FB块了,我们可以对这个块进行命名,选择块中程序的设计语言,以及分配这个块的编号,当然这个块编号可以系统自动分配,也可以我们自己手动分配。

我们要建立带形式参数的FB块,同样的需要建立相应的变量,在FB的接口参数中主要有六种变量,分别是INPUT、OUTPUT、INOUT、TEMP、Constant和Static变量,我们可以看到这相对比于FC块多增了一个静态变量Static。

对于静态变量可以用于存储前一个扫描周期的运算结果,如果前一扫描周期的运算结果,在下次运算还需要使用时,就可以把这个变量建立为静态变量Static。

下图是我们创建接口区的变量,然后编写FB内部的程序,然后在OB1中进行调用,调用时使用单个实例DB的情况。

以上就是FB和FC的建立和使用的方法,你掌握了吗?这也是我们编程中会应用的比较多的功能,希望大家还是可以掌握一下哦!

下一篇文章我们讲解一个实际的例子——电机启动和调速的控制,会利用FB和FC的编写方法分别给大家详细讲解,欢迎大家继续关注哦~

(技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)

三菱PLC系列FB块的用法介绍

什么是三菱PLC的FB块呢?

熟悉西门子PLC的都知道,在西门子PLC中有FB,其实三菱的也与西门子的类似,就是主程序中调用的程序。

一、如何建立FB块以及在主程序中如何调用

点击确定后就建立了一个叫motor的FB块。

从上图可以看到程序本体和局部标签都是红的,是因为我们没有写程序和建局部标签。

首先建立局部标签,双击局部标签,就出现如下图所示的界面。

在类中点击下拉菜单:

VAR:内部临时变量

VAR_CONSTANT:内部静态变量,

VAR_INPUT:输入接口变量

VAR_OUTPUT:输出接口变量

VAR_IN_OUT:输入输出接口变量

看到这是不是与西门子的是一样的。

举例来说明下:

控制电机启停:

首先定义一个局部标签,如下图所示

编写FB程序:

如何在主程序中调用呢?

上例中首先在FB中对局部标签进行定义,其实ST语言对于做逻辑不是最直观的,还是用于计算,比如我们可以算一个三角形面积,

三角形面积S=三角形边长A*三角形边长B/2,

同样首先定义局部标签:

编写FB程序:

在主程序调用FB:

仿真:

相关问答

S7PLC中FB什么意思?

西门子FB和FC区别?

plc中使用fb与fc的区别?

信捷plcfb怎么调用?

西门子300plc怎样在ob中调用fb?

西门子PLC编程中FB和FC的区别?

plc中FB快的STAT变量如何使用?它跟TEMP和IN,OUT变量有什么联系?

西门子plc编程在什么情况下用OB、FB、FC、SFB、SFC块?

三菱PLC的FB的变量?

西门子fb284功能介绍?

 科尔多巴  韩国演艺圈悲惨事件 torrent 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部