功能區塊圖
功能區塊圖
功能區塊圖(Function Block Diagram,簡稱FBD)是可用於可編程邏輯控制器設計的圖形語言,可以用函數的輸入及輸出來描述函數。函數是由許多基本模組集合而成,在圖上會以一區塊表示,各函數的輸入及輸出是由區塊之間的連接線來連接。可以用類似繪製電路圖的方式來進行設計。
FBD功能模塊圖
功能塊有面向對象的含義,像電子電路的集成晶元一樣,封裝數據與邏輯,用戶不考慮其內部具體流程,只用考慮介面和利用。採用FBD的編程類似於現代面向對象編程的結構化特點,符合代碼反覆使用的要求,可以廣泛的使用在以PLC為基礎的各種控制系統之中。由於FBD語言是一種受限制的圖形化面向機器語言表示形式,這就表示一些IL編程語言可以由FBD來表示,FBD與電器工程中的電路圖表示很相似,比如CMP==I表示兩個整數的比較,&表示兩個布爾變數的與操作,>=I表示兩個布爾變數的或操作,=符號則代表對一個變數的賦值。
區塊的輸入和輸出利用連接線來連接,一條連接線可以連接圖中的二個邏輯接點:
• 輸入變數及區塊的輸入。
• 區塊的輸出及輸入變數。
• 一區塊的輸出及另一區塊的輸入。
連接線是有方向性的,會將資料由左側的邏輯接點連到右側的邏輯接點,兩者需要有相同的資料型態。
一連接線可以有多個右方邏輯接點,可以用來將資訊廣播給多個邏輯接點,所有的邏輯接點需要有相同的資料型態。
功能區塊圖是針對邏輯或控制模態定義的語言,是控制系統相關的的IEC 61131-3標準中支援的幾種語言之一,可以應用在可編程邏輯控制器(PLC)或分散式控制系統(DCM)中。IEC 61131-3中還支援像指令表(IL)、階梯圖(LD)、結構化文字(ST)、順序功能流程圖(SFC)等語言。
功能圖塊編程語言使用方便,它以功能塊為邏輯單元,對於表示大型控制系統邏輯清晰明了,FBD是採用圖形的方法來表達系統中的功能,邏輯清晰,對於初次進行PLC系統軟體設計的設計人員來說很好掌握,初次之外現實之中有很多的系統擁有大量的信號,保證其龐大的控制實現,FBD使用的簡單塊策略表達其關係清楚簡單,能夠減少系統的設計時間。
另外FBD語言採用塊的模式來實現其控制的特點,直觀而且邏輯清晰。被普遍的應用在電氣控制的閉環系統中,這些系統通常擁有很多的控制信號,線交叉和道口用以保證操作安全。很多的PLC聯鎖系統都用FBD語言來編程,並且FBD可以十分簡單的表示複雜聯鎖系統的內部邏輯變數操作,減少PLC程序設計複雜度。
FBD語言作為PLC系統中心處理器的編程化編程語言,由於PLC是由外部輸入輸出,處理部分和時間部分構成,所以形式化建模的首先應該是提煉FBD各條指令的語法和語義,逐一的進行建模。在對FBD建模完成之後,還要完成對PLC的其他部分,協調模塊,循環控制模塊和外部環境模塊建模,形式化建模的框架如圖所示。
在對控制程序模塊我們選擇的是FBD,對FBD語言的形式化建模,我們遵循下面的步驟:
FBD作為一種受限制的圖形化語言,為了能夠保持從FBD到時間自動機語法和語義的不變性,我們需要將FBD語言用一種中間形式的表達方式來表示。
由於FBD塊與塊之間的連接是通過邏輯變數來實現的,為了防止狀態數目過多導致空間爆炸,我們要通過部分指令的整合和忽略來縮減其中的狀態數量。
在完成對PLC控制器部分FBD語言的建模實現之後,還應當對PLC系統的協調模塊,外部物理設備和循環控制模塊的建模。