如果有多个功能相同的电机需要编程,是使用FC编写还是FB编写呢?两者的本质区别就是调用FB时需要分配实例化DB,除此之外FB的内部还带有Static变量。
1、从编程的角度来说
无论是FC还是FB都可以完成控制任务,但是既然编程软件设计出FC和FB,一定会有不同的应用环境、知识等特征。
2、从高级语言(例如C#)的角度来看
FB可以简单地看作“类”,把FC看作“方法”。“类”中可以包含方法,FB的Static变量可以看作“类”的属性参数。“类”的继承可以看作为FB调用FB(PLC目前没有该功能),“类”的实例化可以看作生成实例数据块,“类”的一个实例可以看作FB的一个实例数据块,而且每一个实例化数据块的名称可以修改(对象名称)。
如果将电机看作一个对象,使用FB编程就比较方便,更有利于后期标准化的建设。FB中调用FC,FC实现的应该是控制对象的一些辅助功能,例如数据的转换、计算等功能;FC调用FB,FC实现的应该是程序的划分、控制对象预处理等非标准化的功能。
什么可以被看作一个对象?对象在哪一个层级(单元、设备、控制)?更详细的内容还需要编程人员对控制设备结合工艺的要求进行拆分,便于后期功能的持续迭代和完善,也有利于程序块的重复使用和大项目的拼装。
3、在西门子S7 PLC中,从程序运行过程的角度看
FB和FC传递参数的方式也不同。
共有访客发表了评论
网友评论