Copyright: ISaGRAF V3.4


 使用程式庫管理員

ISaGRAF程式庫 (library) 提供一個介於自動化發展和ISaGRAF目標硬體系統軟硬體能力的標準界面。不同型式的界面有不同的資料庫。ISaGRAF工作平台程式庫管理員設計給硬體供應者或者是軟體工程師來使用，他們使用程式庫管理員來描述他們所創造的ISaGRAF程式設計界面物件。

管理程式庫元件

I/O組態

I/O複合設備

I/O板

用IEC語言寫成的函數和方塊

"C"函數和功能方塊

轉換函數

拷貝程式庫元件

ISaGRAF工作平台程式庫管理員顯示出ISaGRAF程式庫中的元件。視窗左邊區域是所選資料庫的元件明細表，視窗右邊區域是在元件表上所選元件的技術註記 (使用者手冊)。程式庫管理員清單包含用來開啟、定義或修改程式庫元件的命令。"檔案 / 其它程式庫" 命令允許選取一個ISaGRAF程式庫。在工具列左邊上的組合窗也能夠被用來選取一個程式庫：


管理程式庫元件

使用 "檔案" 清單命令來開啟元件以及編輯開放程式庫中既有元件。

開啟一新元件

編輯已存在的元件

設定密碼保護

編譯函數和功能方塊

技術註記

參數

原始碼


開啟一新元件

"檔案" 功能表中的 "開新元件" 命令於所選程式庫中產生一個新的元件。新元件名稱必須根據下列命名規則：

•	名稱最大長度為8個字元

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

•	之後的字元必須為英文字母、數字或是 '_' 字元

•	程式庫元件名稱不分大小寫

註解將被結合到每一個程式庫元件中。當產生新元件時，可以輸入它的註解。當新元件被創造時，下列必須被輸入：

•	I/O組態的定義

•	I/O板的參數

•	函數或功能方塊的使用者界面

當 "C" 轉換、"C" 函數或 "C" 功能方塊被創造時，其原始碼將自動產生。


編輯已存在的元件

"檔案 / 重新命名" 命令准許使用者從元件明細表中改變所選的元件名稱或註解。"檔案 / 複製" 命令允許使用者複製程式庫中的元件到同一程式庫的另一元件。假如目標元件已經存在，它的所有內容將會被覆蓋掉。假如目標元件並不存在，它會自動被創造。"檔案 / 刪除" 命令從動作程式庫中去移除所選的元件。"更名"，"複製" 和 "刪除" 命令將會作用在元件的下列部分：

•	技術註記

•	I/O組態的完整定義

•	I/O板或複合設備的參數

•	函數或功能方塊的界面定義

•	以IEC語言寫成函數或功能方塊的原始碼

•	C轉換、函數或功能方塊的原始碼

假如元件是 "C" 轉換、"C" 函數或者 "C" 功能方塊，"更名" 或 "複製" 命令並不會自動更改它的名稱。

假如元件是一個由IEC語言所寫成的函數，那麼回傳參數名稱無法由 "更名" 或 "複製" 命令所更改。


設定密碼保護

"檔案 / 設定密碼" 命令讓使用者能夠對開放程式庫中所選的元件設定密碼保護。查閱 "密碼保護" 一節 (在手冊第一部的最後)，有更多有關密碼等級和資料保護的資訊。密碼只和所選元件有關，它們不會影響其他ISaGRAF程式庫元件。


編譯函數和功能方塊

當由IEC語言所寫成的函數或功能方塊程式庫被選取時，"檔案" 功能表中的 "驗證 (編譯)" 命令被用來檢查所選元件的語法及產生它的物件碼。在由IEC語言所寫成的函數和方塊可以被用在ISaGRAF專案之前，它們必須被編譯到沒有錯誤。假如另一個程式庫被選取的話，這項命令就沒有效果。


技術註記

"編輯 / 技術註記" 命令允許使用者從目前程式庫所選取的元件中輸入技術註記。技術註記是從ISaGRAF文字編輯器輸入的。一個元件的技術註記就是它的使用者指南。ISaGRAF專案在整合時，元件的使用者將可以查閱技術註記。技術註記在有關如何使用元件方面應該包括其本身主功能描述、程式設計界面和參數的詳細說明以及它自身內容和限制。

