Copyright: ISaGRAF V3.4


 使用流程圖編輯器

ISaGRAF流程圖 (Flow Chart) 圖形編輯器允許使用者輸入完整的FC (流程圖) 程式，它的動作 (action) 及測試 (test或決定，decision) 的程式可以使用ST、IL或Quick LD語言來撰寫。流程圖是一種決定性的圖形，可以用於描述循序式的操作，它加強一些諸如非凍結 (non-blocking) 向後跳躍等的進階元件。

基本的FC語言

輸入流程圖形

編輯已存在的圖形

輸入第二層程式

以Quick LD設計第二層程式

顯示選項

"工具" 功能表的命令

呼叫ISaGRAF其他工具

程式的參數

"檔案" 功能表中其它的命令

程式日記 (program diary) 的更新

從字典中挑選變數


基本的FC語言

流程圖 (FC) 是一種圖形式語言，用於描述循序式的運作。流程圖圖形由動作與測試所組成，動作及測試之間以有方向的連結線連結，表示資料流向。下面是流程圖語言的圖形元件：

FC圖形開始："開始" 符號必須出現於流程圖程式的開始處，它是唯一的，且無法被刪除，表示當此程式執行時的初始狀態。

FC圖形結束："結束" 符號必須出現於流程圖程式的結束處，它是唯一的，且無法被刪除，亦可能沒有連結線連到它 (迴圈圖形)，但是 "結束" 符號依然得畫於圖形的底端。"結束" 符號表示圖形的最終狀態。

FC流程連結：流程連結表示圖形兩點流向的連結線，連結線的尾端以箭頭為結束。兩個連結線不能開始於相同的連結點。

FC動作：動作符號表示實行的指令，上面會標上編號及名稱作為識別。同一個流程圖中的不同物件不可以具有相同的名稱或邏輯號碼。動作的設計語言可以是ST、LD或IL。動作總是與連結線連結，一個連結至它，一個從它開始連結至其他物件。

FC測試：測試表示布林條件 (condition)，上面會標上編號及名稱作為識別。根據所依附的ST、LD或IL表示式的結果，連結流向可以指向 "是" 或 "否" 兩個路徑。當以ST文字來設計時，表示式最後可以加上分號，也可以不加。當以LD來設計時，唯一的線圈表示條件值。

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特定方塊與標準動作一樣，具有相同的行為。

FC連結器：連結器 (connectors) 用於表示圖形中兩點的連結關係，而不需直接繪出它們之間的連結線。連結器以圓圈表示，且必須連結到其他的圖形。連結器必須加上目標點做為識別 (一般為目標符號名稱，此名稱必須根據資料流的方向，放置於適當的位置)。連結器總是以已定義的流程圖符號為目標，這個目標符號以它的邏輯號碼為識別。

FC註解：註解方塊包含一些與圖形語意無關的文字，它能被插入於流程圖視窗的任何空白處，以做為這個程式的文件。


輸入流程圖形

欲輸入圖形，你必須於圖形區域內放置元件 (動作、測試、連結器_)，且將它們連結起來。

插入物件

選取物件

插入註解

繪出流程連結

使用連結器

移動物件

縮放物件

交換測試輸出


插入物件

欲於圖中插入物件，首先於工具列上選擇對應的按鈕，然後於你要插入的位置處點選滑鼠。你能放置元件於空白區，或於連結線上點選滑鼠，將元件插入於流程中。於連結線上插入元件僅允許頂端至底端的垂直連結。

你能插入下述之基本元件：

動作 (以ST、IL或Quick LD語言做為設計程式)

I/O特定動作 (特別的非可攜性動作)

測試 (以ST、IL或Quick LD語言做為設計程式)

連結器

呼叫FC副程式

註解 (描述文字)

ISaGRAF流程圖編輯器亦提供基本的流程圖結構，這些結構僅能插入於已存在的流程連結上，而無法放置於空的區域上：

If / Then / Else (二元選擇)

Repeat until (等待條件成立)

While (條件成立時的迴圈)


選取物件

大部分的編輯命令皆需要先選取物件。ISaGRAF FC圖形編輯器可以讓你於圖形區內選取一個或多個已存在的物件。選取物件之前，必須先選取編輯工具列上的 "選擇" 按鈕 (箭頭符號)。欲選取一個物件，使用者僅需於符號上點選滑鼠即可。

欲選取物件集，可於圖形區使用滑鼠拖曳出一長方形區域，所有於選擇區內的圖形物件都會被標上 "被選取" 的記號。

被選取的物件會以藍色來表示，圖形符號旁加上小黑方塊。你可以加上Shift或Ctrl鍵來加入或移除選取的物件。

若重新選取新的物件，則先前選取的物件將不再被選取。若想不選取任何物件，只要於空白處點選滑鼠即可。

