FB与FC块的区别及其实际的工程运用.doc

FB与FC块的区别及其实际的工程运用.doc

ID:59006515

大小:87.50 KB

页数:7页

时间:2020-09-15

FB与FC块的区别及其实际的工程运用.doc_第1页
FB与FC块的区别及其实际的工程运用.doc_第2页
FB与FC块的区别及其实际的工程运用.doc_第3页
FB与FC块的区别及其实际的工程运用.doc_第4页
FB与FC块的区别及其实际的工程运用.doc_第5页
资源描述:

《FB与FC块的区别及其实际的工程运用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、FB与FC块的区别及其实际的工程运用简单的说FB是具有存储功能的,FC没有存储功能,这是一般的理解:FB需要背景数据块,而FC是没有的;参数的传递方式不同,FB的输入输出对应背景DB地址,而FC的输入输出没有实际地址对应的,只有程序调用时,才会和实际的地址产生关系。FB参数传递的是数据,FC参数传递的是数据的地址。FB功能块的处理方式是围绕着数据块处理数据,它的输入输出参数都是数据块里的数据,以及STAT的数据都是数据块里的,入口参数和出口参数,这些数据不会因为函数消失而消失,它会一直保持在数据块里。FB里的变量与它的背景数据

2、块是一一对应的,而它的对应并不是一层不变的,更确切的说,FB里的变量在调用时将根据AR2的值当作偏移量与背景数据块是一一对应的。如果一个FB功能块没有入口参数、出口参数及STAT数据,它将不需要背景数据块,这时的FB块和没有出、入口参数的FC就没什么区别了,也就只能使用临时变量和全局变量,当然这时的FB块是没有实际作用了。有人会认为,FB的背景数据块必须由FB生成、FB的第一个变量对应背景数据块的第一个变量,还有就是由FB块生成的数据块只能作FB的背景数据块使用。其实这些理解都是错误的,FB的背景数据块不一定是通过FB生成的,

3、可以像生成共享数据块一样生成FB的背景数据块,换句话说,普通的数据块也可以作为FB的背景数据块使用,只是这种做发是有前提的:就是这个数据块的字节数必须大于或等于FB所需的字节数,如果小于FB所需的字节数,FB访问到超出背景数据块的变量时就会找不到变量的地址,当然也就出错了。FC功能块里的参数没有实际的地址,都是使形参数,只有在调用时才会把实际的参数地址传送到FC的参数里。FC是没有存储能力的,这是一班的说法,给定入口参数,执行完了,从出口参数读出数据,FC的功能就消失。如果在FC里使用全局变量,也可以达到FB块一样的效果,但是

4、这样的FC块是没有可移植性的。下面,我将介绍我根据实际工程,编写的FC与FB块 实例1:FC块(这是一个用于西门子PLC向直流装置6RA70写过程数据的FC块) A(         L     #in0      L     #in1      >R         )          JNB   _001      L     #in1      T     #temp0_001:NOP   0A(          L     #in0      L     #in2               )          

5、JNB   _002      L     #in2      T     #temp0_002:NOP   0L     #in0      L     #in1      <=R        =     #temp5L     #in0      L     #in2      >=R        =     #temp5A     #temp5      A     #temp5      JNB   _003      L     #in0      T     #temp0_003:NOP   0L     #i

6、n0      L     0.e+000               =     #out1L     #temp0      ABS        T     #temp1      NOP   0  A(         L     #temp1      L     1.e+004      *R         T     #temp2      AN    OV      SAVE       CLR        A     BR      )          JNB   _004      L     #te

7、mp2      L     #in1      /R         T     #temp3_004:NOP   0  A(         L     #temp3      RND        T     #TEMP4      AN    OV      SAVE       CLR        A     BR      )          JNB   _005      L     #TEMP4      T     #out0_005:NOP   0 在FC块中调用FC CALL  FC    30   

8、    in0:=DB3.DBD2090       in1:=6.e+002       in2:=0.e+000       out0:=PQW590       out1:=M203.3      NOP   0    从这个程序我们可以看出,IN0的地址是DB3.DB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。