"工具 / 標準註記格式" 命令准許使用者對現行所選程式庫的所有元件去定義一個標準文字格式。當對新元件編輯技術註記時，這格式就被當作是主要架構，且允許使用者去作最佳化技術註記編輯。


參數

元件的參數即是元件所提供的電腦操作和ISaGRAF應用程式元件的使用之間的界面。參數對每一程式庫元件的型態有著不同的意義。

I/O組態的參數定義組態的I/O板的完整集合，和用於I/O連結點的預設變數名稱。I/O板或複合設備的參數定義這塊板的物理和邏輯組態。函數或功能方塊的參數是根據ST語言函數呼叫協定來定義元件的界面。轉換函數是沒有參數的，因為它使用到一套預先定義的標準界面。


原始碼

ISaGRAF工作平台准許程式設計師去管理程式庫轉換、函數或功能方塊的原始碼。一個由IEC語言所寫成的函數或功能方塊是一串文字或是圖形。"C" 組成部份 ("C" 函數、"C" 功能方塊和轉換函數) 的原始碼被分離成兩個分割檔案：一個C原始標頭檔 (包含界面的正確定義、成員的參數定義)，以及一個C原始碼檔 (包含元件的執行程式)。

當新資料庫元件建立時，ISaGRAF工作平台就會產生原始碼檔。基於參數的定義，它也一同建立和更新原始標頭檔。程式設計師可以使用ISaGRAF文字編輯器來完成原始碼檔。


I/O組態

ISaGRAF I/O組態程式庫提供一個簡單的方式來初始化有預先定義I/O組態的新ISaGRAF案件。I/O組態定義著：

•	I/O板集合

•	預設的I/O板參數

•	預設的I/O連結點名稱

當新的ISaGRAF案件和程式庫I/O組態一同被建立時，相關的I/O連結將被自動宣告在專案字典內。

 使用ISaGRAF I/O連結工具來製作I/O組態定義 (案件內有著相同工具)。在手冊中的 "I/O連結" 一節可得到更多有關如何去使用這項工具的資訊。當在組態設定插入新的I/O板時，這塊板的所有連結點被宣告成標準預設名稱。I/O連結點的標準預設名稱的格式如下：

<方向><型態><槽位>_<連結點編號>

第一個字元指示I/O連結點的方向：

"I"	輸入連結點

"O"	輸出連結點

第二個字元指示I/O連結點的型態：

"X"	布林

"D"	類比

"M"	訊息

下面是一個標準預設名稱的一些範例：

IX0_7	布林輸入 - 板#0 - 連結點#7

OD2_4	類比輸出 - 板#2 - 連結點#4

I/O連結編輯器中的 "連結I/O連結點" 命令被用來修改I/O連結點的預設名稱。


I/O複合設備

一塊單板的所有連結點有著相同型態 (布林，類比或訊息) 和方向 (輸入或輸出)。一個複合I/O設備表示為一個有不同型態或方向連結點的I/O設備。一個複合I/O裝置被表示成一串列的I/O單板，但僅用到一個插槽。

 欲定義一個複合I/O設備，使用者必須定義所有I/O設備所用到的單板，也必須輸入每一單板的詳細參數。可以經由對話框來輸入所有的I/O單板。

按下 "新增" 按鈕允許使用者去增加新的單板到現行表列上。"插入" 按鈕用來插入新的單板在所點選表列項目之前。"刪除" 按鈕從表列中移除所點選的單板。"更名" 和 "參數" 按鈕用來改變所點選單板的名稱和參數。下一節將對單板參數提出一個完整的解釋。一個複合I/O裝置最多由16塊單板組成。單板 (於I/O裝置內) 名稱不能超過8個字元。


I/O板

ISaGRAF I/O板程式庫定義應用程式和目標硬體之間的標準界面。在應用程式描述時，所有I/O變數將被連結到目標硬體的I/O板的連結點。ISaGRAF I/O板由名稱及 "OEM識別碼" (用來識別硬體供應商) 所定義。其它I/O板參數描述I/O板性質 (連結點數目、連結點方向和型態)，以及它自身的軟硬體組態。

I/O板參數

OEM參數


I/O板參數

I/O板具有兩個不同的參數型態：共同參數對ISaGRAF程式庫板作定義，及OEM參數由硬體供應商提供，用來指定板子的執行程式。共同參數被輸入到I/O參數定義盒上方處。這些參數 (加上I/O板名稱) 用來識別ISaGRAF標準I/O板界面。

