如果有多個功能相同的電機需要編程,是使用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傳遞參數的方式也不同。
共有訪客發表了評論
網友評論