順序功能流程圖

順序功能流程圖（）簡稱SFC，是為可程式邏輯控制器（PLC）開發的圖形程式語言，是IEC_61131-3標準定義的五種語言之一。順序功能流程圖是以為基礎，而後者又以Petri网為基礎。

順序功能流程圖可以用來可以分為數個步驟的程式。

順序功能流程圖的主要成分有：
 步驟及其相關的動作。
 轉態及其相關的邏輯條件。
 步驟及轉換之間的連結。

順序功能流程圖中的步驟可以是有效（active）或無效（inactive）。只會執行有效步驟中的動作，步驟可以依以下任一個方式變為有效。
 是程式撰寫者指定的初始步驟師。
 在掃描循環中，此步驟被設定有效，且還沒失效。

若有一個步驟，在它前面的所有步驟都是有效的，而且連接到此步驟的轉態條件成立，此步驟會有效。若進行了一個轉態，所有之前的步驟都會失效，而轉態後的步驟會有效。

和步驟有關的動作可以包括許多種類，最常見的是連續（N）、設定（S）及清除（R）。其中N（連續）會確保只要此動作有效，對應的目標變數會恆為1。SFC的規則提到若有二個步驟對同一個目標變數進行動作N，此變數永遠不會清除為零。動作也可以整合LD（階梯圖）的程式進來。

順序功能流程圖在本質上是平行處理的語言，多個控制流程可以同時有效。

此語言有些非標準的動作，包括「巨集動作」，也就是一個程式單元的動作可以影響另一個程式單元的狀態。最常見的巨集動作是「forcing」，由一個程序運作單元決定另一個程序運作單元的有效步驟。

參考資料

Category:图表
Category:工業計算
Category:IEC 61131
Category:程序设计语言