"OEM識別碼" 是一串簡單的數字，用來定義是那個硬體供應商。由同一硬體供應商定義的所有板子必須有相同OEM識別碼。OEM識別碼是一個16位元長度無正負號字組，且為一個十六進位格式輸入值。保留給CJ International的OEM識別碼為 "1"。

主要參數定義I/O板性質。連結點數定義板子的連結點的數目。板子的型態就是能被連結到板子連結點的變數型態。方向定義連接到板子的變數是輸入型態或是輸出型態。

注意：	不同型態或方向的I/O變數不能聚集在同一ISaGRAF I/O板。這項性質只適用在複合I/O設備上。


OEM參數

I/O板參數定義盒的下方處可用來輸入OEM參數。這些參數由I/O板的硬體供應商所定義。一個I/O板最多可以有16 OEM參數，但也可能沒有OEM參數。ISaGRAF程式庫管理員允許硬體供應商定義每一參數的識別和格式，以及自動化程式設計師的輸入方式。

方塊左方處包含OEM參數表列。每一參數由一個名稱和一個從0到15的邏輯數字所組成。右方區域包含表列上所選參數的細節描述。為了輸入參數的完整描述，你必須從表列中選取它。按下 "清除" 按鈕將重設參數描述，以及從參數表列移除它。警告：這項命令不能被 "回復"。

於I/O連結時，假如這個欄位必須由自動化操作員所定義，必須用參數名稱來作輸入欄位的識別。參數名稱必須遵守下列規則：

•	名稱的最大長度為16個字元

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

•	其餘的字元必須是英文字母，數字或 '_' 字元

參數型態定義參數的內部格式，以及在應用程式I/O連結時的輸入格式。下面是可用的內部格式表列：

word	無正負號16位元字組

long	無正負號32位元字組

word hexa	無正負號16位元字組

long hexa	無正負號32位元字組

boolean	無正負號16位元字組 (只用到最低位元)

character	無正負號16位元字組 (只用到最低位元組)

string	包含空結束字元的16個字元陣列

float	單精度32位元浮點數值

下面是可用的輸入格式：

word	無正負號十進位字組 (word)

long	十進位長字組 (long word)

word hexa	無正負號十六進位字組

long hexa	無正負號十六進位長字組

boolean	"真" 或 "假"

character	單一字元

string	ascii 字串 (最大15個字元)

float	單精度浮點數值

"存取" 方塊被用來定義參數如何被終端使用者 (end user) 所存取。假如 "使用者定義" 選項被設定，參數在I/O板連結時將被顯示成一可輸入的欄位。OEM參數預設值被用作參數編輯的一項預設。假如 "隱藏" 選項被設定，參數將為常數值，而且不會出現在I/O板連結方塊上。OEM參數預設值定義常數參數值。"唯讀" 選項指示參數對使用者而言是可見的，但是不能被修改，它的內定值被用來當作一個常數值。


用IEC語言寫成的函數和方塊

ISaGRAF可管理一個用IEC語言寫成的函數和方塊程式庫。用來描述如此一個函數或方塊的語言有FBD (功能方塊圖)、LD (階梯圖)、ST (結構化文字) 或IL (指令集)。注意LD和FBD語言能夠被用於同一個圖形中。在程式庫中SFC語言 (順序式功能圖) 不能被用來描述函數或方塊。當函數被開啟時會要求選取附加在程式庫元件的語言，而且往後都不能改變成其他語言。

編譯

輸入原始碼

區域變數字典

定義界面


編譯

在它們能被用於ISaGRAF案件之前，定義在程式庫中的函數和方塊必須被編譯 (檢驗) 。在程式庫中有關函數和方塊的部分不需要改變。當在案件中使用LD/FBD圖形編輯器的時候，資料庫元件將自動出現在方盒中的選取清單中。

 定義在程式庫中的函數能呼叫其它在這程式庫的函數，然而，ISaGRAF系統並不支援遞迴的函數呼叫。用IEC語言寫成的功能方塊不能呼叫其它功能方塊 (不論是IEC語言或是 "C" 語言)。


輸入原始碼