對於只選取單一物件，你也可以使用鍵盤之方向鍵，來選取流程圖上的另一物件。流程連結亦可以被選取。


插入註解

註解可以插入於圖形中的任何空白處。註解對於程式的執行沒有任何影響，只是提高程式的可讀性而已。欲插入註解方塊，於工具列上選取相對的按鈕，然後於所欲放置的位置上點選滑鼠。於註解上雙按滑鼠左鍵可輸入或改變註解文字。當你輸入註解方塊的文字時，並不需要加上如 "(*" 與 "*)" 等開頭或結尾字元。當註解方塊被選取時，你可以拖曳它邊界上的轉角來改變註解方塊的大小。


繪出流程連結

選取工具列上這個按鈕，可畫出已存在元件之間的連結線。連結必須遵循流向來畫出。首先選取FC元件的未連結輸出點，然後拖曳滑鼠至目標點上，便可插入連結線。目標點可以是FC元件未連結的頂點 (輸入點)，也可以是已存在連結線的任何位置。連結間的收斂點以小的灰色圓圈表示。收斂點可以被選取且加以搬移，以便於排列圖形。


使用連結器

ISaGRAF流程圖編輯器讓使用者可以使用圖形連結器，以取代可見的流程連結。連結器能避免太長的連結，且能增進圖形的可讀性。但是連結器不能用來建立與另一FC程式之連結。

連結器就如同其他物件一樣被放置於圖形中，以包含目標參考號碼 (與目標的流程連結) 的圓圈來表示。目標元件的簡短描述可以放置於連結器旁邊。


移動物件

欲於圖形中移動物件，你必須先選取它們，且拖曳滑鼠，來將它們搬移至圖中它處。你可以搬移單一元件，也可以搬移多重物件。當搬移元件時，你不能跟其他物件重疊在一起。移動物件不能用於將它們連結到已存在的連線上。

當單一元件 (動作、測試...) 被搬移時，ISaGRAF流程圖編輯器自動搬移其下之所有物件及連結線。此種特性並不適用於多重選擇物件上。


縮放物件

除了 "開始"、"結束" 符號及連結器之外的任何圖形元件都可以加以縮放。欲縮放一個元件，首先你必須選取它，然後以滑鼠拖曳此物件邊界上之小方塊，來改變它的大小。

當元件已具有連結線時，水平縮放它，將會同時改變左右兩邊界的大小，如此連結線仍可位於元件中央。


交換測試輸出

你可以交換測試的 是/否 輸出位置，想要這樣做，只要於測試符號旁之 "是" 或 "否" 記號上雙按滑鼠左鍵即可。


編輯已存在的圖形

"編輯" 功能表的命令用於改變或完成已存在的圖形，這些命令大部分作用在目前選取的元件上。

修正圖形

尋找及取代

直接進入元件

元件編號


修正圖形

DEL鍵可以用來刪除所選取的元件，上面的連結線會一併被刪除。使用 "編輯 / 回復" 命令復原刪除命令所刪除的元件。刪除命令亦可用於多重選取物件上。"編輯" 功能表下的 "剪下"、"複製"、"貼上" 命令用於移動或複製所選取的元件。


尋找及取代

"編輯 / 尋找，取代" 命令可用於尋找或取代程式中的文字字串 (以ST、IL或Quick LD為程式之所有動作及測試)。尋找 / 取代對話框可用來輸入欲搜尋的文字，找到之後，會自動開啟此文字的程式區。


直接進入元件

"編輯 / 跳至" 命令允許使用者編輯已存在之圖形元件。視窗編輯區會自動捲動至目的元件處，然後選取此元件。


元件編號

"編輯 / 重新編號" 命令用來重新編排流程圖元件的編號，任何放置於圖形中的FC元件都會編上一個唯一的參考號碼。當新元件插入至圖形中時，編輯器都會自動給予它一個參考號碼，"重新編號" 允許你根據元件在圖中的位置，重新調整它的參考號碼。號碼會從上到下，從左到右依序編排下去。


顯示選項

"選項 / 外觀" 命令開啟一個對話盒，此對話盒群聚所有關於編輯空間及圖形繪製的參數及選項。使用 "工作區間" 群組內的檢查盒來顯示或隱藏編輯器工具列或狀態列。"文件" 群組的選項允許你去顯示或隱藏編輯隔點，或以黑白或彩色來顯示圖示。

使用工具列上的 "放大" 按鈕來改變目前放大的比例。當編輯動作或測試所依附的Quick LD程式時，亦可使用這個命令來做縮放。

使用工具列上的 "格點" 按鈕來顯示或隱藏編輯輔助格點。當編輯動作或測試中的Quick LD程式時，此命令也可以使用。

