快好知 kuaihz

实例详解FC与FB的编程及调用

在STEP7的编程中,经常会用到FC功能和FB功能块来简化程序编制,减少程序空间占用。本文通过现场实例详细介绍了FC功能和FB功能块的应用

1.FC和FB的主要区别

FC和FB的主要区别是FB有背景块,能够保存上一次执行的数据,调用一次就需要建立一个DB块。FC没有背景块,多次调用可以共用一个DB块

FC 功能是没有存储能力的,给定入口的参数,执行完毕后,从输出参数读出结果。FC功能也就完成了。就像计算机高级编程语言中的子函数。当然,FC可以访问全局的存储变量,M区,数据块等等。但是影响程序的可移植性。FC的参数是没有实际的地址的,只是在调用FC的时候,对应到一个实际的地址来读取参数。而FB的参数都是有实际对应的地址的,也就是对应的背景数据块的地址。FB参数传递的是数据。FB可以生成静态变量,下次调用FB的时候,这些静态变量可以被保留。而FC的变量只在调用期内有效。FB与FC的区别在于入口参数,出口参数和使用静态变量。如果一个FB对入口参数,出口参数和使用静态变量都不需要,那么与使用没有入口参数和出口参数的FC基本一样了。FB可以和多个背景数据块配合使用,被用来控制多个对象。例如控制多个电机或者泵的运行。多个电机之间参数互不干扰。如果使用FC达成同样功能,就需要不断地修改共享数据块,以避免对象的数据丢失。FC没有一个永久的数据块来存储数据,只是在被调用的时候,被分配一个临时的数据区。 

2.FC功能编程及调用实例:

2.1在STEP7中完成硬件组态以后,开始编制PLC程序,插入一个功能FC,如图所示。将FC设置成为一个模拟量数值超限报警程序,模拟量信号比较后输出报警值。

2.2在FC中创建接口,IN 变量是外部输入的,只能被本程序块读,不能被本程序块写,输入参数只能在功能功能块中使用,以将数据传送到调用块进行处理。OUT 是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写,通过它将结果传送到调用块IN_OUT 输入输出变量 本程序块和其他程序都可以读写这个引脚的值,输入/输出参数在功能功能块中使用,以将数据传递到调用块中,在调用块中处理数据,然后再将从调用块中发送的结果存储在相同的变量中。

TEMP 临时变量是一种在块执行时,用来暂时存储数据的变量,这些数据存储在CPU工作存储区的局部数据堆栈(L堆栈)中。临时变量可以在组织快OB、功能FC和功能块FB中使用,当块执行时它们被用来临时存储数据,一旦块执行介绍,堆栈重新分配,临时变量中的数据将丢失。临时数据是块的逻辑块,并且在处理块时将其存储在本地的数据堆栈(L堆栈)。关闭块并完成处理后,临时数据就变得不再可访问。

2.3编制FC功能程序,实现模拟量数值对比输出报警信号

在其他功能中多次调用此功能程序,简化程序的编制,此程序的含义为IN_WORD_1与IN_WORD_2之间的差值大于8,延时3S中进行报警输出。

3.FB功能块编程与调用实例:

3.1创建一个FB功能块,数据接口定义与FC功能类似。

3.2编制一个速度调节功能块程序,如图所示

3.3创建DB32数据块,作为FB的背景数据块,在功能程序中调用FB功能块,数据块选择必须为FB的背景数据块,如图所示,这样就完成了FB的调用:

作者简介:井运 资深电气工程师,设备管理高级工程师,从事电气行业十余载,在国内某大型上市企业担任技术主管,对高低压电气,自控仪表等都有深入的研究,熟悉多品牌PLC编程与画面组态的制作与应用。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:调用  调用词条  详解  详解词条  实例  实例词条  编程  编程词条  
综合

 数据诊断电梯“安全之殇”

物业工程肩负着维持项目各类设施设备的正常运作,保障全体业主的正常生活,令物业保值升值,是项目的心脏部门。拓端数据(tecdat)研究人员根据全国电梯故障上报汇总...(展开)

综合

 玩转Mongo计算

MongoDB属于 NoSql 中的基于分布式文件存储的文档型数据库,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json...(展开)