|
邀请回答
马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册 
x
PLC运行逻辑,处理逻辑归根到底属于数据的运算,使用西门子PLC时一般偏向于使用FB,可以多重背景调用,数据方便管理,汇川的H5U系列PLC选择用FC或者FB是否有比较明显的区分,依据呢?
FC:Function(函数),函数运算过程值本扫描周期内有效,下个扫描周期过程值没有了,不暂存过程值
FB:Function Block(功能块),功能块运算过程值会分配专门的数据单元,会被暂存,下个扫描周期可以继续使用
使用的原则与全局变量有很大关系,比如使用到气缸数据,由于创建的时候是16个bit结构体,使用一个D元件把气缸用到的所有的变量全部建好了,其他不再需要变量了,包括HMI都是用的这个D元件,那这里用FC就能满足实际的需要,不管是运算的结果或者运算过程中的逻辑保存,都是使用D元件来传递了,使用FB再分配数据单元,就显得不合时宜了。
比如做提示信息块Prompt.FB,HMI需要提示信息变量Prompt(Int),Error0-Error3(Int),这些变量是必要变量,而在运算中使用到循环,使用到指针,使用到运算结果的暂存,这些变量仅限于功能块内使用,其他地方用不到,这个时候使用FB就比较合适,建有限的变量,中间不需要传递的变量包含在自己的FB内,而这些变量运算过程中是需要逻辑保存的。比如查找提示信息的时候查找到第12个了,下次再查的时候希望从13开始查,不保存这个结果,运算逻辑就出错了。
建变量的标准和原则:HMI一般作为需求方,界面上需要建这个变量,属于必要变量;自动程序中需要,也属于必要变量。
把所有使用到的变量全部建成全局变量,FB就没有存在的价值,FC完全胜任功能需求。
但更多时候,建的变量很多,又很零散,真正用到的仅仅几个,FB更具有优势,打包在自己的块内了,全局可以建很少的变量,尤其是需要多次调用的时候。
经常听到标准化,模块化,对于初学者有时可能云里雾里,不用FB模块化程度不够,这些理论有点形而上了,掌握住了需求,用FC或FB有时界限并不那么明显。
|
上一篇: H5U程序做一个基于自己算法的激活码下一篇: H5U编程方法和网络段的理解
|