ISaGRAF FAQ (Chinese) -...
Transcript of ISaGRAF FAQ (Chinese) -...
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 1 / 77
ICP DAS Co., Ltd. Technical Document
如何在 ISaGRAF WinCE PAC 上應用 ISaGRAF SoftLogic 與 eLogger HMI?
eLogger 是泓格科技 (ICP DAS) 開發的 HMI 軟體工具,具備簡單好用的特性,它可用來設計
Local HMI 與 Web HMI 畫面,並可和 ISaGRAF 程式一起運行在 ISaGRAF WinCE PAC (例如: WP-
8x37/8x47, WP-5147/5147-DO, VP-2xW7/4137 與 XP-8x37-CE6)。使用者可透過智慧行動裝置 (例如:
手機/平板/NB) 上的瀏覽器,來登入遠端的 Web Server HMI,並實現 ISaGRAF 控制系統監控。
用戶可訪問以下網址取得此文件 與 所有範例程式 (faq115_demo_chinese.zip):
www.icpdas.com > Support > FAQ > ISaGRAF Soft-Logic PAC > 繁體中文 > FAQ-115 或
http://www.icpdas.com/root/support/faq/isagraf_tc.php
ISaGRAF 網頁: (軟體/手冊)
www.icpdas.com > Products > Solutions > Soft PLC, Win-GRAF, ISaGRAF & eLogger HMI > ISaGRAF 或
http://www.icpdas.com/root/product/solutions/softplc_based_on_pac/isagraf/isagraf_tc.html
eLogger 網頁: (軟體/手冊)
www.icpdas.com > Products > Solutions > Software > SCADA/HMI > eLogger 或
http://www.icpdas.com/root/product/solutions/software/scada_hmi/elogger/elogger.html
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 2 / 77
ICP DAS Co., Ltd. Technical Document
第 1 章 編寫 ISaGRAF SoftLogic 程式
本 ISaGRAF 專案為 eL_01.pia,可從 www.icpdas.com > Support > FAQ > ISaGRAF Soft-Logic PAC >
繁體中文 > FAQ-115 下載。若用戶已經熟悉 ISaGRAF 軟體的使用方法,可以直接將 eL_01.pia
回存到 PC / ISaGRAF 內,再將此 “eL_01” 專案下載到 PAC 內,然後直接參考 第 2 章 來編寫
eLogger HMI 畫面。
若不熟悉 ISaGRAF 的用戶,可先參考 ISaGRAF 進階使用手冊 (第 1, 2 章) 的內容。您可在各
ISaGRAF PAC 的出貨光碟中 或 以下網址找到該手冊:
http://www.icpdas.com/root/product/solutions/softplc_based_on_pac/isagraf/download_tc.html
若您的 PC 還未安裝 ISaGRAF,請先參考 “ISaGRAF 進階使用手冊” 第 1.1 節來安裝它。接著,
請參考 第 1.2 節來安裝 “ICP DAS utilities For ISaGRAF”。
用戶至少要購買一套 ISaGRAF-256 或 ISaGRAF-32 軟體,請參訪 ISaGRAF 網頁的訂購資訊:
http://www.icpdas.com/root/product/solutions/softplc_based_on_pac/isagraf/isagraf_tc.html
註: 在 Archive – Projects 視窗中,
會以小寫來顯示專案名稱。
1.
2. 3
.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 3 / 77
ICP DAS Co., Ltd. Technical Document
1.1. 建立 ISaGRAF 專案 (Project)
將 ISaGRAF 運行起來,然後建立一個新的專案,名稱可取為 “eL_01”。
滑鼠雙擊專案名稱,來進入該專案。
提示:
1. 點選 Edit > Set comment text 可編輯註解文字。
2. 點選 Project > Project descriptor 可編輯專案說明。
2.
1.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 4 / 77
ICP DAS Co., Ltd. Technical Document
1.2. 建立 ISaGRAF 變數
本範例會宣告以下的 ISaGRAF 變數:
Name Format Attributes Network Address
說明
Long_1 Integer Internal 1 用來跟 eLogger 32-bit Long 溝通
Word_3 Integer Internal 3 用來跟 eLogger 16-bit Long 溝通
Word_4 Integer Internal 4 用來跟 eLogger 16-bit Integer 溝通
Float_5 Real Internal 5 用來跟 eLogger 32-bit Float 溝通
OUT_101 Boolean Output 101 連接到 slot 0: XW304 的 DO0
OUT_102 Boolean Output 102 連接到 slot 0: XW304 的 DO1
M1 Boolean Internal 0 供 ST 程式使用
DIR Boolean Internal 0 供 ST 程式使用,需設定初值為
TRUE
滑鼠點選 “Dictionary” 按鈕進入視窗,在 “Integers/Reals” 頁籤下雙擊空資料列,來開啟變數宣告
視窗。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 5 / 77
ICP DAS Co., Ltd. Technical Document
輸入變數名稱為 “Long_1”、Network Address 為 “1”,再點選 “Store” 按鈕。
畫面如下。請採用相同方式,滑鼠雙擊空白列來宣告 "Word_3" 與 "Word_4" 變數,並設定其
NetWork Address 為 “3” 與 “4”。
完成後,畫面如下。
此數值為 16 進制
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 6 / 77
ICP DAS Co., Ltd. Technical Document
接著,使用相同方式來宣告 "Float_5" 變數,但它是 “Real” 型態且 NetWork Address 為 “5”。
完成後,畫面如下。接著要宣告 Boolean 變數,請點選 “Booleans” 頁籤。
接著,使用類似方式來宣告 "OUT_101"、"OUT_102" 與 "M1" 變數,需注意的是 "OUT_101" 與
"OUT_102" 的屬性 (Attributes) 為 “Output”,且 NetWork Address 為 “65” 與 “66” (即 101(10) 與
102(10) ),而 "M1" 的屬性為 “Internal”。(見下圖)
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 7 / 77
ICP DAS Co., Ltd. Technical Document
完成後,畫面如下。
最後,請再宣告一個 "DIR" 變數,其屬性為 “Internal” 且需指定初值為 “True”。
此數值為 16 進制
此數值為 16 進制
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 8 / 77
ICP DAS Co., Ltd. Technical Document
1.3. 編寫階梯圖程式 (LD1)
在上一節,完成變數宣告後,需儲存設定 並 離開視窗。
接著要建立一個階梯圖 (LD) 程式。輸入程式名稱為 “LD1”、語法為 “Quick LD : Ladder Diagram”,
型態為 “Begin: Main program”,再按下 OK。
完成後,畫面如下。滑鼠雙擊 “LD1” 來編寫此階梯圖程式。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 9 / 77
ICP DAS Co., Ltd. Technical Document
首先要新增一個 “SYSTIM_R” 功能方塊 (Function Block),用來取得 PAC 當前的時間。請點選
“Block on the left” 按鈕。
滑鼠雙擊功能方塊,並選取 “SYSTIM_R” 再點選 OK。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 10 / 77
ICP DAS Co., Ltd. Technical Document
滑鼠雙擊 “SS_” 參數右方的區塊,來指定 “Word_3” 變數。
提示:
點選這些按鈕,可縮放
功能方塊的大小。
1.
2.
3.
4.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 11 / 77
ICP DAS Co., Ltd. Technical Document
接著,需新增一個 BLINK 功能方塊,用來每秒產生一個 Pulse True 給 M1 變數。請先將游標移到
下方,再點選 “Block on the left” 按鈕。
新增 BLINK 功能方塊後,滑鼠雙擊 “CYCLE” 參數的左方區塊,並用鍵盤輸入 "T#1S"。
1.
2.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 12 / 77
ICP DAS Co., Ltd. Technical Document
將游標移到右方的輸出線圈,再點選 “Coil / Contact type” 按鈕數次,切換為 “N” 線圈。
滑鼠雙擊 “N” 線圈,並指定為 “M1” 變數,再點選 OK。
1.
2.
1.
2.
3.
4.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 13 / 77
ICP DAS Co., Ltd. Technical Document
您已完成此 LD1 程式,請點選 “Save” 按鈕 並 離開此視窗。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 14 / 77
ICP DAS Co., Ltd. Technical Document
1.4. 編寫 ST 程式 (ST1)
接著,要建立一個 ST 程式。輸入程式名稱為 “ST1”、語法為 “ST : Structured Text”,型態為
“Begin: Main program”,再按下 OK。
滑鼠雙擊 “ST1” 來編寫此程式。
請輸入以下程式碼:
if M1 then if ( Dir=True ) then
Word_4 := Word_4 + 1 ; (* 累加計數 *)
else
Word_4 := Word_4 - 1 ; (* 倒數計數 *)
end_if ; end_if ;
if Word_4 <= 0 then
Dir := True ; (* 到達最小值時,變為累加計數 *)
end_if ;
if Word_4 >= 50 then
Dir := False ; (* 到達最大值時,變為倒數計數 *)
end_if ;
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 15 / 77
ICP DAS Co., Ltd. Technical Document
完成後,畫面如下。請點選 “Save” 按鈕 並 離開此視窗。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 16 / 77
ICP DAS Co., Ltd. Technical Document
1.5. 進行 I/O 連結
此範例會在 WP-5147-OD 的內部裝上一片 XW304 I/O 擴充卡 (6 AI, 1 AO, 4 DI, 4 DO),來控制其
DO0 與 DO1。因此,需在 ISaGRAF 內新增 I/O 連結來對應到 PAC 中的 I/O 模組。
請點選 I/O connection 來進行 I/O 連結。
滑鼠雙擊 Slot0 開啟視窗,接著點選 “Equipments” 並選擇 “xw304”,再按 OK。
若您在 “Equipments” 內找不到 "xw304”,
表示 “ICP DAS Utilities For ISaGRAF” 並未
安裝,請參考 “ISaGRAF 進階使用手冊"
第 1.2 節的說明。
查看說明
1.
2.
3.
4.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 17 / 77
ICP DAS Co., Ltd. Technical Document
本範例有宣告 2 個屬性為 “Output” 的 Boolean 變數,名稱為 "OUT_101” 與 "OUT_102”。滑鼠
點選 “DO4” 並雙擊右方第一個通道,來開啟視窗。接著點選 “Connect” 按鈕 2 次來連結此兩個
DO 變數,再點選 “Close” 按鈕。完成後,請儲存並離開視窗。
註: 如欲設定量測範圍,您可點選 “AI6” 再雙擊 “Range” 來修改其設定值 (0 或 1)。另外,
請記得調整擴充卡上的 Jumper 位置。
0 : -5 V ~ +5 V (-32768 ~ +32767) 1 : 0 V ~ +5 V ( 0 ~ +32767)
1.
2.
3.
4.
5.
6.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 18 / 77
ICP DAS Co., Ltd. Technical Document
1.6. 編譯 ISaGRAF 專案
進行編譯前,必需設定好編譯選項。請先點選 “Make” > “Compiler options” 進入視窗,接著,
一定要選取 “ISA86M: TIC code for Intel” 與 “Use embedded SFC engine” 與 “Optimizer” 的第一個
項目,再點選 OK。
設定完成後,請點選 “Make” > “Make application” (如上圖),開始編譯程式。
滑鼠雙擊
若無 Error 發生,恭喜你,成功了 !
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 19 / 77
ICP DAS Co., Ltd. Technical Document
1.7. 下載 ISaGRAF 專案到 WP-5147-OD 內
下載專案之前,您必須先設定好通訊參數。請先點選 “Link setup” 按鈕,開啟視窗。此處將選用
Ethernet Port 來下載程式,請再點選 “Setup” 按鈕,來設定欲連線那台 PAC 的 IP 位址與 Port
Number (需為 502)。
接著,點選 “Debug” 按鈕。若有連上 PAC,
請先停止正在運行的程式 (Stop application),並點選 “Download” 按鈕,選擇 “ISA86M: TIC code
for Intel” 來下載程式。恭喜! 您已完成 ISaGRAF 專案的編寫、編譯 與 下載程序 !
Debug
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 20 / 77
ICP DAS Co., Ltd. Technical Document
第 2 章 編寫 eLogger HMI 畫面
eLogger 主要分成兩個操作介面:
1. 開發版 (eLogger Developer):
安裝在 PC 上,客戶可使用它來配置 HMI 畫面與圖形控制元件。
2. 執行版 (eLogger Runtime):
安裝在 PAC 內,客戶必須啟動此程式,才能執行 eLogger 專案。
註: 若您使用 XPAC 或 WinPAC,則必須連接一個 VGA 螢幕才能看到 PAC/HMI 畫面。
若運作 eLogger Runtime 出現問題時,請參考 2.8 節 來解決。
2.1. 安裝 eLogger Developer (PC) 與 eLogger Runtime (PAC)
2.1.1. 如何安裝 eLogger Developer
若您的 PC 並未安裝 eLogger Developer (1.6.2.0 版或更新的版本),請至此網址下載最新版本:
http://ftp.icpdas.com/pub/cd/winpac/napdos/elogger/setup/
下載完成後,請直接安裝到 PC 上 (也可參考 eLogger 使用手冊)。
若您的 PAC 並未安裝 eLogger Runtime (1.6.2.0 版或更新的版本),請在 eLogger Developer 的
安裝路徑下 C:\ICPDAS\eLogger,先找到相關檔案,後續會說明如何安裝。
注意: 在設計階段時,PAC 螢幕上需顯示 Taskbar,以方便操作。如下:
請將 WP-5147-OD 的 VGA Port 接上一台 VGA Monitor,USB port 接上一個 Mouse。
然後確認 Taskbar 設定為 “Always on top”,不可勾選 “Auto hide”。
按右鍵
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 21 / 77
ICP DAS Co., Ltd. Technical Document
2.1.2. 如何安裝 eLogger Runtime
請先進入 PAC 螢幕上的 My Device,再進入 \System_Disk 內建立一個 eLogger 子目錄。
我們將透過 FTP 的方式來安裝 eLogger Runtime,請先確定 WinPAC_Utility > Network Settings 內有
Enable FTP 且路徑是設在 “\”。若不是,請修改設定並按 “Set” 按鈕,再點選 File Save and
Reboot。
\System_Disk
2.
1.
3.
4.
1. 2
.
3.
4.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 22 / 77
ICP DAS Co., Ltd. Technical Document
此例採用 WP-5147-OD,請將 PC 上 C:\ICPDAS\eLogger\eLogger_Runtime\For_WinPAC 內,所有的
檔案透過 FTP (例如: ftp://192.168.79.23) 傳送到 PAC 的 \System_Disk\eLogger 內。
1) 將 \System_Disk\eLogger 內,copy_to_system_disk
資料夾下的 SharedMemory.dll 複製到
\System_Disk\ICPDAS\System。
2) 請在 \System_Disk\eLogger 內,新增一個名稱為
“webpages” 資料夾,並將 copy_to_www_root
資料夾下的 “base”, “WebBase” 資料夾複製到
\System_Disk\eLogger\webpages。
注意: 上傳含有網頁的專案時,會自動在有 RuntimeCE.exe 的位置,例如:
\System_Disk\eLogger\,建立一個 “webpages” 資料夾,但您仍必須手動
將 base, WebBase 資料夾複製到此目錄中。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 23 / 77
ICP DAS Co., Ltd. Technical Document
2.2. 建立 eLogger 專案
若 User 想直接開啟本範例 “eL_01.wez”,請從 FAQ-115 上取得 “faq115_demo_chinese.zip”,
解壓縮後,將 “eL_01.wez” ~ “eL_06.wez” 複製到 PC 的 C:\ICPDAS\eLogger\eLogger_Developer\
Project\ 內,然後運行 eLogger Developer,點選 “Project > Open” 來開啟它。
若要建立新的專案,請點選 “Project > New” 來建立一個 “eL_01” 專案 (不可命名為 Demo )。
預設情況下,此資料夾已有一個名稱為 Demo.wez
的專案,因此,請勿命名為 “Demo”。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 24 / 77
ICP DAS Co., Ltd. Technical Document
首先,eLogger 系統的 “Sampling Time (sec)” 建議設為 1 秒。
注意: eLogger 與 ISaGRAF 程式一起運行時,不可啟用 Driver,也無需新增 Device 或 Register。
2.3. 宣告 eLogger Tag
eLogger 要與 ISaGRAF 的變數溝通,只能使用 AO Tag 區 與 DO Tag 區的變數。
注意: eLogger 的 AI Tag 與 DI Tag 無法跟 ISaGRAF 的變數溝通。
eLogger 的 AO Tag 可以跟 ISaGRAF 的 Integer、REAL、Timer、AI 與 AO 變數溝通;
eLogger 的 DO Tag 可以跟 ISaGRAF 的 Boolean、DI 與 DO 變數溝通。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 25 / 77
ICP DAS Co., Ltd. Technical Document
如上圖,請先點選 “AO Tag” 再點選 “New Tag” 來新增 AO Tag。此範例需使用 4 個 AO Tag,
輸入 “4” 再點選 OK。
Tag Name Address Data Type
Long_1 1 32-bit Signed Long
Word_3 3 16-bit Signed Integer
Word_4 4 16-bit Signed Integer
Float_5 5 32-bit Float
先點選第一個資料欄,然後在上方分別輸入 “Tag Name” 為 “Long_1”、“Memory Address” 為
“1”,“Data Type” 為 “32-bit Signed Long”、“Gain” 為 “1” 與 “Offset” 為 “0”。
此外,依據 ISaGRAF 資料型態的定義,32-bit Integer 與 Real 必須占用 2 個 Modbus 位址,
此範例 “Long_1” 的 Address 為 1,所以 2 不能再給其它 Tag 使用。接著,請設定第 2 ~ 4 個
AO Tag,完成設定後,畫面如下。
註: eLogger Tag 與 ISaGRAF 變數是以記憶體位址來識別彼此,所以名稱可以不同。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 26 / 77
ICP DAS Co., Ltd. Technical Document
請依照上述類似步驟,再新增 2 個 “DO Tag”。 完成設定後,畫面如下。
Tag Name Address
DO_101 101
DO_102 102
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 27 / 77
ICP DAS Co., Ltd. Technical Document
2.4. 建立與編輯 eLogger 頁面
當 eLogger Runtime 在 PAC 內運行後,會先顯示 Page0 (可更改名稱)。本範例使用了 2 個頁面,
Page0 與 Page1。欲新增第 2 頁,請先點選 “Page”,再點選 “New” 按鈕,之後可更改新頁面的
名稱 (也可不更改)。
接著,點選左方的 “Page 1” 來編輯第 2 個頁面。首先,請選好 PAC 的 VGA 所使用的解析度。
XP-8xx7-CE6、WP-8x37 最大是 1024 * 768,而 WP-8x47、WP-5147/5147-OD 與 VP-4137 (可觸控)
最大是 800 * 600,VP-25W7 (可觸控) 最大是 640 * 480,VP-23W7 最大是 320 * 240。
1.
2.
3.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 28 / 77
ICP DAS Co., Ltd. Technical Document
2.4.1. 新增 Label 元件
本範例需在第 2 頁 (名稱 Page1) 新增一個 “Label” 元件,請先點選該元件。
接著,拖曳出適當的元件大小,並在屬性視窗內,更改所要顯示的內容、大小與顏色。
註: 點選元件即可顯示其屬性視窗,此外,您也可在元件上按右鍵,來剪下、複製、貼上 或
刪除該元件。
按右鍵
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 29 / 77
ICP DAS Co., Ltd. Technical Document
2.4.2. 新增 SwitchPage 元件
在 Page1 內點選 Button 來新增一個 SwitchPage 元件。
選擇 “Button Type” 為 “SwitchPage”,選擇 “Switch Page To” 為 “Page0”,並設定適當的
DisplayText、FontStyle 與 Fore_Color。
接著,您可依照上述相同的方式,在 Page0 新增一個 Label 與 SwitchPage 元件,並修改設定如
下圖。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 30 / 77
ICP DAS Co., Ltd. Technical Document
2.4.3. 新增 LED 元件
在 Page0 內,點選 LED 來新增一個 LED 元件。
此 LED 元件可用來控制 ISaGRAF 變數 - OUT_101 (在 eLogger 內對應的 DO Tag 為 DO_101),請
選擇 “Tag Type” 為 “DO Tag”、“Tag Name” 為 “DO_101”,ConfirmWindow 為 “True” (表示要先
詢問過後才可輸出),MouseControl 為 “True” (True 表示允許對此 Tag 輸出它的值,False 表示
只能讀值),之後設好其它適當的文字樣式與顏色。
註: 點選任一元件可顯示該屬性視窗,此外,您也可在元件上按右鍵,來剪下、複製、貼上 或
刪除該元件。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 31 / 77
ICP DAS Co., Ltd. Technical Document
2.4.4. 新增 Switch 元件
在 Page0 內,點選 Switch 來新增一個 Switch 元件。
設定 “Tag Type” 為 “DO Tag”,“Tag Name” 為 “DO_102”,ConfirmWindow 為 “True” (表示要先
詢問過後才可輸出),MouseControl 為 “True” (True 表示允許對該 Tag 輸出它的值,False 表示
只能讀值),之後設好其它適當的文字樣式與顏色。
然後可再新增 2 個 Label 來說明剛才新增的 LED 與 Switch 元件的用途 (參考 2.5.1 節)。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 32 / 77
ICP DAS Co., Ltd. Technical Document
2.4.5. 新增 Seven Segment 元件
點選 Seven Segment 可以新增一個 Seven Segment 數字元件。
設定 “Tag Type” 為 “AO Tag”,“Tag Name” 為 “Long_1” 與 “MouseControl” 為 “True” (True 表示
允許對該 Tag 輸出它的值,False 表示只能讀值)。此處 “Long_1” 資料型態為一個 32-bit Long,
因此不需要小數位數,所以將 “Decimal” 設為 “0”,而 “DigitalNumber” 設為 “10” (可以是 1 ~
24),若用戶的應用需限定現場操作人員只能輸入某範圍內的值,請再設定好適當的 “輸出極限值
(最小)” 與 “輸出極限值 (最大)”。最後,新增一個 Label 來說明該元件的用途。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 33 / 77
ICP DAS Co., Ltd. Technical Document
接著,請依上述方式再新增 2 個 Seven Segment 元件,並設定如下圖所示,再新增 Label 來
說明該元件的用途。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 34 / 77
ICP DAS Co., Ltd. Technical Document
2.4.6. 新增 Angular Gauge 元件
點選 Angular Gauge 來新增一個 Angular Gauge 元件。
設定 Tag Type 為 “AO Tag”,Tag Name 為 “Word_4”,MouseControl 為 “False”,ScaleMin 為
“0”,ScaleMax 為 “50” (此範例 ISaGRAF 程式會定義此值的輸出範圍為 0 ~ 50)。
然後設定 ColorSectionGreenStart 為 “0”,ColorSectionGreenStop 為 “20”,ColorYellowSectionStart
為 “20” 與 ColorYellowSectionStop 為 “40”。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 35 / 77
ICP DAS Co., Ltd. Technical Document
再設定 GaugeAngleMin 為 150 度 (即最小值是在 150 度的位置,反時針方向),GaugeAngleSpan
設為 120 度 (即整個錶頭展開是 120 度)。
例如:
最後,新增一個 Label (即,Word_4) 來識別該元件。
Label
GaugeAngleMin = 90 GaugeAngleSpan = 180
GaugeAngleMin = 180 GaugeAngleSpan = 180
0
90
180
270
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 36 / 77
ICP DAS Co., Ltd. Technical Document
2.5. 儲存 或 備份 eLogger 專案
恭喜您 ! 進行到此處,您已完成了第一個 eLogger 專案。
Page 0:
Page 1:
備份專案: 預設情況下,eLogger 會自動儲存專案。
注意: 設計完一個 eLogger 專案後,建議將
專案檔 (.wez) 備份起來,檔案預設會放在
C:\ICPDAS\eLogger\eLogger_Developer\Project\
,您也可以將檔案另存到新增的資料夾中
(例如: C:\........ \Project\backup)。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 37 / 77
ICP DAS Co., Ltd. Technical Document
2.6. 上傳 eLogger 專案
本範例在硬體上採用一台 WP-5147-OD + slot 0: XW304,軟體上則是採用 ISaGRAF SoftLogic 與
eLogger HMI。請先將 ISaGRAF 專案下載到 WP-5147-OD PAC 內 (參考 第 1.7 節),另外,PAC 內
必需已安裝好 eLogger Runtime (參考 第 2.1.2 節)。
點選 PAC 螢幕上的 My Device 進入 \System_Disk\eLogger\ 內,並執行 RuntimeCE.exe。
接著,在 PC 上的 eLogger Developer,執行遠端操作。請輸入 PAC 的 IP 位址,並點選 “Upload
Project & Web Pages” 按鈕來上傳專案。
註: 若 PAC 裡的 eLogger Runtime
未開啟,會出現無法連線的訊息。
1.
2.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 38 / 77
ICP DAS Co., Ltd. Technical Document
若上傳成功,PAC 上的 eLogger Runtime 會顯示該專案名稱 (eL_01.wez)。設計階段完成後,您可
勾選 Auto Run,表示 eLogger Runtime 啟動後,將自動執行此專案。此外,為了讓 PAC 開機
後,皆會自動啟動 eLogger Runtime,請先設定好 Auto Execution (如下所述)。
在 PAC 螢幕上運行 PAC_Utility,並設定第 2 個 “Auto Execution” 為 “\System_Disk\eLogger\
RuntimeCE.exe” (第 1 個 Auto Execution 需是各別 PAC 的 ISaGRAF Driver,例如: isaWP5xx7.exe)
,再點選 “Set” 按鈕,並點選 File Save and Reboot。
1.
2.
3.
4.
5.
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 39 / 77
ICP DAS Co., Ltd. Technical Document
2.7. 測試 eLogger HMI
PAC 開機後,eLogger HMI 畫面將顯示如下。您可試著點選任一元件來測試它,並將 ISaGRAF
連上 PAC (參考 1.7 節 – 步驟 3 ~ 5) 來觀察輸入的資料是否正確。例如:
1. 點選 “Float_5” 並輸入數值 “5.5” 再按 OK。
2. 您可見到 ISaGRAF 內,“Float_5” 的值變為 “5.5”。
註: ISaGRAF 專案運行時,此視窗才會顯示數值。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 40 / 77
ICP DAS Co., Ltd. Technical Document
由於 eLogger HMI 畫面會以全螢幕顯示,若想進行其他 PAC 操作 或 需上傳修改過的專案,
請在 PC 上的 eLogger Developer,執行遠端操作並點選 “Stop” 按鈕來關閉當前運行的專案,
之後再點選 “Run” 執行專案。
2.8. eLogger Runtime 問題解決
若上述方式無法關閉全螢幕的 eLogger HMI 畫面,您可在
安全模式下移除 “ICPDAS_eLogger.xml” 檔案。
請將 PAC 面板上的旋轉開關 (Rotary Switch) 切換到 1 的
位置,並重新開機。開機後 ISaGRAF 與 eLogger 都不會
自動 Run 起來,此時,用戶可進行 PAC 操作。
請進入 \System_Disk\eLogger\ 內,將 “ICPDAS_eLogger.xml”
刪掉 (或更改名稱),再將旋轉開關切換到 0 的位置,並
重新開機。
eLogger Runtime 再自動 Run 起來後,用戶就可再重新下載
變更過的專案。
注意: 請記得再勾選 eLogger Runtime 內的 “Auto Run” 選項。
執行專案 上傳專案
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 41 / 77
ICP DAS Co., Ltd. Technical Document
2.9. 其它 eLogger 進階功能
2.9.1. 設定比例值 (Gain) 與 偏移值 (Offset) 來做資料轉換
很多場合需要顯示的是 工程應用值 而非 整數資料值,例如: XW304 (6 AI, 1 AO, 4 DI, 4 DO),
當其 Rang 的設定為 0 時,表示用來量測 -5 ~ +5 V (可在 ISaGRAF 的 “I/O connection” 視窗內,
查看此 Equipments 的說明),而 ISaGRAF 的量測值會是一個 16-bit 有正負號的整數,範圍是
-32768 ~ +32767,這時若想在 eLogger 畫面上顯示 -5 ~ +5,就必須設定 Gain 與 Offset。
注意: 當 Gain 設為 1 與 Offset 設為 0 時,表示不進行資料轉換。
若 AI_7 是用來讀取 XW304 某個通道的值。(注意: “資料格式” 是 “16-bit Signed Integer” )
注意: eLogger 要與 ISaGRAF 的變數溝通,只能使用 AO Tag 區 與 DO Tag 區的變數。eLogger
的 AO Tag 可以跟 ISaGRAF 的 Integer、REAL、Timer、A/I 與 A/O 變數溝通。
點選 “Scaling” 按鈕 (如上圖),接著在 “Channel Type” 中選擇需轉換的值 (例如: -5 ~ 5 V),再
點選 OK。“Gain” 與 “Offset” 值將會自動填入對應的欄位中。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 42 / 77
ICP DAS Co., Ltd. Technical Document
資料轉換測試: 請先在頁面中新增一個 Seven Segment 元件,並設定如下:
1) “Tag Type” 設為 “AO Tag”
2) “Tag Name” 設為 “AI_7”
3) “MouseControl” 為 “False”
(True 表示允許該 Tag 輸出值,
False 表示只能讀值)。
4) “Decimal” 設為 “1”
5) “DigitalNumber” 設為 “3”
另外,請在 ISaGRAF 新增一個 “AI_7”
變數,並設定 “Attrib.” 為 “internal,
integer” 與 “Addr.” 為 “7”。
完成後,請下載並運行 ISaGRAF 與
eLogger 專案。接著,在 ISaGRAF
輸入 “AI_7” 的變數值為 “32767”。
此時,PAC 的 eLogger 畫面上將會顯示
轉換後的值 (AI_7 = 5.0)。
PC - ISaGRAF
PAC – eLogger HMI
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 43 / 77
ICP DAS Co., Ltd. Technical Document
2.9.2. 宣告多個名稱類似 與 格式相同的 eLogger Tag
在 eLogger 內可一次新增多個 Tag,並一次宣告為類似的名稱 (Tag Name) 與 相同的資料格式
(Data Type)。首先,我們新增 10 個 AO Tag 為例:
滑鼠點選第一筆並按住 “Shift” 鍵,再點選最後一筆來選取所有的 Tag,然後您可以選擇其中一種
資料格式 (例如: 32-bit Float),將所有的 Tag 設定為相同的資料格式 (Data Type)。
1.
2.
3. 點選並按住 “Shift” 鍵,
再點選最後一筆。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 44 / 77
ICP DAS Co., Ltd. Technical Document
如上述,選取所有 Tag 之後,也可設定為類似的名稱 (Tag Name) 與 說明 (Description)。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 45 / 77
ICP DAS Co., Ltd. Technical Document
2.9.3. 使用 ISaGRAF 程式來切換 eLogger HMI 畫面到某一頁
ISaGRAF 設定:
您可在 ISaGRAF 內宣告以下 2 個整數變數:
Name Format Attributes Network Address
說明
To_Page Integer Internal 8191
(Hex = 1FFF)
用來切換 eLogger 畫面
(初始值需設為 65535)
Current_Page Integer Internal 8190
(Hex = 1FFE) 用來讀取目前 eLogger 頁面編號
注意: eLogger Runtime 第 1.2.1.0 版起,才有支持此功能。
若整數變數 (To_Page) 的 Network address 設為 “8191” (16 進位為 1FFF),表示此變數值用來切換
eLogger 畫面到指定頁面,例如: 設定 “To_Page” = 5,則 eLogger HMI 就會切換到 Page5,然後
此變數的值會再還原為 65535。但是,若 “To_Page” 設為一個不存在的頁面編號,則 eLogger
HMI 並不會切換頁面 (因為該頁不存在)。
若整數變數 (Current_Page) 的 Network address 設為 “8190” (16 進位為 1FFE),表示 eLogger HMI
會自動更新此變數值為當前的頁面編號 (值可為 0,1,2,...)。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 46 / 77
ICP DAS Co., Ltd. Technical Document
eLogger 設定:
請宣告兩個 AO Tag,名稱為 “To_Page” 與 “Current_Page”。
您可新增數個頁面,並設計如下畫面。
接著,將 ISaGRAF 與 eLogger 專案下載到 PAC。您可變更 To_Page 的值,觀察是否跳到指定的
頁面,且 Current_Page 是否顯示當前的頁面編號。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 47 / 77
ICP DAS Co., Ltd. Technical Document
第 3 章 eLogger + ISaGRAF 範例程式
3.1. 取得 FAQ-115 的 ISaGRAF 與 eLogger 範例程式
請在此網址 http://www.icpdas.com/root/support/faq/isagraf_tc.php , FAQ-115 下載範例程式
(faq115_demo_chinese.zip) 並將此檔案解壓縮。
3.1.1. 開啟 eLogger 專案
若 User 想直接開啟 eLogger 專案,請將 “faq115_demo_chinese” 資料夾內的 eL_01.wez ~
eL_06.wez 複製到 PC 的 C:\ICPDAS\eLogger\eLogger_Developer\ Project\ 內,然後運行 eLogger
Developer,並點選 “Project > Open” 來開啟它。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 48 / 77
ICP DAS Co., Ltd. Technical Document
3.1.2. 開啟 ISaGRAF 專案
若 User 想直接開啟 ISaGRAF 專案,請將 “faq115_demo_chinese” 資料夾內的 eL_01.pia ~
eL_06.pia 複製到 PC 上任何位置 (例如: D:\TEMP\)。接著,執行 ISaGRAF 軟體 並 點選 “Tools >
Archive > Projects” 來回存所有的專案。
接著,滑鼠雙擊專案名稱來開啟該專案。
1
3
2
4
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 49 / 77
ICP DAS Co., Ltd. Technical Document
3.2. 如何使用 eLogger 網頁 (Web HMI)
ISaGRAF 專案為: eL_01.pia
eLogger 專案為: eL_01.wez, eL_01.wp
eLogger 提供了網頁功能,您可在 eLogger Developer 中設計專屬的 Web HMI 頁面,並自訂網頁
的登入帳號與密碼,也可匯入/匯出現有的網頁。將 eLogger 專案下載到 PAC 後,您可透過網頁
瀏覽器 (例如: Google Chrome, Internet Explorer, Firefox, Safari 與 Opera) 登入到 PAC 內的網頁,
並進行遠端控制。
本範例使用了 2 個網頁,名稱為 login (預設) 與 index1。若要新增網頁,請先點選 “Web Page”
,再點選 “New” 按鈕,之後可變更網頁名稱 (也可不更改)。另外,您可在此設定 Login 網頁的
帳號與密碼,也可匯入/匯出指定的網頁。
您也可在此輸入
網頁名稱後,再
按 New 按鈕。
點選可開啟 eLogger 使用手冊
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 50 / 77
ICP DAS Co., Ltd. Technical Document
3.2.1. 編輯 Login 網頁
eLogger Developer 預設提供了一個 login 網頁,您不可新增或刪除該頁的物件,只能修改物件的
屬性。另外,您可用滑鼠點選在頁面上,來修改頁面的底色,也可點選功能表的 “Background
Picture” 來設定網頁的背景圖片。註: 圖片將會儲存在 HTTP 路徑下的 WebBackPic 資料夾中。
請參考 第 2.1.2 節,在 PAC_Utility 中設定 HTTP 路徑。
此網頁中包含 2 個 Label、2 個 Text Box 與 1 個 Button,您可點選任一元件來顯示相應的屬性
視窗,並進行設定。
1
3
1 2 3
“True” 表示以密碼方式來
顯示輸入的內容。
2
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 51 / 77
ICP DAS Co., Ltd. Technical Document
3.2.2. 設計 eLogger 網頁
在 2.4 節中,我們說明了設計頁面 (Local HMI) 的方式,此章節將設計一個網頁 (Web HMI),讓
使用者可透過網頁瀏覽器對 PAC 進行遠端控制。
首先,您可點選功能表的 “Background Picture” 來設定網頁的背景圖片。
註: 此圖片會儲存在 PAC 內,HTTP 路徑下的 WebBackPic 資料夾中。
以下將介紹此 eLogger 網頁 (index1) 中,所使用的元件:
1) Label:
此網頁使用了 3 個 Label 元件 (即,DO_101、DO_102
與 Long_1),用來以文字標示各元件的用途。
1
2
3
4
Label Button
Picture Toggle
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 52 / 77
ICP DAS Co., Ltd. Technical Document
2) Picture Toggle:
此網頁使用了 2 個 Picture Toggle 元件,用來顯示或控制 DO Tag (即,DO_101、DO_102) 的
狀態,請設定為如下圖所示。
MouseControl: 設定為 “True” 表示可寫入 DO Tag 的狀態值;設定為 “False” 表示只能讀值。
Off/OnPicture: 設定 DO Tag 的狀態為 OFF 或 ON 時,需顯示的圖片。
(預設圖片: C:\ICPDAS\eLogger\eLogger_Developer\WebPic)
ValueTest: 設定為 “True” 來檢視 ON 的圖片;設定為 “False” 來檢視 OFF 的圖片。
圖片也會儲存在 PAC
內 \HTTP root\WebPic
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 53 / 77
ICP DAS Co., Ltd. Technical Document
3) Seven Segment:
此網頁使用了 1 個 Seven Segment 元件,用來顯示或
寫入 AO Tag (即,Long_1) 的數值。
請設定為如圖所示:
輸出極限值 (最小/最大): 設定為 -32768 ~ 32767。
Decimal: 小數位數,請設定為 0。
DigitalNumber: 顯示位數,請設定為 10。
MouseControl: 設定為 “True” 表示可讀/寫 AO Tag 值。
4) Button:
此網頁使用了 1 個 Button 元件,用來登出此網頁。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 54 / 77
ICP DAS Co., Ltd. Technical Document
3.2.3. 測試 eLogger 網頁 (Web HMI)
測試前,請確認 ISaGRAF (eL_01.pia,見 第 1.7 節) 與 eLogger 專案 (eL_01.wez,見 第 2.6 節)
已經上傳到 PAC 中,且網頁目錄 (base, WebBase) 已安裝 (見 第 2.1.2 節)。
1. 請開啟 PC 上的瀏覽器,並在網址列輸入 PAC 的 IP 位址 (例如: 192.168.79.23)。接著,輸入
您的帳號與密碼 (預設: admin/0000),並點選 Log in 按鈕來登入網頁。
2. 點選 Picture Toggle 元件,可設定 DO Tag 的狀態為 ON 或 OFF。另外,也可點選 Seven
Segment 元件,輸入數值再按 Set 按鈕,來變更 AO Tag 值。
3. 點選 LogOut 按鈕,可登出此網頁。
註: 若您想測試負值,必須先在 Local HMI 上設定 Long_1 為負值,以避免顯示錯誤。
Picture Toggle
Seven Segment
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 55 / 77
ICP DAS Co., Ltd. Technical Document
3.3. 如何在 eLogger + ISaGRAF 內,使用一個可瞬間 ON 之後再 OFF 的控制按鈕
ISaGRAF 專案為: eL_02.pia
eLogger 專案為: eL_02.wez
本範例當 Switch 元件被按下並設為 ON 後,ISaGRAF 程式會從 WP-5147-OD 的 COM1: RS-232
送出目前的 PAC 日期與時間一次,可以在 PC 上執行 Hyper-Terminal 開啟一個 RS-232 Port
(9600,8,N,1) 來接收此日期與時間資料。之後 eLogger 頁面上該 Switch 元件會自動還原回
OFF 狀態。
3.3.1. eLogger Developer 設定
請宣告一個 DO Tag,名稱為 “Switch1” 且記憶體位址為 “1”。
在 Page0 新增一個 Switch 元件,並設定如下:
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 56 / 77
ICP DAS Co., Ltd. Technical Document
3.3.2. ISaGRAF 設定
變數宣告:
Name Format Attributes Network Address
說明
Switch1 Boolean Internal 1 用來跟 eLogger Switch 溝通
TMP Boolean Internal 0
INIT Boolean Internal 0 宣告初值為 TRUE
STR1 Message Internal 0 宣告 Max. Length 為 64
Year1 Integer Internal 0
用來取得 PAC 的日期/時間
Month1 Integer Internal 0
Day1 Integer Internal 0
WeekDay1 Integer Internal 0
Hour1 Integer Internal 0
Minute1 Integer Internal 0
Second1 Integer Internal 0
滑鼠點選 “Dictionary” 按鈕,可進入變數宣告視窗。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 57 / 77
ICP DAS Co., Ltd. Technical Document
ST1 程式:
LD1 程式:
(* 在第一個 Scan 內開啟 COM1 串口為 9600,N,8,1,
"INIT" 必需宣告其初值為 True *)
if INIT then
INIT := False ; (* 只在第一個 Scan Cycle 內 Run 一次 *)
TMP := COMOPEN( 1 , 9600 , 8 , 0 , 1 ) ; end_if ;
(* 只在第一個 Scan Cycle 內 Run 一次 *)
if switch1 then
(* 轉換日期與時間為字串 , 比如 'Feb/18/2010,13:25:45' *)
str1 := time_str( year1 , month1 , day1 , weekday1 , hour1 , minute1 , second1 ) ;
str1 := str1 + MSG('$0D$0A') ; (* 在字串尾部加上 <CR><LF> *)
(* 送出該字串到 COM1 *)
TMP := COMSTR_W( 1 , str1 ) ;
switch1 := False ; (* 完成時, 將 "Switch1" 設回 False *)
end_if ;
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 58 / 77
ICP DAS Co., Ltd. Technical Document
3.3.3. 測試 “eL_02” 專案
請準備一條 RS-232 Cable 連接 WP-5147-OD 的 COM1 與 PC 的一個 RS-232 Port,然後將 PAC
開機,PC 則是運行 Hyper-Terminal 開啟 RS-232 Port 為 9600,8,N,1。
註: Windows 7 版本後的電腦中沒有安裝 Hyper-Terminal,您仍可於網路中下載該檔案 或其他
軟體 (例如: PuTTY、PieTTY 或 Tera Term)。
PAC - eLogger HMI:
按下 “Send_it” 按鈕,並設為 “ON” 來從 COM1 送出一個字串。
PC – Hyper Terminal (9600,8,N,1):
注意: 若您有重新下載 ISaGRAF 專案至 PAC,請執行 eLogger Developer 的遠端操作功能,
先停止 (Stop) 並再運行 (Run) eLogger 專案。(可參考 第 2.6 節)
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 59 / 77
ICP DAS Co., Ltd. Technical Document
3.4. 從一個 File 讀出/存入應用參數, 格式為實數
ISaGRAF 專案為: eL_03.pia
eLogger 專案為: eL_03.wez
本範例可以在 WP-5147-OD 的 eLogger HMI 畫面上,輸入 20 個應用參數值。這些數值會被存放
在 \System_Disk\Working_Real.txt 文字檔 (編碼: ANSI) 中,共有 2 列資料,每列資料各存放 10
個實數值, 類似如下:
23, 65.9, 0.12, 5.87, 88.2, 0.34, 8.5, -2.08, 4.08, 5.32 2, -7, 666.8, 456.07, 1.01, 5, 6, 7, 8, 9
eLogger HMI 畫面上會先使用 20 個 Seven Segment,來顯示運作中的 20 個應用參數值。再使用
20 個 Seven Segment,用來顯示或輸入修改的值。另外還有 3 個 Switch,用來從檔案 RE_LOAD
資料 或 RE_Store 資料到檔案 或 顯示目前資料是否 OK。
元件 數量 設定
Seven Segment (01-20)
20 Address: 101, 103, 105, ..., 139
MouseContrl: FALSE (可讀,不可寫入)
Seven Segment (21-40)
20 Address: 201, 203, 205, ..., 239
MouseContrl: TRUE (可讀,可寫入)
Switch 3 Address: 1, 2, 3
3.4.1. eLogger Developer 設定
DO Tag:
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 60 / 77
ICP DAS Co., Ltd. Technical Document
AO Tag:
您可先框選 “Working_Val_0” ~ “Working_Val_19”,並輸入第一個 “Memory Address” 為 “101”,再
框選 “Temp_Val_0” ~ “Temp_Val_19”,並輸入第一個 “Memory Address” 為 “201”,其餘位址將會
自動產生。
Page0:
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 61 / 77
ICP DAS Co., Ltd. Technical Document
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 62 / 77
ICP DAS Co., Ltd. Technical Document
3.4.2. ISaGRAF 設定
變數宣告:
Name Format Attributes Network Address
說明
TMP Boolean Internal 0
RE_LOAD Boolean Internal 1 設為 “TRUE” 來讀 File
RE_Store Boolean Internal 2 設為 “TRUE” 來存 File
INIT Boolean Internal 0 需宣告初值為 TRUE
Read_Data_OK Boolean Internal 3 True: 資料正確;False: 資料錯誤
Msg1 Message Internal 0 需宣告 Max. Length 為 128
str1 Message Internal 0 需宣告 Max. Length 為 255
TMP_file_name Message Internal 0 需宣告 Max. Length 為 128
File1 Integer Internal 0
Working_ReaL_VAL[0..19] Real Internal 101
目前工作中的應用參數
ISaGRAF 變數陣列 (Dim = 20),需
宣告第 1 個位址為 101 (Hex.=65)
TMP_Real_VAL[0..19] Real Internal 201 ISaGRAF 變數陣列 (Dim = 20),需
宣告第 1 個位址為 201 (Hex.=C9)
NUM1 Integer Internal 0
ii Integer Internal 0 For 迴圈的索引值
jj Integer Internal 0 For 迴圈的索引值
Data_Cnt Integer Internal 0
Row_Cnt Integer Internal 0 有幾列資料,本例需宣告初值為 2
Data_Cnt_in_Row Integer Internal 0 每列有幾個資料,本例需宣告
初值為 10
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 63 / 77
ICP DAS Co., Ltd. Technical Document
專案 (Project):
Load1 程式:
(* 第一個 PLC Scan 內的動作, INIT 的初值需宣告為 TRUE *)
if INIT then
(* 指定 Network Address 給變數陣列 *)
(* 指定 Working_Real_VAL[0..19] 的 Network Address 為 101 , 103, 105, ..., 139 *)
TMP := S_MB_ADR( 101 , 20 , 1 ) ;
(* 指定 TMP_Real_VAL[0..19] 的 Network Address 為 201 , 203, 205, ..., 239 *)
TMP := S_MB_ADR( 201 , 20 , 1 ) ;
(* 設定要儲存目前 Working parameters 的 File 路徑與名稱 *)
TMP_file_name := '\System_Disk\Working_Real.txt' ;
RE_LOAD := True ; (* PAC 剛開機, 要驅動去從 File 讀出 Working parameters 資料 *)
end_if ;
(* 若 RE_LOAD 被設為 TRUE, 開啟 File 並讀資料 *)
if RE_LOAD then
RE_LOAD := FALSE ; (* 還原為 FALSE *)
Read_Data_ok := False ; (* 一開始先設為資料錯誤 *)
Data_Cnt := 0 ; (* 一開始先設為還沒讀到資料 *)
File1 := f_wopen( TMP_file_name ) ; (* 開啟 File 為可讀可寫模式 *)
if File1 = 0 then
(* 開啟 File 失敗, 離開本 ST 程式 *)
Msg1 := 'Can not Open file ' + TMP_file_name ;
INIT := False ; (* 離開本 ST 程式前要將 INIT 設為 False *)
return ;
end_if ;
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 64 / 77
ICP DAS Co., Ltd. Technical Document
(* 讀出 file 內的 2 列資料, 每列有 10 個實數, 總共 20 個實數資料 *)
for ii := 0 to ( Row_Cnt - 1 ) do
if f_eof(File1) = TRUE then (* 測試是否已抵達 File 尾端 *)
(* 已抵達 File 尾端, 表示沒資料了 *)
Msg1 := 'There should be at least ' + MSG(Row_Cnt)+ ' rows in ' +TMP_file_name+ ' !!!' ;
exit ; (* 離開這個 For Loop *)
end_if ;
str1 := fm_read(File1) ; (* 從 File 內讀出一列字串 (Message) *)
(* 轉換字串內容為數個實數資料, 並將這些資料存放到 1 號 Float Array 內 *)
NUM1 := Msg_F( str1 , 1 );
if NUM1 <> Data_Cnt_in_Row then (* 本例一列需有 10 個實數資料 *)
(* 若非 10 個即為錯誤, 可能是 資料並非實數 或 資料數量太多或不夠 *)
Msg1 := 'The data format of No.' + Msg( ii + 1 ) + ' row is not correct or data number is not ' + MSG( Data_Cnt_in_Row ) ;
exit ; (* 離開這個 For Loop *)
end_if;
Data_Cnt := Data_Cnt + Data_Cnt_in_Row; (* 正確! 累加 Data_Cnt *)
(* 將此 10 個實數由 1 號 Float Array 內讀出並存入 TMP_Real_VAL[ ] 陣列內 *)
for jj := 0 to ( Data_Cnt_in_Row - 1 ) do
(* 這些資料原先是放在 1 號 Float Array 內的 addr. 1 到 10 *)
TMP_ReaL_VAL[ Data_Cnt_in_Row * ii + jj ] := ARY_F_R( 1 , jj + 1 ) ;
end_for ;
end_for ;
TMP := f_close(File1) ; (* File 有開啟過, 處理完後就必須要使用 f_close( ) 來關閉它 *)
(* 已讀出正確的 20 個資料 *)
if ( Data_Cnt = Row_Cnt * Data_Cnt_in_Row ) then
Msg1 := 'Read ' + TMP_file_name + ' Ok ' ;
Read_Data_Ok := True ; (* 設資料狀態為 『資料正確』 *)
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 65 / 77
ICP DAS Co., Ltd. Technical Document
Save1 程式:
(* 若此為第 1 個 Scan, 需將 TMP_Real_Val[ ] 值複製到 Working_ReaL_Val[ ] 內 *)
if INIT then
for ii := 0 to ( Data_Cnt - 1 ) do
Working_ReaL_VAL[ii] := TMP_ReaL_VAL[ii] ;
end_for ;
end_if ;
end_if ;
end_if ;
INIT := False ; (* 設為 False, 表示不再是第 1 個 PLC Scan 了 *)
(* 當 RE_Store 被設為 True 時, 將資料存入 File 內 *)
(* 此 "RE_Store" 之值可以被 eLogger HMI 來設為 True *)
if RE_Store then
RE_Store := False ; (* 還原回 False *)
Read_Data_ok := False ; (* 一開始先設資料狀態為錯誤 *)
Data_Cnt := 0 ; (* 一開始先設為 0 *)
TMP := f_delete( TMP_file_name ) ; (* 刪除舊 File *)
(* 建立一個新 File 來寫資料 *)
File1 := f_creat( TMP_file_name ) ;
(* 建立新 File 發生錯誤, 離開本 ST 程式 *)
if File1 = 0 then
MSG1 := 'Can not Create a new file - ' + TMP_file_name + ' !' ;
return ; (* 離開本 ST 程式 *)
end_if ;
(* File 格式為 2 列資料, 每列有 10 個實數, 總共 20 個實數資料 *)
for ii := 0 to ( Row_Cnt - 1 ) do
str1 := '' ; (* 一開始先設為空字串 *)
(* 將資列轉為字串, 1 列有 10 個實數資料 *)
for jj := 0 to ( Data_Cnt_in_Row - 2 ) do
str1 := str1 + Real_Str( TMP_ReaL_VAL[Data_Cnt_in_Row * ii + jj] ) + ', ' ;
end_for ;
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 66 / 77
ICP DAS Co., Ltd. Technical Document
Other1 程式:
(* 最後 1 個資料尾端要加上 <CR><LF> *)
str1 := str1 + Real_Str( TMP_ReaL_VAL[Data_Cnt_in_Row * ii + jj] ) + '$0D$0A' ;
(* 將此列字串寫入 File *)
TMP := F_writ_S( File1 , str1 ) ;
if TMP = False then
MSG1 := 'Write data to file - ' + TMP_file_name + ' failed !' ;
exit ; (* 寫入錯誤, 離開這個 For Loop *)
end_if ;
Data_Cnt := Data_Cnt + Data_Cnt_in_Row; (* 正確 ! 累加 Data_Cnt *)
end_for ;
TMP := f_close(File1) ; (* File 有開啟過, 處理完後就必須要使用 f_close( ) 來關閉它 *)
(* 資料儲存正確後... *)
if ( Data_Cnt = Row_Cnt * Data_Cnt_in_Row ) then
Msg1 := 'Write ' + TMP_file_name + ' Ok ' ;
Read_Data_ok := True ; (* 設狀態為 『資料正確』 *)
(* 複製 TMP_Real_Val[ ] 值到 Working_ReaL_Val[ ] *)
for ii := 0 to ( Data_Cnt - 1 ) do
Working_ReaL_VAL[ii] := TMP_ReaL_VAL[ii] ;
end_for ;
end_if ;
end_if ;
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 67 / 77
ICP DAS Co., Ltd. Technical Document
3.4.3. 測試 “eL_03” 專案
將 Working_Real.txt (編碼: ANSI,檔名需和程式裡相同) 放入 \System_Disk 路徑下。
註: 若此檔案不存在,eLogger 畫面的右上角會顯示按鈕文字 “Data Error”,且無數據資料。
此時,請使用 FTP 方式,將文字檔放在 \System_Disk 路徑下,並重新開機。
先下載 ISaGRAF 專案,再下載 eLogger 專案到 PAC 內。
您可更改 eLogger 畫面上 “New Val” 區域內的值,再點選 “Apply New Val” 按鈕,將數值更新
到 “Working Val” 區域。若 PC/ISaGRAF 有連上 PAC,也可以查看相對應的數值是否已更新。
點選 “Apply New Val” 後,
此數值已寫入文字檔中。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 68 / 77
ICP DAS Co., Ltd. Technical Document
3.5. 從一個 File 讀出/存入應用參數, 格式為整數
ISaGRAF 專案為: eL_04.pia
eLogger 專案為: eL_04.wez
本範例與 eL_03 類似,但資料格式為整數。請建立一個 Working_Int.txt 文字檔 (編碼: ANSI),共
有 2 列資料,每列資料各存放 10 個整數。使用 FTP 方式,將檔案放在 \System_Disk 路徑下。
您可開啟 ISaGRAF 與 eLogger 專案,來查看詳細的內容,並將專案下載至 PAC 中。
測試 “eL_04” 專案:
您可更改 eLogger 畫面上 “New Val” 區域內的值,再點選 “Apply New Val” 按鈕,將數值更新到
“Working Val” 區域。若 PC/ISaGRAF 有連上 PAC,也可以查看相對應的數值是否已更新。
讀取檔案內的值
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 69 / 77
ICP DAS Co., Ltd. Technical Document
3.6. 從不同 File 讀出/存入應用參數, 格式為實數
ISaGRAF 專案為: eL_05.pia
eLogger 專案為: eL_05.wez
本範例與 eL_03 類似,資料格式也為實數,但可以儲存多組應用參數到不同的 File 內。請建立
一個 Working_Reals.txt 文字檔 (編碼: ANSI),共有 2 列資料,每列資料各存放 10 個實數,接著
使用 FTP 方式,將檔案放在 \System_Disk 路徑下。您可開啟 ISaGRAF 與 eLogger 專案,來查看
詳細的內容,並將專案下載至 PAC 中。
註: 文字檔的名稱與位置需和程式裡定義的一樣,且可填入與範例 eL_03 相同的資料值。
測試 “eL_05” 專案:
請將 PC/ISaGRAF 連上 PAC,並查看變數清單。
目前讀取/寫入的檔案名稱。
最多可 100 個檔案。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 70 / 77
ICP DAS Co., Ltd. Technical Document
一開始,eLogger 畫面會顯示 \System_Disk\Working_Reals.txt 的資料值。您可設定 “Which_File”
的值 (n = 1 ~ 100),並將資料值寫入到指定的 Backup_Reals_n.txt (若無此檔案,會自動建立)。
測試:
修改 “New Val” 區域的任一值,並設定 “Which_File” 為 “2”,再點選 “Apply New Val” 按鈕
將資料值寫入到 \System_Disk 路徑下的 Backup_reals_2.txt 與 Working_Reals.txt (其資料值將
會顯示在 “Working Val” 區域)。
此例,若點選 “Store_No_Apply” 表示 “New Val” 區域的新值,將寫入到 Backup_reals_2.txt,
但不會寫入到 Working_Reals.txt ( “Working Val” 區域)。
此例,若點選 “Re_Load” 表示將讀取
Backup_reals_2.txt 內的值,並顯示在
“New Val” 區域。
將 PC/ISaGRAF 連上 PAC 後,
即可見到此變數清單。
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 71 / 77
ICP DAS Co., Ltd. Technical Document
3.7. 讀取與變更 PAC 的日期/時間 與 進行時間控制
ISaGRAF 專案為: eL_06.pia
eLogger 專案為: eL_06.wez
本範例可用來顯示或變更 PAC 的日期與時間,另外可在週一到週五 09:00 ~ 18:00 將 OUT1 輸出
為 ON,週六至週日 09:00 ~ 12:00 將 OUT2 輸出為 ON。
3.7.1. eLogger Developer 設定
AO Tag: DO Tag:
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 72 / 77
ICP DAS Co., Ltd. Technical Document
Page0:
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 73 / 77
ICP DAS Co., Ltd. Technical Document
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 74 / 77
ICP DAS Co., Ltd. Technical Document
3.7.2. ISaGRAF 設定
變數宣告:
Name Format Attributes Network Address
說明
Set_Time Boolean Internal 101 設為 True 來變更日期與時間
Refresh_Time Boolean Internal 102 刷新為目前日期/時間
OUT1 Boolean Internal 0 連到 XW304 的 DO0
OUT2 Boolean Internal 0 連到 XW304 的 DO1
Time_Val Integer Internal 0 宣告初值為 0
Year1 Integer Internal 1 取得 年
Month1 Integer Internal 2 取得 月
Day1 Integer Internal 3 取得 日
Hour1 Integer Internal 4 取得 時
Minute1 Integer Internal 5 取得 分
Second1 Integer Internal 6 取得 秒
WeekDay1 Integer Internal 0 取得 星期幾
W_Year1 Integer Internal 11 新的 年
W_Month1 Integer Internal 12 新的 月
W_Day1 Integer Internal 13 新的 日
W_Hour1 Integer Internal 14 新的 時
W_Minute1 Integer Internal 15 新的 分
W_Second1 Integer Internal 16 新的 秒
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 75 / 77
ICP DAS Co., Ltd. Technical Document
I/O 連結:
LD1 程式:
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 76 / 77
ICP DAS Co., Ltd. Technical Document
ST1 程式:
(* 單位為秒, 0 ~ 86399
Time_val := 3600 * Hour1 + 60* Minute1 + Second1 ; *)
(* 單位為分, 0 ~ 1439 *)
Time_Val := 60 * Hour1 + Minute1 ;
OUT1 := False ; (* 一開始先設為 False *)
OUT2 := False ;
(* 週一至週五 9:00 到 18:00 將 OUT1 設為 True *)
if (WeekDay1 >= 1) and (WeekDay1 < 6) and
(Time_Val >= 540) and (Time_Val < 1080) then
OUT1 := True ;
end_if ;
(* 週六至週日 9:00 到 12:00 將 OUT2 設為 True *)
if (WeekDay1=6) and (WeekDay1=7) and
(Time_Val >= 540) and (Time_Val < 720) then
OUT2 := True ;
end_if ;
(* 刷新為目前的日期與時間 *)
if Refresh_Time then
Refresh_Time := False ; (* 還原回 False *)
W_Year1 := Year1 ;
W_Month1 := Month1 ;
W_Day1 := Day1 ;
W_Hour1 := Hour1 ;
W_Minute1 := Minute1 ;
W_Second1 := Second1 ;
end_if ;
Classification ISaGRAF Chinese FAQ-115 Author Chun
Editor Janice Hong Version 1.0.5 Date 2017, 12 Page 77 / 77
ICP DAS Co., Ltd. Technical Document
3.7.3. 測試 “eL_06” 專案
點選 “Update the Current Date/Time” 可將目前 PAC 的日期/時間,更新到 “Set New” 的部份。
點選下方 “Set New” 的元件並設定新的日期/時間,再點選 “Set as New Date / Time” 按鈕,來
變更上方 “Current” 元件的日期/時間。
1. 2.
3.
1.
2.