使用 "選項 / 字型" 命令選擇用於所有ISaGRAF文件的字型。當使用ST或IL文字語言時，你可以指定字型大小。當使用圖形式語言時 (FC或Quick LD)，字型樣式及大小並不會改變圖形上的字型，所以此時並不需要加以指定，ISaGRAF會自動根據目前的放大比例來計算字型大小。


呼叫其他ISaGRAF工具

驗證 (編譯) 程式

 	模擬或除錯

編輯變數字典


驗證 (編譯) 程式

"檔案 / 驗證" 命令會執行一個叫 "ISaGRAF碼產生器" (Code generator) 的程式去驗證程式語法。如果是SFC語言，則第一層與第二層都會被驗證。當語法驗證完畢後，"碼產生器" 視窗必須關閉以便繼續程式上的工作。如果沒有語法上的錯誤，而且應用中又只有一個程式，則應用碼便會被產生出來。"選項 / 編譯選項" 命令是被用來設置 (set) 參數的編譯及最佳化時使用。參考 "如何使用碼產生器" 一章，您將會得到進一步有關編譯及碼產生器的訊息。


 	模擬或除錯

"檔案 / 模擬" 以及 "檔案 / 除錯" 命令可以在模擬模式或真實連接模式中執行ISaGRAF圖形除錯器，且於除錯模式時，再將SFC程式開啟。於除錯模式時，你無法修改程式內容。


編輯變數字典

"檔案 / 字典" 命令是用來編輯目前應用程式所用到的變數，它也可用來編輯使用者自訂的定義字。"區域" 宣告或定義字只適用於目前編輯的程式中。


程式的參數

當編輯的程式為函數、功能方塊或副程式時，則 "檔案 / 參數" 命令被用來定義呼叫及回傳的參數。當程式為SFC或為開始、結束區中的程式時，這個命令無效。

副程式、函數或功能方塊最高可以有32個參數 (包含輸入及輸出)。函數或副程式通常只有一個回傳參數，而且這個參數必須與函數名稱相同，以便符合ST語言的撰寫法則。下列對話框是被用來描述副程式的參數：

在視窗左上方的位置列出所有的參數且以呼叫模式的順序來排列。前面是 "呼叫參數"，再來為 "回傳參數"。在視窗的下半部顯示被選取參數的詳細描述，參數可以是任何一個ISaGRAF的資料形態。"回傳參數" 必須位於 "呼叫參數" 之後。參數名稱必須符合下列規則：

•	名稱不能超過16個字元

•	第一個字元必須是英文字母

•	第一個字元以後的字元可以是字母、數字或底線字元

•	名稱不分大小寫

"插入" 命令是用來在選取的參數之前插入新參數。"刪除" 命令是用來刪除選取的參數。"排序" 命令是用來自動重排列 (排序) 參數，所以 "回傳參數" 皆會放置於列尾。


"檔案" 功能表中其它的命令

下列命令可用於所有程式編輯器內的 "檔案" 功能表中：

打開其它的程式

程式列印


打開其它的程式

"檔案 / 開啟" 命令允許使用者關閉目前編輯的程式，且開啟目前案件中相同語言的程式。這個功能不能用來編輯以另一種語言撰寫的程式。被選取的程式會替換目前在編輯視窗中編輯的程式。


程式列印

"檔案 / 列印" 命令用來輸出程式至印表機。這個命令會自動執行ISaGRAF文件產生器來列印正在編輯的程式和相關的區域變數。

於圖形語言程式中 (SFC、FBD及Quick LD)，您可用 "編輯 / 複製圖形" 命令去拷貝在剪貼簿中以metafile格式所繪的圖形，以便於去剪貼於其他的應用中，例如文書編輯器 "Word"。如果是SFC程式，僅有第一階的圖形 (流程圖，數字編號以及第一層註解) 會拷貝到metafile檔中。


更新程式日記 (program diary)

可以用 "檔案 / 日記" 命令將附帶於編輯程式的日記檔以手動方式輸入。每一次程式編譯時，這個日記檔會自動加上語法檢查輸出訊息。編譯輸出完成後會有一個時間 / 日期的蓋印。

如果程式編輯器 "選項" 功能表下的 "更新日記" 模式中被選取，則每次程式被儲存至硬碟時會出現下列對話框。

假如 "確定" 按鍵被按下，則所輸入的文字註解便會加上時間 / 日期而儲存至日記檔的末端。這個特色對於維護程式非常有用，因為它提供了程式生命週期的協助。


從字典中挑選變數

 當編輯文字式程式 (ST或IL) 時，"編輯 / 插入變數" 允許選取一個已宣告的變數名稱，插入到游標所在的位置。當編輯LD或FBD程式時，線圈、I/O參數或FBD變數方塊必須依附上變數。在兩種情況下，將開啟下列的對話框，以便選取已宣告的變數：

