順序功能流程圖順序功能流程圖(英語:Sequential function chart)簡稱SFC,是為可程式邏輯控制器(PLC)開發的圖形程式語言,是IEC_61131-3標準定義的五種語言之一。順序功能流程圖是以GRAFCET為基礎[1],而後者又以Petri网為基礎[2]。 順序功能流程圖可以用來可以分為數個步驟的程式。 順序功能流程圖的主要成分有:
順序功能流程圖中的步驟可以是有效(active)或無效(inactive)。只會執行有效步驟中的動作,步驟可以依以下任一個方式變為有效。
若有一個步驟,在它前面的所有步驟都是有效的,而且連接到此步驟的轉態條件成立,此步驟會有效。若進行了一個轉態,所有之前的步驟都會失效,而轉態後的步驟會有效。 和步驟有關的動作可以包括許多種類,最常見的是連續(N)、設定(S)及清除(R)。其中N(連續)會確保只要此動作有效,對應的目標變數會恆為1。SFC的規則提到若有二個步驟對同一個目標變數進行動作N,此變數永遠不會清除為零。動作也可以整合LD(階梯圖)的程式進來。 順序功能流程圖在本質上是平行處理的語言,多個控制流程可以同時有效。 此語言有些非標準的動作,包括「巨集動作」,也就是一個程式單元的動作可以影響另一個程式單元的狀態。最常見的巨集動作是「forcing」,由一個程序運作單元決定另一個程序運作單元的有效步驟。 參考資料
|