利用標準ISaGRAF工具：LD或FBD程式的圖形編輯器、ST或IL程式的文字編輯器來輸入程式庫函數或功能方塊的原始碼。可參考手冊中相關的章節以得到這些工具的更進一步的資訊。ISaGRAF程式碼產生器能夠從圖形或文字編輯視窗中直接被呼叫來編譯程式庫函數或功能方塊的原始碼。


區域變數字典

程式庫函數或功能方塊能夠造區域變數，以及區域定義字。當編輯函數原始碼時，想要在編輯器視窗存取變數宣告，使用者必須執行 "檔案" 功能表中的 "字典" 命令。

 程式庫函數或功能方塊不能夠存取全域變數或功能方塊樣例。在函數主體部分，函數的區域變數應被初始化。

在案件中每一次使用方塊時會複製以IEC語言寫成的功能方塊的區域變數 (樣例)。當從一個呼叫到另外一個時，樣例的區域變數會保持它們的值。


定義界面

函數或功能方塊最多可以有32個參數 (輸入或輸出)。為了遵守ST語言寫法協定，函數總有一個 (而且只有一個) 回傳參數，且必須和函數名稱相同。

在視窗左上方表列內顯示這些參數，呼叫模組次序為：首先為呼叫參數，最後為回傳參數。在視窗下方處顯示在表列中目前選取參數的細節描述。參數可以是任何一種ISaGRAF的資料型態。回傳值參數必須放在表列的所有呼叫參數之後。參數的命名方式必須遵循下列規則：

•	名稱長度不能超過16個字元

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

•	其餘的字元必須為英文字母、阿拉伯數字或底線字元

•	名稱不分大小寫

"插入" 命令用來插入新參數到所選參數之前。"刪除" 命令用來刪除所選取的參數。"排列" 命令自動重排 (排序) 參數，所以回傳參數將被放置在表列的最後。


"C"函數和功能方塊

根據ST語言函數呼叫界面，"C" 函數和功能方塊是一種電腦函數，可被自動化應用程式所呼叫。

函數是同步的程序。在函數執行期間會暫停ISaGRAF目標端應用程式。功能方塊結合指令和靜態隱藏資料，舉例來說，"計數器" 功能方塊代表計數指令以及計數結果。函數和功能方塊可用來讓標準自動化語言性能更加圓滿，也可以存取系統資源。

 參數定義方塊用來定義每一個函數或功能方塊的呼叫或回傳參數。"編輯" 功能表命令用來定義所選函數或功能方塊參數。一個函式最多31個呼叫參數，而且總是有一個傳回值參數。功能方塊最多32個參數，包含任何固定的呼叫和回傳參數。下面是ISaGRAF型態和 "C" 型態之間的對照：

布林	usigned long	無正負號32位元字組：1=是 / 0=假

類比	long	帶正負號32位元字組

實數	float	單精度浮點數值

計時器	unsigned long	無正負號整數32位元字組 (單位為1ms)

訊息	char *	字元字串

當從 "C" 函式或功能方塊傳出一個訊息值，不能包含空字元。字串傳給 "C" 程式碼的結束字元為空字元。

參考ISaGRAF目標端使用者指南有更多資訊，關於如何處理函數或功能方塊的 "C" 原始碼，以及如何去整合新元件到ISaGRAF目標端系統。


轉換函數

轉換函數是一個每次從專案中使用到輸出入轉換的類比變數，由ISaGRAF I/O管理員呼叫的 "C" 函數。

函數創造變數的電位值 (從輸入感應器讀取資料) 和物理值 (用於應用程式表示式中) 關係。函數因此分成兩個部分：輸入轉換以及輸出轉換。ISaGRAF程式庫管理員允許使用者控制轉換函數的 "C" 原始碼。

轉換可用來處理整數或實數類比變數，它暗指轉換函數界面總是由浮點變數定義。對任何轉換函數而言界面都是相同的。界面的 "C" 定義是由 "TACN0DEF.H" 定義檔所定義的。

參考ISaGRAF目標硬體使用者指南有更多資訊關於如何管理轉換函數的 "C" 原始碼，以及如何整合一新成員到ISaGRAF目標端系統。


拷貝程式庫元件

"工具 / 拷貝" 功能表的命令會執行ISaGRAF拷貝管理員來儲存或回存程式庫元件。首先，在執行 "拷貝命令" 之前您必須選擇一個程式庫。拷貝管理員一次只會顯示一個程式庫中的所有元件。