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

FB和FC的差别

FB和FC的差别_第1页
1/7
FB和FC的差别_第2页
2/7
FB和FC的差别_第3页
3/7
关于 S7 的一些杂谈 临时数据区,OB,FB 和 FC 里的临时数据区的功能是一样的,程序每次执行时,临时数据的数据是不确定的,他属于动态数据,是由操作系统从数据栈里分配给 FB 的,程序退出后,要把这些数据内存归还给操作系统。 OB 的临时数据的前 20 个字节是操作系统在调用 OB 是分配给 OB 的特殊区域,相当于 OB 的入口参数,每次系统调用 OB 时就会把相应的数据写在这 20 个字节里,我们的用户程序会根据这 20 个字节的特定数据处理自己要处理的问题,这里我以是 OB40(硬件中断)为例,OB40_MDL_ADDR 是触发中断的模块的逻辑基址,OB40_POINT_ADDR,指出哪个通道已超出哪条限制等,我们就可以根据这些数据编写我们的硬件中断处理程序。 首先,我简单的说说 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...

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

碎片内容

FB和FC的差别

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