恭喜,你发布的帖子
发布于 2025-02-19 14:55:03
44楼
你这方法不是好方法,其实为了不要那么多背景数据块,你完全可以使用多重背景数据块,就是FB调用FB然后再在OB里面调用FB这样无论你底层FB调用多少次就只有1个背景数据块,还有就是你如果使用FC代替FB的功能完全是落后手法了,如果你在写程序的时候需要用一个变量保存中间计算值,但是这个数值不需要你特别关心,FB就可以使用静态变量来保存到背景数据块里面,你用FC的话,你就要用外部DB变量来保存,难道你建立UDT变量的时候也要把这个变量建立吗。FB之所以比FC好用就是因为有了背景数据,每次调用数据独立。你写FB的时候就相当于你写了一个类,你调用FB的时候就是实例化了。楼主说你不懂类与对象实例化还是真没说错
FC代替FB是不能的,但是FC+UDT可以在功能上代替FB,以失去封装能力为代价。
这还是因为FB并不支持c++、Java、python之流的方法/成员函数。
当然FB特色的方法/成员函数也不是不可以靠if或switch(标志位在input输入)控制程序段是否执行来实现,以及实现类似构造函数(初始化)的东西。
请填写推广理由:
分享
只看
楼主