设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子PLC1200中OB、FB、FC、DB概念详解(二) ...
返回列表
发新帖
[西门子]
西门子PLC1200中OB、FB、FC、DB概念详解(二)
[复制链接]
117
|
0
|
2024-4-30 21:50:36
|
显示全部楼层
|
阅读模式
本文对函数FC、函数块FB做对比介绍,FB、FC就相当于子程序,既可以调用其它FB,FC块,也可以被OB,FB,FC块调用。学生在学习中有一个疑问,到底是该用FB还是FC,其实使用原则很简单:如果处理的数据已经在全局数据块中创建好了,那就用FC;如果想程序和数据打包在一起使用,那就用FB。控制对象类功能块建议使用FB,调用的时候可以包含程序和数据,层次感更清晰。例如:伺服FB块、模拟量FB块、扫码枪FB块、空压机FB块等等。
一、FC是不带专用存储区的代码块。编写在FC中的程序,需要在其他代码块调用时才会执行。
■没有背景数据块;
■调用块时将参数传递给 FC;
■如果要永久保存数据,需使用全局数据块或存储器。
二、FB是有专门存储区(背景数据块)的代码块,编写在FB中的程序,需要在其他代码块调用时才会执行。
■FB有背景数据块;
■调用块时将参数传递给 FB;
■更改背景 DB 可实现使用一个通用 FB 控制一组设备的运行。
三、FC、FB块的接口区
Input:输入参数
变量是外部输入的,只能被本程序块读,不能被本程序块写。实参可以为常数。
Output:输出参数
是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写。实参不能为常数。
IN_OUT:输入/输出参数
输入输出变量 本程序块和其他程序都可以读写这个引脚的值。实参不能为常数。
TEMP:临时局部参数
临时变量,顾名思义是暂时存储数据的变量。这些临时的数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。
Static:静态局部参数
在PLC运行期间始终被存储。S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。
Constant:常量
在块中使用且带有声明符号名的常量。
Return:返回值
返回到调用块的值。
四、应用举例
1、无形式参数的FC
作为子程序使用的FC可以不带形式参数,即调用程序与FC之间没有数据交换,只运行FC中的程序。每个作为子程序的FC只能在主程序中被调用一次。
举例:按下启动,电机和散热风扇同时运行,当按下停止,电机立即停止,散热风扇再运行5秒钟后停止。
步骤:
(1)创建FC;
(2)在FC中编写顺序启动程序;
(3)在OB中调用FC。
2、带形式参数的FC
需要多次调用的FC一般制作成带形式参数的FC,以实现结构化编程。
举例:三相异步电动机的星三角降压启动。
步骤一:创建FC,并定义接口变量
步骤二:在FC中创建程序
步骤三:在0B中调用FC,并给接口创建实参。
给定时器创建DB
带形式参数的FC可多次调用,注意需要再创建一个定时器接口的DB块!!!如下图:
3、
第一步:建立FB,在FB接口区定义接口变量
第二步:在FB中创建程序
第三步:调用FB,在调用FB1时,系统会自动分配一个背景数据块DB。
第四步:在OB1中,给a、b、c编写赋值程序。
免责声明:本文中部分文字描述来自网络,如有侵权,请联系作者删除!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
工控老炮儿
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』