电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

功能块和功能的区别

功能块和功能的区别_第1页
1/14
功能块和功能的区别_第2页
2/14
功能块和功能的区别_第3页
3/14
功能: Fu nction , 简称 FC 功能块: Fu nction Block , 简称 FB FB 和FC 根本的区别是:FB 支持静态变量,而FC 只支持临时变量。 静态变量:是调用 FB 返回时,仍然要为 FB 保留此变量区,因此不会改变这一区域的数据值。临时变量却没有这样的特*。 所以在 FC 中如果在对临时数据变量处写入确定的数据前,就去读时就可能产生不可预见的结果,而对于静态变量却不会,因为它会保留你上次写入的结果。 另外,楼下的某位大侠的回答也很详细,你可以看看—— “ 我简单的说说 FB 和FC 的区别,FB 是具有存储功能的,FC 没有存储功能,这是一般的理解;FB 需要背景数据块,而FC 是没有的;参数的传递方式不同,FB 的输入输出对应着背景数据块地址,而FC 的输入输出是没有实际地址对应的,只有的程序调用时,才会和实际的地址产生对应关系。FB 参数传递的是数据,FC 参数传递的是数据的地址。 FB(功能块)的处理方式是围绕着数据块处理数据,他的入口参数和出口参数都是数据块里的数据,以及STAT 的数据都是数据块里,入口参数和出口参数、STAT 可以认为是静态数据,这些数据不会因为函数消失而逝去,他会一直保存在数据块里。FB 里的变量与他的背景数据块是一一对应的,而他的对应并不是一层不变的。更确切的说,FB里的变量在调用时将根据AR2 的值当作偏移量与背景数据块是一一对应。如果一个 FB 功能块里没有入口参数、出口参数及STAT 数据,他将不需要背景数据块,这时的FB 和没有入口出口参数的FC 就没有什么区别了,就只能使用临时变量和全局变量了。 用很多人认为,FB 的背景数据块必须由 FB 生成、FB 里的第一个变量对应着背景数据块的第一个变量,还有就是由FB 生成的数据块只能作为 FB 的背景数据块使用。其实这些理解是错误的,FB 的背景数据块不一定是通过 FB 生成的,可以像生成共享数据块一样生成 FB 的背景数据块,换句话说,普通的数据块也可以作为 FB 的背景数据块,不过这种做法是有一定前提的,就是这个数据块的字节数必须大于等于 FB 所需的字节数,如果小于 FB 所需的字节数时,FB 访问到超出背景数据块的变量时就会找不到变量的地址,肯定会出错了。FB 里的第一个变量对应可以对应数据块字节数减去 FB 所需背景数据块字节数里的任意位置的变量,我觉得这个比较好理解,在多重背景里不就是这样吗。谈到这里我得说点别的,好像这种情况下,FB 里不可以有...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

功能块和功能的区别

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部