Copyright: ISaGRAF V3.4


 流程圖語言

流程圖 (Flow Chart，FC) 是一種圖形式語言，用來敘述順序式的操作。流程圖由動作 (Action) 及測試 (Test) 所組成，動作及測試之間以有方向性的連結線表示資料流。多連結可用來表示發散及收斂。動作及測試也可以以ST、LD或IL語言來描述，除了SFC的任何語言所撰寫的函數及功能方塊可以被動作及測試所呼叫，流程圖程式也可以呼叫另一個流程圖程式，這個被呼叫的FC程式稱為呼叫程式的副程式。

FC元件

FC複合結構

FC動態行為

FC檢查


FC元件

以下是流程圖語言的圖形元件：

FC圖形的開始

FC圖形的結束

FC流程連結

FC動作

FC條件

FC副程式

FC I/O特定動作

FC連結器

FC註解


FC圖形的開始

"開始" (begin) 符號必須出現於流程圖程式的最前面，它必須是唯一的，且不能被刪除，表示流程圖程式動作時的初始狀態。下面是 "開始" 符號的表示法：

"開始" 符號必須連結 (底端) 到其他圖形物件，假如開始符號未連結到其他物件，則這個流程圖程式將是無效的。


FC圖形的結束

"結束" (end) 符號必須出現於流程圖程式的結束處，它必須是唯一的且不能被刪除。可能沒有任何連結線連到此 "結束" 符號 (迴圈流程)，但是依然必須將 "結束" 符號放置於流程圖最底端。它表示圖形的最終狀態。下面是 "結束" 符號的表示法：

"結束" 符號一般來講會有一個連結線 (於頂端)，連到其他圖形元件，但是也可以沒有連結線 (迴圈流程)，不過依然可以出現於圖形底端。


FC流程連結

流程連結以線來表示，代表圖形兩點之間的流向。連結終點以箭頭表示。以下是流程連結的圖形。

兩個連結不能從同一個連結點開始。


FC動作

動作 (action) 符號表示所執行的動作，上面會標上編號及名稱作為識別。下面是 "動作" 符號的圖示：

同一個流程圖中的不同物件不可以具有相同的名稱或邏輯號碼。動作的設計語言可以是ST、LD或IL。動作總是與連結線連結，一個連結至它，一個從它開始連結至其他物件。


FC條件

條件 (condition) 表示布林測試 (test)，上面會標上編號及名稱作為識別。根據所依附的ST、LD或IL表示式的結果，連結流向可以指向 "是" 或 "否" 兩個路徑。下面是條件符號可能的畫法：

同一個流程圖中的不同物件不可以具有相同的名稱或邏輯號碼。測試的程式可以為：

-	ST的表示式。

-	單一的LD導軌，但是沒有符號連至唯一的線圈上。

-	IL的指令。IL的暫存器 (或現在的結果) 可用來當作條件判斷。

當以ST文字來設計時，表示式最後可以加上分號，也可以不加。當以LD來設計時，唯一的線圈表示條件值。若條件等於：

-	0或FALSE將會走否的路徑

-	1或TRUE將會走是的路徑

測試總是連結到連結線的尾端，且必須定義兩個連結的走向。


FC副程式

系統可以以FC程式的垂直架構來表示，這些FC程式以樹狀結構方式組成，每一個FC程式可以呼叫其他的FC程式。被呼叫的FC程式稱為呼叫程式的子程式，而呼叫的FC程式稱為父程式。FC程式使用 "父 - 子" 的關係連結成結構樹：

流程圖中的副程式符號表示呼叫流程圖副程式的關係。呼叫的FC程式會產生中斷，直到副程式執行完成之後才會再繼續執行。FC副程式以號碼及名稱作為識別 (函數及功能方塊亦同)。下面是 "副程式呼叫" 符號的圖示：

相同圖形中的不同物件不可以具有相同的邏輯號碼。FC樹狀結構隱含基本的規則，如下：

-	沒有父程式的FC程式稱為FC主程式。

-	當應用程式開始時，FC主程式會自動由系統呼叫起來執行。

-	父程式可以擁有兩個以上的子程式。

-	子程式不能擁有兩個以上的父程式。

-	子程式僅能由它的父程式所呼叫。

-	程式不能呼叫它的子程式的子程式

於父程式圖形中，相同的副程式可以出現多次。FC副程式呼叫表示副程式流程完整的執行。子流程執行時將會中斷父流程的執行。


FC I/O特定動作

I/O特定動作 (specific action) 符號表示指定的動作。如其他的動作一樣，I/O特定動作以編號及名稱作為識別。I/O特定動作與標準動作的意義一樣，只是I/O特定動作的目的是使流程圖形更具有可讀性，且用於圖形的非可攜性部分。I/O特定動作是選擇性的元件。下面是 "I/O特定動作" 符號的圖例：

I/O特定方塊的行為與標準動作一樣，也就是具有相同的特性，都可使用ST、LD或IL來設計程式，以及有相同的連線規則。


FC連結器

連結器用於表示圖形中兩點的連結關係，而不需直接繪出它們之間的連結線。連結器以圓圈表示，且連結到圖形的來源處。連結器必須加上目標點做為識別 (一般為目標符號名稱，此名稱必須根據資料流的方向，放置於適當的位置)。下面為連結器的標準畫法：

連結器總是以已定義的流程圖符號為目標，這個目標符號以它的邏輯號碼為識別。


FC註解

註解方塊包含一些與圖形語意無關的文字，它能被插入於流程圖視窗的任何空白處，且作為這個程式的文件。下面是 "註解" 符號的圖例：


FC複合結構

這個章節顯示定義於FC程式中的複合結構，這些結構為基本物件連結的組合。


FC動態行為

FC圖形的執行規則如下：

-	開始符號花費一個目標硬體週期

-	結束符號花費一個目標硬體週期，且結束流程圖的執行。這個符號到達後不會再執行任何的動作。

-	每一次碰到項目 (動作、決定) 時，流程會產生中斷，若這些項目早已完成，則於下一個週期，流程將會繼續下去。

注意：	比照SFC來說，動作並不是穩定的狀態，當動作符號執行時並沒有重覆性的指令。


FC檢查

除了依附的ST、LD或IL程式外，流程圖形本身必須遵循如下的主規則：

-	所有符號的所有 "連結" 點必須加以連線 (連到 "結束" 符號的連結線可以去除)。

-	所有符號都必須連結在一起 (沒有單獨存在的物件)。

-	所有的連結器都必須具有有效的目的。

其他次要的語法錯誤如下：

-	空的動作 (沒有程式) 於執行期排程時會被認為是步驟。

-	空的測試 (沒有程式) 會被考慮成 "永遠成真"。