"範圍" 列示盒是用來選擇全域或區域變數。列示盒的右邊可以選擇資料型態。在型態選擇欄的旁邊有一些小的圖示 (icon) 為選擇資料型態的快捷按鈕：

布林 (Boolean) 型態

整數 / 實數 (Integer / Real) 型態

計時器 (Timer) 型態

訊息 (Message) 型態

欲選擇變數，只要在名單上點選即可。它的名稱以及註解便會出現在名單正上方。然後按 "確定" 按鈕確認您的選擇，如此便完成了程序。當然，您亦可以直接將變數名稱輸入欄位中。

您亦可以直接將常數表示式輸入欄位中。


"工具" 功能表的命令

工具功能表的命令如下所示，使用者可以使用它們來顯示訊息在FBD視窗底部的小文字列中：

顯示編譯輸出	在輸出視窗中顯示最後編譯產生的錯誤訊息

尋找圖形內容	在圖形中尋找指定的圖形內容，並且將它們列在輸出視窗中

隱藏輸出列	關閉輸出列表視窗

當錯誤訊息或尋找的圖形內容被顯示在輸出視窗中時，使用者可以直接用滑鼠左鍵在任何一行上按兩下，然後在訊息的相關位置做設定。


輸入第二層程式

欲輸入第二層程式，使用者必須於動作或測試符號上雙按滑鼠左鍵，第二層程式將出現於FC視窗的右邊，FC圖形與第二層程式之間的分隔線可以自由的移動。你可以一次打開一個或兩個第二層程式區。下面的命令可以從鍵盤、滑鼠或 "編輯" 功能表下達：

鍵盤	滑鼠	"編輯" 功能表

以上次內定視窗開啟	Enter	雙按左鍵	編輯第二層原始碼

以不同視窗開啟	Ctrl+Enter	Ctrl + 雙按左鍵	於不同視窗中編輯第二層原始碼

當同時使用兩個第二層編輯視窗，它們之間的分隔線可以自由移動。位於第二層標題欄右邊的按鈕可用來關閉此視窗。

內定的第二層程式語言為ST (Structured Text，結構化文字)，亦可以使用IL或Quick LD語言來撰寫。所選擇的語言會顯示於第二層標題列的小方格內。從功能表內執行 "選項 / 設定第二層語言" 命令或於點選小方格，可改變撰寫的語言，這個命令僅有當第二層視窗是空的時候才有效。

第二層視窗的頂端會出現單列的編輯框，可用來輸入簡短的描述文字，這些為FC符號的註解。這些文字可用於 "跳至_" 等命令，或列印時當作FC動作及測試的文件。

當第二層視窗開啟時，"選項 / 更新" 命令可隨時更新變更的第二層程式至FC主圖形內。


以Quick LD設計第二層程式

Quick LD編輯器可用於設計第二層的程式。若是作為測試的程式，LD圖形僅由一個導軌 (僅有一個線圈) 所組成，表示測試的決定 (decision)。測試的名稱不可與線圈符號重覆。下面是以Quick LD設計測試的例子：

當以Quick LD設計程式時，使用鍵盤的方向鍵移動選擇區，然後以下述之快捷鍵來插入符號：

F2:	插入接點於選取符號 / 初始導軌之後

F3:	插入接點於選取符號之前

F4:	插入與選取符號平行的接點

F5:	加入與選取符號平行的線圈 (不可用於測試)

F6:	插入方塊於選取符號之後

F7:	插入方塊於選取符號之前

F8:	插入與選取符號平行的方塊

F9:	加入與選取線圈平行的跳躍符號 (不可用於測試)

跳躍會衍生出一個導軌名稱。當選擇區位於導軌的頭時，可以按ENTER鍵來輸入此導軌的名稱。ISaGRAF編輯器記錄所有輸入的導軌標籤，不管它有沒有指定給導軌或跳躍運算元。"跳躍 / 標籤" 對話框讓使用者輸入新的標籤，或選擇已存在的標籤，假如你輸入新的名稱，它將自動加入到表列中。 "移除" 按鈕可用來移除表列中選取的名稱，但它並不會移除所選導軌的標籤，若要如此，則只要使編輯欄內為空的，然後按確定即可。

你亦可以點選LD工具列上的按鈕，取代按功能鍵。

當選擇區位於接點或方塊的I/O參數上時，可按ENTER鍵，選擇變數或輸入常數值。當選擇區位於功能方塊上時，可按ENTER鍵選擇功能方塊的型態。你亦可於符號上雙按滑鼠左鍵，也可達到同樣的功能。

當接點選取時，可按Control + SPACE鍵來改變接點或線圈的型態。參考本手冊之 "使用Quick LD編輯器"，以得到更多關於Quick LD能力的說明。