•   
    •   
      •   
      •   
      •   
    •   
      •   
      •   
      •   
      •   
        •   
        •   
        •   
        •   
        •   
    •   
      •   
        •   
        •   
        •   
      •   
        •   
        •   
      •   
        •   
        •   
        •   
      •   
        •   
        •   
        •   
        •   
        •   
        •   
        •   
      •   
        •   
        •   
          •   
          •   
          •   
          •   
          •   
          •   
        •   
        •   
        •   
      •   
        •   
        •   
        •   
    •   
      •   
        •   
        •   
        •   
        •   
        •   
      •   
        •   
        •   
        •   
        •   
        •   
        •   
          •   
          •   
      •   
        •   
        •   
          •   
          •   
          •   
          •   
          •   
        •   
          •   
          •   
          •   
          •   
          •   
        •   
          •   
          •   
          •   
        •   
        •   
          •   
          •   
          •   
            •   
            •   
            •   
            •   
          •   
          •   
          •   
          •   
          •   
          •   
          •   
          •   
          •   
          •   
          •   
        •   
          •   
          •   
      •   
      •   
      •   
        •   
        •   
        •   
        •   
        •   
          •   
          •   
          •   
            •   
            •   
            •   
        •   
      •   
        •   
        •   
        •   
        •   
        •   
          •   
          •   
          •   
          •   
          •   
        •   
        •   
      •   
        •   
        •   
        •   
        •   
        •   
        •   
      •   
        •   
          •   
          •   
          •   
          •   
          •   
          •   
        •   
          •   
          •   
          •   
          •   
        •   
          •   
            •   
            •   
          •   
          •   
          •   
          •   
          •   
          •   
          •   
        •   
          •   
          •   
          •   
          •   
          •   
          •   
        •   
        •   
        •   
      •   
    •   
  •   
    •   
    •   
    •   
    •   
    •   
    •   
    •   
    •   
    •   
  •   
  •   
  •   
  •   
  •   

1.線上手冊:

1.1.關於 ICDT WEB HMI:

ICDT WEB HMI 為 元米科技 開發電腦版全中文化介面監控軟體,集圖控畫面編輯器、圖控顯示器、網頁圖控顯示於一身。支援 BACnet/IP、MODBUS RTU Master、MODBUS TCP Client 與 MODBUS TCP Server 協定,搭配網頁伺服器功能,可支援市面主流的瀏覽器、智慧手機與平板電腦,不需要安裝額外程式即可遠端監控。
ICDT WEB HMI 可以用最低的成本、最便利的編輯工具,實現 BACnet/IP、MODBUS RTU 設備與 MODBUS TCP 設備遠端網頁監控的目的。




WEB HMI 執行模式分為 免費試用模式與授權模式,其中:免費試用模式的通訊埠數以及可連線設備數量受到限制,不支援 警報、記錄表等進階功能,並且會在運行 2 小時後中斷連線(必須關閉程式重新啟動)。
安裝程式保護鎖後可運行授權模式本,授權模式本沒有對連線數量進行限制(但實際連線數量仍可能受電腦及網路效能限制),同時含了警報、趨勢記錄、時程表等進階功能。程式保護鎖以 USB 保護鎖為主,可以訂製軟體保護鎖版本,或申請網路授權程式保護鎖進行短時間全功能驗證。

本程式內含 Nancy 網頁伺服器並使用 SQLite 資料庫,可不必安裝額外套件。如果有資料庫整合需求,可安裝 MySQL 資料庫(透過 Appserv 套件https://www.appserv.org/) 。如果需要開啟 HTTPS 功能,也可以選擇 Appserv 套件安裝 Apache + PHP 外部網頁伺服器。但必須注意,使用內置網頁伺服器時 PHP 功能將會被移除,外部網頁伺服器將無法同時連接本圖控系統。

因此本程式網頁伺服器與資料庫搭配使用的選項可以有:
1. Nancy + SQLite (本程式預設功能不需額外套件)
2. Nancy + MySQL (透過 Appserv 套件 安裝 MySQL )
3. Apache + PHP + MySQL(皆透過 Appserv 套件)
外部網頁伺服器僅支援 MySQL 資料庫,不支援 SQLite 資料庫

1.1.1.硬體需求:

■ CPU 建議為 1 GHz Dual-Core 64Bit 雙核心或以上產品
■ 4GB 以上 RAM
■ 64 GB 以上硬碟
■ 具備乙太網路介面
■ 具備實體 RS232/RS485 通訊介面或 USB RS232/RS485 通訊轉換器。如電腦通訊介面為 RS232 而 MODBUS Slave 設備為 RS485 時,必須增加 RS232 轉 RS485 轉換器

1.1.2.軟體需求:

■ Windows 7 / Windows 8 / Windows 10 / Windows 11作業系統
■ Microsoft .NET Framework 4.8 或以上版本
■ 可選擇 額外安裝 APPSERV 套件 。(安裝方式安裝網頁伺服器)

1.1.3.瀏覽器需求:

■ PC 版本 MSEdge、Chrome、Firefox、Apple Safari、Opera 等主流瀏覽器可直接訪問,不需下載任何插件,也不須執行 Flash 或 Java ,但必須開放 Cookie (此為各瀏覽器預設選項,不需變更即可)
■ Android 6.0 以上手機、平板或 iPad 與 iPhone 等預設瀏覽器皆可直接瀏覽

1.2.安裝:

1.2.1.安裝網頁伺服器:

★無 HTTPS 與 MySQL 資料庫整合者可略過此步驟
本程式內含 Nancy 網頁伺服器並使用 SQLite 資料庫,可不必安裝額外套件。如果有資料庫整合需求,可透過 Appserv 安裝 MySQL 資料庫(開放原始碼的 MySQL Community 免費社群版)。如果需要開啟 HTTPS 功能,也可以選擇 Appserv 套件安裝 Apache + PHP 外部網頁伺服器 + 裝 MySQL 資料庫
★使用內置網頁伺服器時 PHP 功能將會被移除,因此外部網頁伺服器將無法同時連接本圖控系統。
★外部網頁伺服器僅支援 MySQL 資料庫,不支援 SQLite 資料庫。


AppServ 安裝方式如下:

■ 至 AppServ 官網http://www.appservnetwork.com/下載 AppServ 9.3.0 或 8.6.0 版本。
■ 以系統管理員身分安裝下載之程式 (例如 appserv-x64-9.3.0.exe)



■ 選擇 Next 進行安裝
■ License Agreement 頁閱讀後接受其授權(選擇 I Agree)
■ Choose install Location 頁安裝路徑建議使用其預設的 "C:\AppServ\"



■須安裝網頁伺服器時 必須勾選 "Apache HTTP Server" 以及 "PHP Hypertext Preprocessor",須安裝 MySQL 資料庫時勾選 "MySQL Database","phpMyadmin" 則視需要勾選 。



■ Apache HTTP Server Information 設定頁的 "Server name" 選項可直接輸入 "localhost" 或你的網址,"Administrator's Email Address" 則輸入管理者信箱(本程式未用到此信箱)。Apache HTTP Port 則建議選擇預設的 80 Port,HTTPS 預設為 443。
必須注意 Server name 不可以有空格,否則可能無法順利啟動 Apache!



■選擇安裝 MySQL出現 "MySQL Server Configuration" 設定頁,此時必須輸入 root 密碼,此密碼會是日後使用 MySQL 資料庫時的預設 root 密碼



■ 完成安裝後可以勾選 "Start Apache" 並按下 Finish 來啟動 Apache 網頁伺服器



■ 如果電腦安裝過 IIS 或其他程式佔用 80 Port(例如Skype),則Apache 無法順利啟動,必須先加以移除或修改設定
■ 開啟電腦瀏覽器(例如 MSEdge 、 Firefox 或 Chrome 等)於網址頁輸入 "http://localhost",當網頁出現 "The AppServ Open Project - ..."頁面時,表示安裝完成,如無法正常顯示應檢查是否其他程式佔用 80 Port,並重新開機。


1.2.2.安裝ICDT WEB HMI:

將安裝檔解壓縮後點選執行 ICDT HMI.msi (或 setup.exe) 安裝於預設路徑,安裝過程中可能會要求安裝Microsoft .NET Framework 4.0 ,因此必須連接上網際網路以利下載。
安裝前如出現 Windows Defender SmartScreen 的阻擋安裝建議,則選擇 其他資訊->仍要執行 仍進行安裝













1.2.3.更新與移除 ICDT WEB HMI:

ICDT WEB HMI 於異常修正或增加功能時會於網站上發布最新的版本,可以於以下網址下載後進行更新:http://bit.ly/39M8Rh4

更新 ICDT WEB HMI 必須先移除現有版本,可執行 Uninstall ICDT WEB HMI 或於"新增或移除程式"中移除

1.2.4.首次啟動:

首次啟動 ICDT WEB HMI 會彈出防火牆通知,請依照使用狀況勾選網路並點擊 允許存取 按鈕



如果未正確設定防火牆則圖控系統無法被區域網路內其他設備瀏覽。

首次啟動 ICDT WEB HMI 或網頁伺服器、資料庫程式變更時,可能因為會在啟動時彈出部分對話視窗要求設定。
未編輯專案時,預設的帳號與密碼皆為 root,也就是彈出視窗內的預設值,直接按下確認即可以最高 Admin 權限登入,進行所有設定


1.2.4.1.設定網頁根路徑:

專案資料位置應該在網頁伺服器預設的根目錄下網頁才能正常顯示,第一執行可能要求設定網頁伺服器的根路徑



如果是外部的 APPSERV(Apache)網頁伺服器,則依照其設定選擇(例如 C:\AppServ\www),如果是使用內部的網頁伺服器,則可以自行指定一的文件下的路徑(例如 C:\Users\Eric\Documents\www)


1.2.4.2.編輯或選擇專案:

手次進入可能因為未設定專案而要求進行專案編輯





此時可輸入專案名稱(副檔名為 .phm,例如 project1.phm),如果已經有現成專案範例放在網頁根路徑下,則選擇專案定義檔即可(例如 demo.phm),專案編輯請參考編輯


(選擇現有專案出現的提示)

1.2.4.3.安裝 PHP 程式碼:

首次執行或是更新軟體版本時,離開專案編輯可能會顯示安裝網頁程式碼的提示。將 ICDT WEB HMI 所需的 PHP 程式碼與 JavaScript 程式碼安裝於網頁根路徑下。



由不同版本 的 ICDT WEB HMI 時會自動比對 程式碼差異後,提示執行此動作。

使用內置網頁伺服器時 PHP 功能將會被移除,因此外部網頁伺服器將無法同時連接本圖控系統。

注意!! 除了 jQuery 等開源程式碼依循其原有授權方式外,其餘 PHP、JavaScript 與 HTML 程式碼版權皆屬元米科技所有,任何人不得解碼、複製部份或全部程式碼作其他用途,否則將依著作權法追訴。

1.2.4.4.選擇網頁伺服器:

執行瀏覽圖控專案,如果網頁伺服器未正確設定將無法正常透過瀏覽器操控,系統會彈出對話框要求設定
例如當未使用外部網頁伺服器,或是 HTTP Port 未正確設定(預設為 80),則會彈出開啟內置網頁伺服器的建議



如果使用內置網頁伺服器且 HTTP Port 已經被其他 IIS、Apache 等網頁伺服器占用,則會建議關閉內置網頁伺服器,或是調整 HTTP Port (例如 8000,但如此一來,網址就要由 http://127.0.0.1 改為 http://127.0.0.1:8000)



必須注意,使用內置網頁伺服器時 PHP 功能將會被移除,因此外部網頁伺服器將無法同時連接本圖控系統。



開啟內置網頁伺服器並設定 HTTP Port 時,系統可能彈出 "您是否允許此 App 變更您的裝置 網路命令殼層" 對話框,此時需要按下 是 以授權變更內容


1.2.4.5.預設瀏覽器:

ICDT WEB HMI 使用 MSEdge 或 Chrome 作為預設的瀏覽器,如上述瀏覽器未安裝於預期的位置或需要改變為另一種瀏覽器作為預設,則可以於 工具->選項->顯示 中加以變更



ICDT WEB HMI V2.2.0.0 版已移除舊版單機顯示模式,以避免嵌入網頁等功能無法顯示的相同性問題。

1.3.運行:

ICDT WEB HMI 為本程式的主要介面,提供 UDP 通訊與網頁伺服器的 PHP 程式碼溝通,並透過通訊埠 (串口、COM port) 連結實體的 MODBUS RTU Slave 設備以及 BACnet/IP 與 MODBUS TCP 通訊和其他進階服務。 ICDT WEB HMI 必須常駐於電腦中,否則網頁伺服器將無法正常運行


ICDT WEB HMI 為電腦常駐程式,為避免在執行持程式列被不慎關閉,當縮小 ICDT WEB HMI 程式時會自動移到右下角工具列(NotifyIcon),點選工具列小圖示後及回覆正常大小。


1.3.1.即時狀態:

1.3.1.1.活動記錄:

ICDT WEB HMI 的重大操作例如切換專案、編輯專案、執行程式、離開程式與清除記錄等操作當會留下記錄。點選 活動記錄 標籤可以檢視活動記錄 內容。
活動記錄 與專案的操作記錄差異在於專案的操作記錄僅依照專案設定記錄於專案資料庫中,而活動記錄則會顯示最近 200 次的重要記錄,其記錄內容是跨專案的,也不需要啟用 資料庫。


1.3.1.2.事件:

點選 事件 標籤可以檢視事件視窗。當 執行模式 進行資料記錄、資料傳輸、警報處理或部份系統異常發生時,則事件視窗將顯示該訊息,但超過 200 筆以上的訊息將被捨棄。


1.3.1.3.通訊狀態:

點選 通訊狀態 標籤可以檢視通訊狀態視窗以顯示傳送接收通訊碼供異常排除,可個別選擇開啟要顯示的通訊項目。

選擇"暫停"或"繼續"按鈕可以停止或繼續通訊碼的顯示,暫停動作只會停止顯示,而不會停止通訊,暫停時的通訊碼將會被捨棄。



注意!! 使用較低階電腦在通訊較忙碌場合中,通訊狀態顯示可能大幅增加電腦負荷,請於必要時使用此功能。
注意!! 如果要停止通訊埠的佔用,必須選擇編輯專案或直接關閉 ICDT WEB HMI 程式,在通訊記錄視窗點選暫停鍵則無法達到該目的。

1.3.2.專案:

1.3.2.1.切換專案:

專案經過 ICDT HMI 編輯器編輯並儲存後,會自動生成需要的網頁資料於專案路徑中,此時無論是否切換專案,都可以在網頁上同時訪問到其網頁(例如 project1 專案 http://localhost/project1_/home.htm 以及 demo 專案 http://127.0.0.1/demo_/home.htm 同時可以在瀏覽器開啟),但由於不支援多專案模式,ICDT WEB HMI 允許通訊的對象只有 ICDT WEB HMI 目前設定的唯一專案,因此其他專案可能回應錯誤資訊



切換專案時可以直接選擇專案,或選擇近期使用的專案。切換專案後會詢問 "專案不在預設的網頁路徑中,要複製到預設網頁路徑嗎?"此時如果選擇 "是",則自動產生一個 index.html 檔案,將網頁跟路徑轉址到專案路徑的 home.htm 中( 例如 project1 專案 http://127.0.0.1/project1_/home.htm )。設定轉址
切換專案時,除了必須登入目前管理員(Admin)帳號,同時必須於切換後成功登入該專案的管理員帳號,否則切換作業將被取消。

1.3.2.2.編輯模式:

選擇編輯專案並且輸入目前專案的系統管理者 (Admin) 帳號密碼後,程式將停止通訊,並開啟 ICDT HMI 編輯器,以進行編輯。離開編輯器時,如果專案變更時會切換到最後編輯的專案。



部份瀏覽器如 Chrome 等具備頁面資料暫存(catch)功能,因此再開啟的頁面未必是編輯後新的資料,可能必須在瀏覽器按右鍵選擇 "重新載入",以強制要求更新資料

1.3.3.網頁:

1.3.3.1.設定轉址:

將網頁根路徑下移除 index.php 並增加 index.html 指向目前專案路徑的 home.htm 檔案,以利瀏覽網頁時,自動跳到指定專案。由於部分瀏覽器會保留先前瀏覽紀錄,此動作可能造成轉址失效,因此可能需要清除瀏覽器的紀錄(例如 google chrome 瀏覽器的 工具->清除瀏覽資料->清空快取),才能順利轉址。



如果網頁伺服器有其他用途,不希望預設的頁面轉到此專案,請勿進行此項操作,以免誤將系統根路徑的 index.php 與 index.html 變更。此時必須自行手動輸入專案網址,例如 專案名稱為 demo 則必須輸 http://127.0.0.1/demo_/home.htm。注意專案名稱後必須加底線

1.3.3.2.匯出所有網頁:

進行專案編輯時會自動重新針對變更的頁面產生網頁檔案於專案路徑中,點選 網頁->匯出所有網頁 可重新再生所有網頁。



當專案資料在預設的網頁根路徑時(例如 demo 專案已經在預設 C:\AppServ\www 路徑下),則頁面局部變更會在儲存時匯出單一頁面,但如果器件設定變更或做其他專案設定變更,建議重新匯出所有網頁,以免網頁的器件對應錯誤。專案資料沒有在網頁根路徑時,任何變更更必須執行一次匯出所有網頁,才能將專案資料複製到網頁根路徑下。



專案資料沒有在網頁根路徑時,在匯出所有網頁彈出的對話框,勾選是將檔案複製於網頁根路徑下。
操作前應確認網頁根路徑下並沒有相同名稱的專案,否則原有網頁根路徑的專案資料會被刪除而無法復原!

由於不同版本 的 ICDT WEB HMI 可能使用不同的網頁程式碼,因此進行系統更新時建議進行一次此項操作。

匯出過程中如發現 PHP 程式碼版本不相容,會提示進行安裝 PHP 程式碼,請依指示確認操作。

1.3.3.3.開啟網頁:

如正確設定專案與預設瀏覽器預設瀏覽器,可以由 網頁->開啟網頁 打開專案圖控頁面,或以瀏覽器開啟 http://127.0.0.1 (亦即本身瀏覽器根路徑),以開啟專案頁面。如果不能正常開啟,則可能原因如下:
■ 網頁伺服器未正確安裝安裝網頁伺服器選擇網頁伺服器
■ 網頁根路徑設定錯誤設定網頁根路徑
■ 專案未正確安裝於網頁根路徑下
■ 程式通訊被防火牆封鎖,請開啟 Windows 設定 防火牆與網路保護 ->進階設定->輸入規則 確認網路的私人或公用是否被授權如額外裝有防毒軟體時,可能需要另外設定防毒軟體的防火牆
■ 未正確安裝 PHP 程式碼 安裝 PHP 程式碼,雖然內置網頁伺服器不需要 PHP 程式碼,但仍有部分的 JavaScript 與 CSS 程式碼必須正確安裝,才能正常顯示
■ 未成功設定轉址以產生 index.html 將頁面指向專案設定轉址
■ 如果採用外部網頁伺服器(如 Apache)而 HTTP Port 不是在預設的 80 時,可以在 選項->網頁->HTTP Port 進行設定。


(網頁伺服器與 HTTP Port 選擇設定)

預設瀏覽器必須正確指向 MSEdge 或 Chrome 瀏覽器執行檔位置,才能以 開啟網頁 按鈕連結專案


(預設瀏覽器設定)



(開啟網頁 顯示範例)

1.3.4.檢視:

1.3.4.1.歷史警報:

警報發生或回到正常時會產生警報通知,此時會被記錄在預設的 MySQL (或 SQLite) 資料表中。當警報資訊被操作者確認時,也會將確認時間與確認者資訊一同記錄到相對欄位。


檢視 歷史警報 時,將顯示專案資料庫的 alarmlog 表單內容,可以設定一次顯示的資料筆數,並利用按鈕向前或向後查看。

選擇篩選條件後按下重新整理鈕可以依照設定的條件進行查詢。

點選日期處可以選擇資料開始日期與結束日期,維持 ----/--/-- (日曆表出現時按下 鍵盤 Delete) 則表示忽略該時間限制。

按下每項警報欄位名稱按鈕也可以依照該項內容,對於顯示的資料進行排序。

表單可以匯出 CSV 檔,或選擇輸出列印,如果點選 清除紀錄會將資料庫中的相關資料清空。

警報點的設定則同樣在編輯模式下,由服務選項的警報單元進行設定。

1.3.4.2.目前警報:

當收到新的警報訊息時,ICDT WEB HMI 會在右下方開啟警報視窗,以顯示目前未確認的內容。警報訊息會目前警報狀態做顏色區隔,以利於辨識警報的類型。此時會每隔 10 秒發出一次警報提示音效,直到確認警報、暫時隱藏、或關閉警報音效等。



確認警報必須是操作等級 5 以上的使用者才能被授權,確認後會將確認時間與確認帳戶一起記錄在歷史警報資料表中。

如果警報被設定連結頁面時,按下目前警報鈕選擇 "否" 可以直接開啟連結頁面,以獲得更進一步資訊,按下 "是"則進行警報確認動作。

在警報視窗按右鍵選擇『全部確認』可一次確認所有警報,或選擇『暫時隱藏』以關閉警報視窗,利於未被授權者可以繼續操作。被隱藏的警報會在下一次警報發生時顯示,或按下 檢視->目前警報 以開啟警報視窗。

警報點的設定必須在編輯模式下,由服務選項的警報單元進行設定。

1.3.4.3.記錄曲線:

選擇記錄表與需要顯示的資料後,開啟歷史曲線方框以供查閱



必須注意此功能僅限 MySQL (或 SQLite)記錄的資料,因此在編輯記錄功能時,如果只有勾選 儲存CSV ,而未設定 記錄資料表時,將無法選擇加以顯示。



V1.6.0.0 開始記錄曲線在顯示時,如果未做任何操作,將會每分鐘自動刷新一次。

1.3.4.4.趨勢記錄:

選擇記錄表與需要顯示的資料後,以資料表方式顯示歷史資料。



開啟歷史警報表單可以設定一次顯示的資料筆數,並利用按鈕向前或向後查看。

點選日期處可以選擇資料開始日期與結束日期,維持 ----/--/-- (日曆表出現時按下 鍵盤 Delete) 則表示忽略該時間限制。

按下 COV 鍵將忽略記錄值全部相同的資料,僅顯示有變化部份。

表單可以匯出 CSV 檔,或選擇輸出列印,如果點選 清除紀錄會將資料庫中的相關資料清空。

1.3.4.5.通訊記錄:

V1.6.0.0 版以後新增 通訊記錄 功能,在編輯模式 編輯設備 時,如果勾選 『通訊記錄』 後,在運行模式如果需要讀取該點數值而無法正常讀取以及恢復正常時留下進行記錄。



檢視 通訊記錄 時,將顯示專案資料庫的 commlog 表單內容,可以設定一次顯示的資料筆數,並利用按鈕向前或向後查看。

點選日期處可以選擇資料開始日期與結束日期,維持 ----/--/-- (日曆表出現時按下 鍵盤 Delete) 則表示忽略該時間限制。

按下每項欄位名稱按鈕也可以依照該項內容,對於顯示的資料進行排序。

表單可以匯出 CSV 檔,或選擇輸出列印,如果點選 清除紀錄會將資料庫中的相關資料清空。

通訊記錄 功能 的斷線與恢復連線的條件判斷,都必須在讀取該設備的數值的條件下,如果系統不需要讀該設備的點,則不會進行偵測。


1.3.4.6.操作記錄:

V1.6.0.0 版以後新增 操作記錄 功能,在運行模式下,進行重要操作、數值設定等,都會記錄於專案資料庫的 operationlog 表單中。

檢視 操作記錄 時,可以設定一次顯示的資料筆數,並利用按鈕向前或向後查看。

點選日期處可以選擇資料開始日期與結束日期,維持 ----/--/-- (日曆表出現時按下 鍵盤 Delete) 則表示忽略該時間限制。

如果是透過網頁操作,會在位置欄顯示來源 IP,如果本機操作則位置欄空白。除此之外,網頁操作與本機操作記錄的描述方式也會有所不同。
必須注意如果來源 IP 是其他的區域網路,則可能記錄的是該 Gateway 的 IP 地址。

按下每項欄位名稱按鈕也可以依照該項內容,對於顯示的資料進行排序。

表單可以匯出 CSV 檔,或選擇輸出列印,如果點選 清除紀錄會將資料庫中的相關資料清空。


1.3.4.7.狀態記錄:

V1.6.0.0 版以後新增 狀態記錄 功能,在運行模式下讀取監視點,並於狀態改變時記錄於專案資料庫的 covlog 表單中。

檢視狀態記錄 時,可以設定一次顯示的資料筆數,並利用按鈕向前或向後查看。

點選日期處可以選擇資料開始日期與結束日期,維持 ----/--/-- (日曆表出現時按下 鍵盤 Delete) 則表示忽略該時間限制。

選取要檢視的全組,可以對維記錄內容依照群組作篩選。按下每項欄位名稱按鈕也可以依照該項內容,對於顯示的資料進行排序。

表單可以匯出 CSV 檔,或選擇輸出列印,如果點選 清除紀錄會將資料庫中的相關資料清空。

1.3.5.工具:

1.3.5.1.清除記錄:

由於 ICDT WEB HMI 的執行會影響網頁資訊的正常與否,因此 ICDT WEB HMI 的重大操作例如切換專案、編輯專案、執行程式、離開程式與清除記錄等操作當會留下記錄並顯示。



顯示資訊除了時間與操作外,部分操作會顯示操作專案的操作者 (例如 "project1/root"),以記錄執行操作者身分。

執行清除記錄操作同樣需要輸入系統管理員密碼,並且會留下記錄
V1.6.0.0 版增加 操作記錄功能,清除記錄並不會清除該專案內的操作記錄。

1.3.5.2.選項:

點選 工具->選項 可進行進一步的參數設定

1.3.5.2.1.顯示選項:

勾選『自動執行顯示頁』會在 ICDT WEB HMI 時自動執行顯示頁,供以利使用者操作。



勾選『自動執行顯示頁』會在程式時自動開啟專案圖控頁面。

勾選『預設全螢幕顯示』會在顯示頁開啟時,以全螢幕顯示,可用於類似觸控人機界面器的應用場合。

『預設瀏覽器』必須正確指向 MSEdge 或 Chrome 瀏覽器執行檔位置,才能以 開啟網頁 按鈕連結專案(例如 "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" 或 " C:\Program Files (x86)\\Google\Chrome\Application\chrome.exe")

『最小化時自動隱藏』勾選後執行最小化視窗動作會自動隱藏為又下角小圖示,以避免錯誤操作關閉此程式。

『語言』處可選擇目前使用的語言,變更後將會於匯出時同時改變網頁的使用語言。目前版本僅完成繁體中文與簡體中文,其餘語言建置中。

1.3.5.2.2.警報選項:


勾選『隱藏警報』會在警報發生時不顯示以及發出聲響,用於網頁瀏覽模式時,避免重複發彈出警報視窗。
勾選『靜音』會在警報發生時不發出聲響。
勾選『警報描述優先』時,警報如果有描述內容即不顯示警報名稱。
勾選『Line Notify』並輸入 Line Notify 的 Access Token,則所有警報訊息會發送至指定的 Notify 群組中

1.3.5.2.3.帳號選項:



勾選『自動登入帳號』可以在執行時自動登入指定帳號。

勾選『逾時登出帳號』後,於超過 15 分鐘未操作將自動登出帳號,此選項同時適用於網頁操作。

勾選『圖控異常監視』後,於圖控開啟時會另開啟一個圖控運行監看程式,當本程式因故異常停止回應時,於 30 秒後重新啟動本程式,以避免系統等不明因素停止運作,造成系統控制異常。啟用本功能後必須先關閉圖控運行監看程式,才能順利關閉此程式。

1.3.5.2.4.自訂選單:

自訂選單功能允許使用者自行增加外部程式連結選單,以擴充程式功能。



設定自訂選單時,於開啟 ICDT WEB HMI 後會增加一個『進階』項,其下方會顯示自訂的選單內容,當用者等級符合權限設定,則可啟動連結程式。
自訂選單連結程式可以是 .exe 執行檔或 python 的 .py 程式檔(必須電腦預裝 python 程式,並且 python 程式路徑存在 Windows 環境變數 PATH 中 )。
自訂選單連結程可以選擇絕對路徑,或放置於 WEB HMI 安裝路徑下的 app 子目錄下。
參數如果為 now(hh:mm:ss),則會以目前時間替換。
參數如果內含 『|』字元會以空格取代, 內含 『'』字元會以『"』字元取代, 否則參數內文字會被當成任務程式的一個參數(前後加上『"』字元)。

1.3.5.2.5.任務選項:

任務選項功能允許使用者自行定時執行外部程式,用以擴展報表、資訊回報或其他應用功能。
週期可以是每分鐘(MINUTE)、每小時(HOUR)、每天(DAY)、每月(MONTH)或是每週(WEEK 或 WEEK_S,其中 WEEK 以星期一為第一天,WEEK_S 以星期日為第一天)以及程式啟動(SYSTEM)。
選項 "開始" 會在該週期開始時執行任務,選擇 "結束" 會在該週期快結束時執行任務。
連結的任務程式如果再下次執行任務時未關閉,將被強制終止執行,以免每次週期開啟新的常駐程式,造成系統異常。
SYSTEM 只有開始選項,於程式開始執行一分鐘內執行一次。
任務選項程式可以是 .exe 執行檔或 python 的 .py 程式檔(必須電腦預裝 python 程式,並且 python 程式路徑存在 Windows 環境變數 PATH 中 )。
任務程式可以選擇絕對路徑,或放置於 WEB HMI 安裝路徑下的 app 子目錄下。
參數如果為 now(hh:mm:ss),則會以目前時間替換。
參數如果內含 『|』字元會以空格取代, 內含 『'』字元會以『"』字元取代, 否則參數內文字會被當成任務程式的一個參數(前後加上『"』字元)。
以程式開始執行 chrome 瀏覽器 kiosk 模式而言,參數可以是
--kiosk --incognito --disable-pinch --overscroll-history-navigation=0 'http://127.0.0.1'
或是
--kiosk --incognito --disable-pinch --overscroll-history-navigation=0 "http://127.0.0.1"
或是
--kiosk|--incognito|--disable-pinch|--overscroll-history-navigation=0|http://127.0.0.1
如果
--kiosk --incognito --disable-pinch --overscroll-history-navigation=0 http://127.0.0.1
則會被當成
"--kiosk --incognito --disable-pinch --overscroll-history-navigation=0 http://127.0.0.1"
一個參數而無法依照預期端項變數啟動程式

1.3.5.2.6.網頁選項:


勾選『啟用內置網頁伺服器』會依下方 HTTP Port 設定開啟 程式內的 Nancy 網頁伺服器,用於無外部網頁伺服器的應用場合。
必須注意,使用內置網頁伺服器時 PHP 功能將會被移除,因此外部網頁伺服器將無法同時連接本圖控系統。

『HTTP Port』 設定 網頁伺服器的 HTTP Port 號,未啟用內置網頁伺服器時僅改變開啟網頁時對應的 Port (例如http://127.0.0.1:8082),外部網頁伺服器實際的 HTTP Port 必須自行更改。。

『停用自動首頁轉址』 由於每次執行 "匯出所有網頁" 時改變載入變數,同時會執行 "設定轉址" 功能一次,以強制強制重新載入頁面。如果取消這項功能,勾選此選項可停用該功能。 此選項一般用於ICDT WEB HMI 不是網頁伺服器預設首頁的應用場合。

『手機/平板轉址到頁面』 用於網頁專案自動辨識 iPhone、iPad 或 Andriod 作業系統,以轉址到指定的起始頁面(例如 mobile.htm),但編輯時必須自行編輯適合手機/平板的頁面(例如頁面名稱為 mobile)

1.3.5.3.工具-使用者:


允許等級 10 或系統管理員對於專案使用者帳號密碼進行編修

1.3.5.4.修正記錄:


對現有資料庫內趨勢記錄數值進行修正,以避免因設備異常等因素,影響記錄分析結果。
注意!此項修改後無法復原,建議先備份資料庫並謹慎操作!

1.3.5.5.修復資料表:


如遇到MySQL 等資料表因故毀損無法進行記錄與開啟時,可嘗試以此功能進行修復

1.3.6.執行:

1.3.6.1.離開:

關閉 ICDT WEB HMI 程式執行將會使網頁資訊無法獲得回應,而於十秒後文字顯示 NX..,時間顯示 "----/--/-- --:--:--",且任何透過網頁的設定參數都無法正確下達。關閉 程式後內置網頁伺服器也會停止運作。

關閉本程式將留下記錄清除記錄

1.3.6.2.隱藏:

將此程式縮小為隱藏小圖示,以避免被誤操作關閉。

1.3.6.3.登入/登出:

ICDT WEB HMI 進行各項設定必需輸入系統管理員(Admin)帳號密碼,圖控各項操作也必須依照設定權限輸入等於或高於層級的帳號密碼,否則將無法操作。



啟用 "逾時自動登出" 功能時,未進行操作後 15 分鐘將自動登出。
帳號選項
在切換專案後ICDT WEB HMI將套用新專案的帳號密碼。

1.4.編輯:

進入編輯模式可開啟 HMI 編輯器對於專案的圖頁、使用者帳號密碼、進階服務以通訊設定進行變更。編輯模式時,系統將目前停止通訊功能(包含內置網頁伺服器),對於網頁的數據需求不再回應。

ICDT WEB HMI 的專案存在於網頁根路徑下,建立專案時,會產生檔名為專案名稱且副檔名為 phm 的專案設定檔,並生成 專案名稱加一底線的路徑(例如專案名稱為 “demo”,會產生 “demo.phm” 專案設定檔,以及存放專案資料的 “demo_”路徑)。

專案資料必須存在於網頁根路徑下才能正常被網頁伺服器讀取。備份或複製專案時,可以直接備份該路徑(例如 demo_)與 phm 專案設定檔(例如 demo.phm)即可

免費試用模式時於 V2.2.1.0 版以前會有點數限制,可能因為點數載入不完全而造成部分資料遺失。大型專案編輯時,如未安裝程式金鑰,建議更新至 V2.2.1.0版以後版本再進行專案編輯

1.4.1.編輯-專案:

1.4.1.1.新增專案:

HMI 編輯器 點選檔案->新增專案,選擇適當檔案夾(建議在網頁根路徑下) 並輸入專案名稱後建立專案,專案會建立相同名稱路徑(多一個底線'_'),存放匯出的網頁(*.htm);其下會產生 "img"、"dat"兩個子目錄,用以分別儲存圖檔與畫面資料。

建立或開啟過的專案都可以在 檔案->最近使用的專案 處快速開啟。

1.4.1.2.開啟專案:

用以選擇現有的專案以進行編輯。開啟後必須輸入系統管理者(Admin)帳號密碼,否則無法正常載入。

1.4.1.3.專案標題:

由於專案名稱只能使用英文或數字,設定專案標題後其內容會出現在執行模式與網頁標題(Title),可適應更多的應用場合。



設定專案標題後會出現在執行模式與網頁模式的抬頭處



1.4.1.4.專案密鑰:

專案的設備、警報、趨勢記錄、傳輸、巨集等預設為名碼儲存(於專案的 /dat 路徑下),如有資料保密需求,可以輸入8個文字或數字的字串,作為解碼密鑰。如專案密鑰與儲存的專案資料不相符,則相關資料將無法被讀取。密鑰變更時會將原有檔案複製為 .bak 檔後重新加密


1.4.1.5.最近使用的專案:

近期成功開啟的專案會加入 "最近使用的專案" 以方便快速切換。點選專案後必須輸入系統管理者(Admin)帳號密碼,否則無法正常載入。

1.4.2.頁面:

1.4.2.1.新增頁面:

每個專案可以增加多個網頁頁面,網頁名稱最多 10 個字且不可與其他頁面名稱相同,網頁名稱建議以小寫為主,以免造成跨作業系統時產生問題。

home 為預設的首頁,不可移除。其他如 login、logout、system 等頁面為保留頁面,不允許使用上述名稱。頁面允許更名、刪除、複製等作業。

新增頁面時,可快速選取先前開啟過的頁面尺寸,或調整固定比例。



開啟頁面 處打開先前被關閉會者未被載入的頁面。


1.4.2.2.複製、刪除與頁面更名:

您可以針對將完成的頁面複製成其他頁面。開啟並選取要複製的頁面,點選 頁面->複製頁面 輸入檔名後即可複製。輸入的檔名不可以與已經存在的檔名重複。



點選 頁面->刪除頁面 可以將目前選取的頁面從專案中刪除,刪除後將法復原。



點選 頁面->頁面更名 可以更改目前選取的頁面的名稱,輸入的檔名不可以與已經存在的檔名重複。

由於更改頁面名稱或刪除頁面時可能造成跳頁連結失效,因此必須評估此風險。

1.4.2.3.設定頁面:


點選 頁面->設定頁面 可以針對目前選取的頁面進行設定,包含底色、底圖(二擇一)以及頁面大小。頁面大小會影響圖面可以編輯區塊大小,以及顯示模式時開起的頁面大小。

勾選『關閉網頁警報』可使瀏覽該頁時,如果有警報發生不跳出警報訊息,一般用於被嵌入之頁面。

勾選『網頁固定比例』可使瀏覽該頁時,瀏覽器不會自動縮放該頁,而維持原有畫面大小。

勾選『隱藏使用者按鈕』可使瀏覽該頁時,瀏覽器左上角不會在使用者登入後顯示,一般用於被嵌入之頁面。

勾選並設定『語言』可以使瀏覽該頁面時,瀏覽器彈出的對話框以指定語言顯示(未勾選一律為預設的語言顯示)

寬度/高度用以手動設定頁面大小。

選擇 Class style 檔案,該頁會連結此 css 檔案,以套用於頁面上有設定 class 名稱的元件,用以美化元件,增加獨有風格。 css 檔案應該放置於專案路徑的 dat 子目錄下(例如 project1_/dat)

『自定義碼』可以加入網路資源或嵌入完整個程式碼,例如:
加入 CSS 宣告以美化按鈕 <style type='text/css'>button{border: 1px solid #222;border-radius:2px;}</style>(效果與外加 CSS 文件相同)
加入<meta http-equiv="X-Frame-Options" content="sameorigin"/>可避免被嵌入其他網頁中
加入<script>updateInterval = 30000;</script> 可使網頁更新時間改為 30 秒
加入<link href='https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' rel='stylesheet'/> 可以支援 fontawesome 4.7
加入<script src='https://kit.fontawesome.com/c7346926fe.js' crossorigin='anonymous'></script> 可以支援 fontawesome 5.0
(關於 fontawesome 的應用參考 https://fontawesome.com/)

自定義碼設定錯誤可能使網頁無法正常運作!
使用 fontawesome 等網路資源時,必須能瀏覽外部網路

1.4.2.4.開啟頁面:

為節省系統資源,開啟專案時並不會將所有頁面全部載入,要載入頁面時點選 頁面->開啟頁面 以選擇要被開啟的頁面。
當總頁數低於 40 頁時,可選取 *開啟全部* 以同時將所有頁面一起打開。


也可以利用下方選單輸入頁面名稱快速選取



開啟的頁面在如果資料有變更會在關閉時詢問是否儲存,選擇儲存會將變更後檔案存入,並同時產生網頁檔案。放棄儲存等於放棄資料變更,除新開啟時會回到先前狀態。

1.4.2.5.元件縮放:

用以快速調整全頁元件的大小比例,以適合不同的頁面尺寸。

1.4.2.6.自製網頁頁面:

如需要在專案中加入自製的網頁,不可以直接放至於專案路徑(例如 project1_\)下,因為每次會出專案時會移除專案路徑下的網頁,並移除專案路徑 img (例如 project1_\img\ ) 下各圖頁未使用到的圖檔。

專案如需要自製 HTML 頁面,可以有以下方式選擇:

1.4.2.6.1.純文字頁面:

無圖片的頁面,可透過按鈕『跳頁』或『開啟頁面』功能進行操作

自製網頁應放置於專案的 dat (例如 project1_\dat\ ) 路徑下,附檔名必須為 .htm (不可以為 .html) ,如此一來自製的網頁名稱才能出現在跳頁的選單中,並且在離開編輯時執行匯出所有網頁,才能複製到專案網頁路徑下。

1.4.2.6.2.連結與嵌入頁面:

專案路徑下 customized 路徑 (例如 C:\AppServ\www\project1_\customized) 可以被用來放置自定義物件等自製頁面,但無法透過 按鈕的『跳頁』或『開啟頁面』功能進行操作。可操作方式為:
使用按鈕『連結』並輸入 @./customized/clock.html (以 自製頁面檔名為 clock.html 為例),注意不要忽略 @ 與 / 中的 ' . ' (表示專案路徑下),否則無法正常顯示


使用方框物件『固定嵌入網頁』與『動態嵌入網頁』時,網址處輸入 ./customized/clock.html (以 自製頁面檔名為 clock.html 為例),注意與 按鈕『連結』不同,不要加@,' . ' (表示專案路徑下),

1.4.3.工具箱:

工具箱內包含按鈕、文字方塊、圖形方塊、核取方塊與方框等物件,可以拖曳至頁面增加物件。增加後的物件可以拖曳到指定位置或改變大小,或點選兩下進行編輯。或者是同時選擇多個物件,利用編輯器上方的功能按鈕,同時對於多個物件進行位置或屬性調整。

1.4.3.1.指標:

將畫面編輯由插入物件模式變成指標模式。指標模式可以點選單一個物件或按下滑鼠右鍵框選多個物件,由上方的功能按鈕進行位置對齊、文字顏色與對齊、複製、刪除等調整或是點選 控制點變更 功能鈕,同步修改控制點屬性。

1.4.3.2.按鈕:

以按鈕(Button)方式提供跳頁、連結網頁、寫入固定數值等功能。
可進一步調整大小、改變字型、顏色與顯示文字。



每個按鈕允許設定個別的使用者權限等級,10為最高,如果未加以勾選則允許一般訪客進行操作。
管制等級


Class 欄位 為該按鈕套用在該頁 css 文件的 class 名稱。設定頁面
預設器件為可設定進入該頁的預設器件。預設器件

按鈕功能線上展示https://icdt.com.tw/demo_/button.htm

1.4.3.2.1.跳頁:

將畫面跳到指定位置,不開啟新的頁面

1.4.3.2.2.開啟新頁:

新增並開啟一個指定的頁面,與原本頁面同時顯示

1.4.3.2.3.寫出:

將預設的數值寫入指定點中。寫出按鈕

1.4.3.2.4.連結:

連結網址或執行外部程式,如果連結網址時必須以 http:// 或 https://開頭。連結按鈕


1.4.3.2.5.提示:

點擊時彈出對話框以提示預設的資訊內容

1.4.3.3.文字方塊:

具備『文字』、『文字按鈕』、『文字動態物件』、『時間日期』等不同的功能選項。可進一步調整大小、改變字型、顏色與顯示文字與對齊等。

文字按鈕與文字動態物件允許設定個別的使用者權限等級,10為最高,如果未加以勾選則允許一般訪客進行操作。管制等級

Class 欄位 為該按鈕套用在該頁 css 文件的 class 名稱。設定頁面

『前綴字』固定文字顯示於文字的前方,也可使用 fontawesome 。設定頁面
『後綴字』固定文字顯示於文字的後方(例如單位),也可使用 fontawesome 。設定頁面

預設器件為可設定進入該頁的預設器件。預設器件

文字方塊功能線上展示https://icdt.com.tw/demo_/textbox.htm

1.4.3.3.1.文字:

在指定位置單純依照設定顯示文字。

1.4.3.3.2.文字按鈕:

以文字(Text)方式提供跳頁、連結網頁、寫入固定數值等,其用法與『按鈕』相同。操作細節按鈕

1.4.3.3.3.文字動態物件:

顯示指定設備的控制點的數值或狀態,並且允許使用者設定數值。
顯示方式包含文字模式與數值模式,文字模式會將依照預設的數值與文字對照表顯示文字。


文字動態物件選擇數位點時,可以選擇 ON 與 OFF的對應顏色,如果選擇文字模式,則可以設定各種數值對應的顯示文字。



文字動態物件選擇為類比點時,可以設定數值顯示格式、倍率、過高數值與過高時顯示顏色、過低數值與過低時顯示顏色。另外勾選高限與低限可以設定數值輸入的範圍,避免超出預設範圍。

動態點的編輯必須指定該點所在的設備(設備編輯)以及控制點(動態物件)或物件標籤(物件標籤),直接指定控制點可以免去是先建物件標籤的手續,而先建立標籤則可以有系統的管理設備點位。

1.4.3.3.4.時間日期:

顯示目前網頁伺服器上的時間日期

1.4.3.3.5.使用者文字方塊:

顯示目前登入的使用者名稱,此時按下此文字方塊可登出。無使用者登入時顯示『登入』字樣,此時按下此文字方塊將彈出登入視窗。如果頁面有任何一個使用者文字方塊,則該頁左上角不會顯示使用者按鈕。

1.4.3.4.圖形方塊:

具備『圖片』、『圖形按鈕』、『圖形動態物件』等不同的功能選項。可進一步調整大小、改變顯示圖形,以及圖形比例。

圖形按鈕與圖形動態物件允許設定個別的使用者權限等級,10為最高,如果未加以勾選則允許一般訪客進行操作。管制等級



Class 欄位 為該按鈕套用在該頁 css 文件的 class 名稱。設定頁面

預設器件為可設定進入該頁的預設器件。預設器件

圖形方塊接受的格式為 jpg、gif 或 png 格式,其餘如 bmp 等格式將會自動轉換成 jpg。編輯器並具備自動將多張圖片合併為 gif 動態圖檔案功能。



貼上圖片功能則允許使用者自剪貼簿貼上圖片,或是直接貼上檔案位置或圖片網址,以取得圖檔(此功能不支援 jpg 檔案格式)


所有選用的圖片會被集中到專案路徑的 img 子目錄下,以便於其他頁面取用,並增加專案資料的可攜性。被取消參考連結的圖檔將會在專案存檔時移除

圖形方塊功能線上展示https://icdt.com.tw/demo_/image.htm

2.2.1.0 版開始增加對 SVG 圖檔的支援,可以利用 SVG 向量圖檔以增加畫面的靈活性,更可以避免因為對圖形的縮放造成而犧牲畫質。
編輯圖形方況選擇 SVG 向量圖後會在專案資料的 /tmp 路徑下產生對應的 png 檔案,以供編輯器顯示用,由於程式內的 SVG 圖檔轉換效能較為不足,遇到較大型(例如超過 100KB)檔案可能使編輯器暫時卡住,可以例外安裝 Inscape 程式於指令路徑『C:/Program Files/Inkscape/bin/inkscape.exe』下,以增加圖檔轉和效能。
Inscape 安裝路徑https://inkscape.org/zh-hant/https://inkscape.org/
專案資料的 /tmp 路徑下圖檔不會被刪除,如有需要可以手動刪除,如刪除到需要用到的圖檔,將於專案編輯器編輯時自動再次生成。

1.4.3.4.1.圖片:

在指定的位置顯示靜態的圖片

1.4.3.4.2.圖形按鈕:

以圖形(Image)方式提供跳頁、連結網頁、寫入固定數值等,其用法與『按鈕』相同。操作細節按鈕

1.4.3.4.3.圖形動態物件:

以圖形模式顯示指定設備的控制點的數值或狀態,並且允許使用者設定數值。
網頁顯示時會將依照預設的數值與圖形對照表顯示圖形。


動態點的編輯必須指定該點所在的設備(設備編輯)以及控制點(動態物件)或物件標籤(物件標籤),直接指定控制點可以免去是先建物件標籤的手續,而先建立標籤則可以有系統的管理設備點位。

1.4.3.5.核取方塊:

以核取方塊(Check box)方式顯示指定設備的控制點的數值或狀態,並且允許使用者設定數值。可進一步調整大小、改變字型、顏色與顯示文字。


核取方塊允許設定個別的使用者權限等級,10為最高,如果未加以勾選則允許一般訪客進行操作。管制等級

動態點的編輯必須指定該點所在的設備(設備編輯)以及控制點(動態物件)或物件標籤(物件標籤),直接指定控制點可以免去是先建物件標籤的手續,而先建立標籤則可以有系統的管理設備點位。

1.4.3.6.方框:

分為『靜態』、『動態尺寸』、『嵌入網頁』等模式,並可以進一步調整線色、填滿色、線寬及大小。
選擇『固定』、『上方填滿』、『全頁填滿』等,可以控制方框的填滿行為。

Class 欄位 為該按鈕套用在該頁 css 文件的 class 名稱。設定頁面



方框功能線上展示https://icdt.com.tw/demo_/square.htm

1.4.3.6.1.靜態方框:

單純在網頁顯示方框,用以標示群組或繪圖用。

由於後面產生的物件會在上層,所以可以選擇要放入下層的物件選擇功能按鈕的 移至下層 改變順序。

1.4.3.6.2.動態尺寸方框:

依照連結控制點數值顯示方框大小,可以選擇由上而下、由下而上、由左由右、由右而左四種方式,控制點數值 100 時代表顯示預設尺寸,數值 0~100 會將大小依照比例(0~100%)縮小顯示。

一般用於以條狀圖顯示數值的應用場合(例如溫度計等)。

1.4.3.6.3.固定嵌入網頁方框:

可將方框內嵌入其他網頁,以在網頁上無縫顯示其他網頁內容。必須注意並非所有網頁都允許被嵌入(例如被嵌入網頁標註了 <meta http-equiv="X-Frame-Options" content="sameorigin"/>)。

1.4.3.6.3.1.靜態嵌入網頁:

網址輸入以 http:// 或 https:// 開頭會顯示地球圖示按下會以內置網頁伺服器開啟模擬頁面,以顯示此固定嵌入網頁方框之顯示效果。
網址非 http:// 或 https:// 開頭會顯示 使用者圖示 與 警報圖示。如網址輸入內容為圖控頁面名稱(例如『home』)則嵌入頁面為該圖控頁面。

1.4.3.6.3.2.使用者專用網頁:

按下 使者圖示 網址自動輸入@user,當網址以 @user 開始時,運行中會自動以使用者名稱取代 @user 作為頁面名稱,例如 @userhome,則登入使用者 eric 則會顯示 erichome 頁面。此功能用於自動依照登入的使用者顯示為該使用者規劃的畫面。為避免未登入的訪客造成的顯示錯誤,建議跳入該頁的按鈕應設置權限

1.4.3.6.3.3.警報自動切換頁面:

按下 警報圖示 網址自動輸入 alarmdefault.htm,可用於警報自動切換頁面需求。此應用需製作一個名為 alarmdefault 的頁面,用於無警報訊息發生時顯示,當有設定 連結頁面 的警報動作時,網址為 alarmdefault.htm 的固定嵌入網頁方框會自動切換至警報連結的頁面。


1.4.3.6.3.4.按鈕選頁方框:

需要透過按鈕選頁功能時,可以利用固定嵌入網頁方框的『跳頁按鈕方框』功能。 固定嵌入網頁網址以 # 代號時為『跳頁按鈕方框』,進入該網頁時先顯示# 後輸入的網址。如果按下該頁任一個 連結按鈕 以 # 開頭的『跳頁連結按鈕』,則會置換所有 『跳頁按鈕方框』內容為指定網址。跳頁連結按鈕


(圖例中要使按下按鈕時『跳頁按鈕方框』顯示名為 aaaa 為的圖控頁面,此處按鈕『連結』輸入必須為 #aaaa.htm )

『跳頁按鈕方框』與『動態嵌入網頁方框』差異除了不需要透過變數選擇,即時性更高外,透過網頁按鈕的操作只會改變同一個頁面的『跳頁按鈕方框』內容,不會如『動態嵌入網頁方框』般同時改變其他瀏覽器指向相同頁面或其他方框使用相同變數的顯示內容

1.4.3.6.4.動態嵌入網頁方框:

可將方框依照連結點數值內嵌入其他網頁,以動態在網頁上無縫顯示其他網頁內容。
設定時應將各數值連結的網址一一輸入。
可應用於網路攝影機影像(必須支援 https 或 http 之攝影機,不支援 RTSP 即時串流協定) 連結或其他需要控制點與頁面選擇連動應用場合。

按下地球圖示按下會以內置網頁伺服器開啟模擬第一個網頁之顯示效果。



必須注意並非所有網頁都允許被嵌入(例如被嵌入網頁標註了 <meta http-equiv="X-Frame-Options" content="sameorigin"/>)。

1.4.3.6.5.自定義物件方框:

自定義物件功能允許使用者自行設計編寫元件,透過自製曲線圖、圓餅圖、指針等物件,增加網頁豐富度,以補原有元件的不足,創造獨一無二的豐富圖控系統。



自定義物件功能是利用嵌入網頁的方式,以實現自定義物件的需求,其注意事項與說明如下:
■ 自定義物件的網頁必須在專案路徑下的 customized 路徑或其子路徑下,且副檔名為 .htm,位置正確時在自定物件設定視窗網址的下拉選單可以快速選取。
■ 自定義物件網頁 JavaScript 程式碼必須包含一個結構為 Update(seq,val) 的 function,執行時會自動依次將變數的順位(1,2,3...)與讀到的數值分別帶入 seq 變數與 val 變數以呼叫 Update,如果 function Update(seq,val)有數值 return,則會將該數值寫入該順位的控制點。

以下為露點溫度計算的範例,第一個控制點為乾球溫度的輸入,第二個控制點為相對溼度的輸入,第三控制點會得到計算結果

<input type="text" id="value1" value="0" />
<script type="text/javascript">
var Dry_Bulb_Temp;
var Relative_Humidity;
//seq : object index = 1,2,3...
//val : object value
//return : value for write to object
function Update(seq,val)
{
if(seq ==1)
Dry_Bulb_Temp = val * 1;
if(seq==2)
Relative_Humidity = val * 1;
else
{
var H= (Math.log10( Relative_Humidity)-2) /0.4343 + (17.62*Dry_Bulb_Temp) / (243.12+Dry_Bulb_Temp);
var Dp = 243.12 *H/(17.62-H);
document.getElementById("value1").value = Dp.toFixed(3);
return Dp.toFixed(3);
}
}
</script>


即時曲線圖、圓餅圖與柱狀圖可以利用 jQuery Flot 工具程式自動產生,下載位置於 https://goo.gl/WRAX4R,操作示範影片https://youtu.be/S_ShqsBqy2g

完成編輯後按下地球圖示會以內置網頁伺服器開啟此頁面,可以透過改變 Seq 與 Val 數值並按下 Upate 配合瀏覽器開發人員工具進行除錯,如 Update 函數有回應數值時,數值將會顯示在 Val 中
注意,自定義物件程式碼錯誤可能造成整個網頁無法正常運作,請先確認程式運行無誤


1.4.3.6.6.記錄曲線方框:

ICDT WEB HMI 具備記錄表(Trend-log)功能,可以利用方框的記錄曲線選項來顯示記錄於資料庫的歷史資料,未使用資料庫進行記錄時,該功能無效。
設定時必須選擇要顯示的資料表並勾選其中要顯示的曲線。



1.4.3.6.7.趨勢記錄方框:

趨勢記錄方框同樣顯示記錄於資料庫的歷史資料,未使用資料庫進行記錄時,該功能無效。
設定時必須選擇要顯示的資料表並勾選其中要顯示的記錄。

趨勢記錄與記錄曲線功能同樣為顯示單一趨勢記錄表中最多8個記錄值。趨勢記錄採用文字列表方式顯示,允許選擇記錄區間,並可以下載 CSV 檔案。

1.4.3.6.8.歷史報表方框:

歷史報表方框同樣顯示記錄於資料庫的歷史資料,未使用資料庫進行記錄時,該功能無效。
設定時必須選擇要顯示的資料表並勾選其中要顯示的記錄。

歷史報表與趨勢記錄差異在於歷史報表可以選擇記錄區間內指定時間區段(每月/每週/每日/每時)的指定數值模式(平均值/最大值/最小值/高低差值)做為顯示,而非如同趨勢記錄顯示區段內的所有記錄。

1.4.3.6.9.歷史分析方框:

歷史分析方框同樣顯示記錄於資料庫的歷史資料,未使用資料庫進行記錄時,該功能無效。
設定時必須選擇要顯示的資料表並勾選其中要顯示的記錄。

歷史分析較歷史報表使用上有更多的彈性,歷史分析以 日/週/月/年 為單位,可以選擇目前時段(-0)至往前 59 時段(-59 表59天前/59月前/59年前等)的 每月/每週/每日/每時/全部 的 平均值/最大值/最小值/高低差值。選擇 全部 表示計算該 日/週/月/年 總平均值/最大值/最小值/高低差值為單一筆數值。
顯示方式可以是 線圖/圓餅圖/柱狀圖/橫條圖以及表格



如果選擇單一個記錄則可以比較不同時段間的差異,例如選擇 曲線 週 -1 VS -2 每日 平均值 則會列出前一週與前兩週每日平均值的曲線

1.4.3.6.10.歷史警報方框:

用以顯示記錄於資料庫的歷史警報訊息。未設定警報時,該功能無效。




1.4.3.6.11.目前警報方框:

以跑馬燈方式顯示目前未確認的警報訊息。未設定警報時,該功能無效。

1.4.3.6.12.狀態記錄方框:

用以顯示記錄於資料庫的狀態記錄,可選擇顯示指定群組或全部群組



1.4.3.6.13.通訊記錄方框:

用以顯示記錄於資料庫的設備連線異常通訊記錄

1.4.3.6.14.操作記錄方框:

用以顯示記錄於資料庫的各項操作記錄

1.4.3.7.群組:

群組可用來同時存放多個物件,以利移動、複製與編輯。執行模式或網頁模式時,群組的方框將不會被顯示出來。
編輯時物件如果拖一到群組的上方,就會被加入群組中,拖出群組範圍則被移出群組。



必須注意的是群組不可被放置群組物件,群組內的群組物件將不會被儲存。
另外,群組本身不支援重複物件功能,群組內物件也無法與群組外物件同時做重複物件操作。

群組功能線上展示https://icdt.com.tw/demo_/group.htm

1.4.3.7.1.變數控制顯示群組:

群組物件支援顯示與隱藏功能,勾選顯示要件可依照控制點的指定條件,以決定群組是否顯示


1.4.3.7.2.按鈕控制顯示群組:

當 顯示要件為 $ 時群組為『按鈕控制顯示群組』,在網頁顯示初期是隱藏的,當按連結按鈕下以 $ 開頭相同關鍵字的『群組顯示控制按鈕』時,隱藏的群組會顯示,顯示的群組會隱藏。
相較於『變數控制顯示群組』,『按鈕控制顯示群組』更容易與及時控制,並且不會影響到其他瀏覽相同頁面者的顯示內容。
『按鈕控制顯示群組』一般用來作為按鈕選單用途


(按鈕控制顯示群組設定範例)


(群組顯示控制按鈕設定範例)

1.4.4.使用者:

使用者介面可以編輯系統管理者(Admin)、十個層級的一般操作者與訪客(Guest)等使用者名單以及其密碼。


管理者(Admin)除了具備最高的操作層級(第10級)外,並具備編輯專案以及 ICDT WEB HMI 參數變更的權利。

十個層級的一般操作者與訪客各具備 10~0的操作層級,數字越高則擁有最大權限。每個按鈕物件與動態物件都可以個別設定授權的操作層級,必須高於或等於授權層級的使用者才可進行該項操作。

訪客(Guest)的使用者層級為0,如果選用『開放所有訪客』選項,此時您的網頁將不需要登錄任何帳號即可查閱,但操作具備授權限制的按鈕或動態物件時,仍需要登入帳號。

每個專案都必須具備管理者(Admin)帳號,供網頁資料更新用。如果沒有設定管理者,則可以用預設的 root/root 登錄,但必須記得更改密碼,以避免未被授權的操作

1.4.5.網路介面:

當電腦同時有多個網路介面時,如果未選擇正確的網路介面,可能會造成通訊通到錯誤而無法正常連線,因此每個專案都必須選擇正確的網路介面(尤其是 BACnet 網路系統)。


1.4.6.設備編輯:

ICDT WEB HMI 支援 BACnet/IP、MODBUS RTU、MODBUS TCP Client 與 MODBUS TCP Server通訊。

本程式將 MODBUS RTU 上的 Slave 或是 MODBUS TCP Gateway 上連接的 Slave 設備,以及 本身模擬的 MOSBUS TCP Server 上的 UID 位置都視為相同的設備 (Device),所有的設備代號都不可以重複,以利控制點(Coil/Register 等) 的編輯。

BACnet/IP 將本身與外部連結的 Device 也都要定義專用不可重複的代號,並且不可以與 MODBUS 的代號混用。



在設備編輯頁按下 "新增" 按鍵,有以下選項

1.4.6.1.BACnet/IP 網路:

ICDT WEB HMI 僅可以選擇一個BACnet/IP 網路,除了可以主動對外讀/寫數值,也提供 64 個 Binary value 與 64 個 Analog value 物件,供整合應用。


新增 BACnet/IP 網路 時,必須選擇 ICDT WEB HMI 的本身的器件編號,此編號不可與 BACnet 網路上其他設備編號重複。

通訊 Port 設定參數為連接的 BACnet/IP 網路 UDP Port,預設為 47808。此通訊埠不可以被其他通訊軟體佔用。

區網間隔指連接的器件在 BACnet/IP 相同網路時,讀取資料的封包時間間隔(單位毫秒),由於同屬於較高速的 IP 網路,因此可以設定較小的時間間距,以獲得較佳的資料更新效果。

外網間隔指連接的器件為此 BACnet/IP 以外網路,讀取資料的封包時間間隔(單位毫秒)。由於資料封包必須透過 Router 進行資料轉發,尤其多半會是速度較慢的 MS/TP 網路,因此時間間距必須適當放慢,以免網路擁塞。

選擇時間同步會定時對 BACnet 所有網路中的 BACnet 設備進行時間同步廣播,使網路上具備接受時間同步的 BACnet 設備時間相同。但必須注意 BACnet 網路上只能有一個設備進行時間同步廣播,以免造成網路時間過於頻繁的異動而方式錯誤。

增加 BACnet/IP 網路完成後可以按下掃描按鈕,以廣播 BACnet Who is 服務,尋找網路上的 BACnet 器件,並在找到的編號上按按兩下滑鼠右鍵,增加該器件。或匯入與匯出器件。

BACnet/IP 網路下增加的器件有兩種:器件編號為 BACnet/IP 網路設定的器件編號時,則讀取的是 ICDT WEB HMI 本身的 Device 與 AV/BV 物件,其他編號則為網路上其他的 BACnet 設備。

由於執行 ICDT WEB HMI 電腦本身可能不只有一個網路介面卡,可能另外會有 無線網路或虛擬網路等,因此必須選擇正確的網路介面,BACnet 廣播發包才能正常發送,否則將無法正常運作。

ICDT WEB HMI BACnet 主要以 BACnet/IP 協議運作,如需使用 MS/TP 通訊需使用另行購置 BACnet Router,或使用專案 MS/TP USB 轉接器連接(如有需求請洽詢元米科技)。





(點選掃描按鈕可以掃描指定 BACnet Port上的所有 BACnet 器件編號)

1.4.6.2.MODBUS RTU Master:

接口設定是用來設定網頁伺服器連個的通訊埠(COM Port)名稱、速率等,必須設定正確的通訊埠名稱與資料格式才能透過 MODBUS RTU 協定與連接的 MODBUS Slave 設備通訊 (相同網路下所有設備通訊速率、停止位元、同位元設定值必需相同)。



最大封包數為被連接設備允許的最大封包長度,此設定值將影響一次讀取點數的最大值。

讀取間隔為封包的間隔時間,數值過小可能有 Slave 設備反應不及或超出封包傳送時間的風險,數值過大則會使資料更新速度過慢,建議數值為 80~200 mS。

通訊埠名稱於電腦(Windows)版本為 COM1~COMxx,可以在新增或編輯模式下,按下 搜尋硬體鍵尋找可用的通訊接口,如果通訊接口被佔用(例如 ICDT DDC 編輯器)或 USB 轉換器未正常安裝,則無法找到。

1.4.6.3.MODBUS TCP Client:

選擇連接的 TCP Gateway 或 MODBUS TCP Server 設備的 IP 地址與通訊 Port 號,ICDT WEB HMI 將會開啟對應的 MODBUS TCP Client 服務,做為連結通道。可以連接的 UID (Unit Identifier,相當於 Slave Address)由下方增加的設備而定。

除了 MODBUS TCP 外,也可以選擇 MODBUS RTU,用以連接透過 TCP 轉 RS485 的透傳轉換器連接的 MODBUS RTU 設備

最大封包數為 TCP Client 連接設備允許的最大封包長度,此設定值將影響一次讀取點數的最大值。

讀取間隔為封包的間隔時間,數值過小可能有 Slave 設備反應不及或超出封包傳送時間的風險,數值過大則會使資料更新速度過慢,建議數值為 80~200 mS。如果連接的不是 Gateway ,而是一個 MODBUS TCP Server 設備(例如 Ethernet IO module),則較無此顧慮。


1.4.6.4.MODBUS TCP Server:

ICDT WEB HMI 程式具備 MODBUS TCP Server 功能,可以開啟指定通訊 Port,供其他 MODBUS TCP Client 設備連接。 ICDT WEB HMI 的 MODBUS TCP Server 可以連接的 UID (Unit Identifier,相當於 Slave Address)由下方增加的設備而定。每一個設備具備 64 個 Coils 與 64 個 Registers(Holding Registers)。

使用 UID 編號 255 (亦即16進制的 0xFF) 可採用 ((UID-1) *64) 的偏移方式讀取 UID 1~254 的點,例如 UID 2 的 Register Address 5 (Holding Register 40006) 除了 UID = 2 & Register Address = 5 的方式讀取,也可以用UID = 255 & Register Address = 69 方式讀取 ( 69 =(2-1)*64 +5))

因此在 伺服器下同時增加多個編號連續的器件可以利用 UID 255 對連續的記憶體編號進行操作,以減少讀封包寫次數。

ICDT WEB HMI 伺服器功能可用於系統整合、設備斷線偵測或提供其他 MODBUS TCP Client 設備回報數值及狀態。



伺服器可以選擇是否啟用 MySQL 動態連結功能(但必須在資料庫設定必須勾選 MySQL ),以個別下方增加的設備連結到 MySQL 資料表中。開啟連結的設備會以其編號為 id 值,並將 Coil 0~ 63 分別填入 C0~C63 ; Register 0~63 分別填入 R0~R63 中,並於每次變更後將MO (Output)欄寫入1。如果每秒讀取 MI (Input) 欄發現其數值變為1,則會讀取數值到 TCP Server 的 Coil 與 Register 中。
伺服器MySQL 動態連結功能可以方便的用於資料庫整合中。但必須注意 Register 數值格式仍是以 0~65535 方式儲存,如果採用浮點數或 4 個 bytes 的整數,則必須使用個 Register,並且先轉換成兩個 0~65535 的數值作存取。

1.4.6.5.器件 Device:

點選要增加器件的通訊位置 (如 BACnet/IP、伺服器等) 按下增加鍵,並選擇 器件 Device,可以在該網路/迴路/下增加器件。

在刪除或修改設備代號時必須注意該設備是否已經被使用,否則可能會造成控制點的錯誤。

除 TCP Server 外的設備都具備 『斷線通知』 與 『通訊記錄』選項,其中:
勾選 『斷線通知』 功能可以於設備通訊失敗時將指定的點寫入 1,一般建議寫在伺服器 (Server)的 Coil 點。通訊失敗指讀取該器件的點於讀取或寫入時沒有獲得回應,每 10 秒偵測一次,連線正常或長時間未讀取該器件的點則會寫入 0。

勾選 『通訊記錄』選項,可以將連線正常或失敗的狀況,記錄於專案資料庫中,以利查詢。『斷線通知』與『通訊記錄』只能選擇其中一種功能。

無法正常連線的設備如果通訊點未被移除,可能造成該迴路的資料擁塞,使其他相同迴路器件通訊異常,因此建議將斷線資設備勾選『停用』以避免干擾正常設備的連線

1.4.6.5.1.BACnet 器件:

在 BACnet 網路下增加的器件為 BACnet 器件,依照實際連接的器件編號輸入。器件編號與名稱皆不可重複。
BACnet 網路自動產生名稱為 #BACnetServer47808 (47808 為 BACnet Port 號) 是 WEB HMI 本身的 BACnet 器件,有 64 個 AV 與 64 個 BV 虛擬點可供輕度的整合使用。



點選放大鏡圖示可查看器件資訊

1.4.6.5.2.MODBUS TCP 與RTU 遠端器件:

在 MODBUS RTU Matser (Port:COMxx)下增加的器件為連接在該網路的 MODBUS RTU Slave 設備,必須依照設備的 Slave Address 設定地址,且不可重複。

在 MODBUS TCP Client (TCP-_._._._:_) 下增加的器件為該 MODBUS TCP Server 內的點或是MODBUS TCP Gateway 下掛的設備,必須依照要連接 Server 的 UID 或 下掛設備的 Slave Address 設定地址,且不可重複。


1.4.6.5.3.TCP Server 虛擬器件:

於 WEB HMI 內指定的 MODBUS TCP Server 下以增加的 UID 為地址增加器件,每一個器件(UID)具備 64 個 Coils 與 64 個 Registers(Holding Registers),每個設備可以個別勾選作為雲器件、時程表功能器件與日曆功能器件(只能擇一),如不勾選擇則作為一般軟體點使用。



1.4.6.5.3.1.雲設備:

作為雲設備用途時,這個 UID 位置不允許透過 MODBUS TCP 通訊來存取,而只能使用 雲端存取碼寫入數值,以 HTTP GET 存取 /cgibin/update.php,可以使用方式為
(雲端存取碼 key : 97ac02139cd494dbf9dcad1a4f288380 為例)
http://www.icdt.com.tw/cgibin/update.php?key=97ac02139cd494dbf9dcad1a4f288380®=1,2,3,4,5,6
以 reg 參數將 Holding Register 前 6 點(40001~40006 / R0~R5) 分別依序設定為 1~6

http://www.icdt.com.tw/cgibin/update.php?key=97ac02139cd494dbf9dcad1a4f288380&coil=1,1,1,1,1,1,1
以coil 參數將 COIl 前 7 點(1~7 / C0~C6) 都設為1

http://www.icdt.com.tw/cgibin/update.php?key=97ac02139cd494dbf9dcad1a4f288380&val=22.5,86.4,4003
以 val 參數將 Holding Register 前 6 點(40001~40006 / R0~R5) 以兩個 Register 為一組以符點數格式分別設定數值為 22.5、 86.4 與 4003

存取成功會回應『OK!(cloud)』
雲設備線上展示https://icdt.com.tw/demo_/cloud.htm

注意事項 :
Register 與 Coil 位置一律從最前面位置開始,不修改的可以略過 (對應 ',' 不須入數值)。
雲端存取碼變更後必須使用新的 key 值,否則無法存取
val 參數一次使用兩個 Register

1.4.6.5.3.2.時程表功能器件:

勾選時程表功能時,每個設備獨立依照以下邏輯每分鐘運算一次
■每日動作固定 4 個時段
■將R0~R63 分成 8 組,各對應
˙週一: R0~R7
˙週二: R8~R15
˙週三: R16~R23
˙週四: R24~R31
˙週五: R32~R39
˙週六: R40~R47
˙週日: R48~R55
˙假日: R56~R63
˙每組 8 個Register 各為 ON1/OFF1/ ON2/OFF2/ ON3/OFF3/ ON4/OFF4 4 個時段時間
■C62 為 ON 時,則採用假日設定,否則依照星期運算;
■如果有假日需求應將其他假日運算輸出至C62,否則固定寫入0
■每個Register 數值必須為十進制0~59/100~156/200~259/300~359/ .... /2200~2259/2300~2359 以HHMM 代表時與分
■運算結果輸出至 C63

WEB HMI 可以利用巨集或傳輸功能,將 C63 結果做為控制點控制外部設備
(此處 R0 指 Holding Register Address 0 即 40001 ;C62 指 Coil Address 62 即 63 的點)


時程表功能線上展示https://icdt.com.tw/demo_/schedule.htm

1.4.6.5.3.3.日曆功能器件:

勾選日曆功能時,每個設備獨立依照以下邏輯每分鐘運算一次
■將 全部 64 個 Register 以十進制MMDD 方式解讀,亦即101~131 代表 1月1日~1月31日 ;201~229 代表 2月1日~2月29日依此類推 ;所以最大有效數值1231 代表12月31日,其餘數值無效
■C61 為 ON 時自動清除當年度已經到達的日期,例如 11 月 5 日會將小於等於1104 的數值都清除為0
■C62 為 ON 時會將日期自動依照前後順序排序,也就是將不是 0 的數值(日期)自動重新由小到大排列(從 R0 / 40001 開始)
■當日期與任一個 Regiser 數值相同(MMDD 方式編碼), C63 為 ON,否則為 OFF

WEB HMI 可以利用巨集或傳輸功能,將 C63 結果做為日期運算控制點或寫入到時程表功能器件作為假日設定依據(C62)
(此處 R0 指 Holding Register Address 0 即 40001 ;C62 指 Coil Address 62 即 63 的點)



日曆功能線上展示https://icdt.com.tw/demo_/calendar.htm

1.4.6.6.匯出/匯入器件:

設備編輯時,選擇 BACnet/IP、伺服器等通訊端口,可以將其所屬的器件匯出為 CSV 檔案,供 Excel 程式快速編輯,或自 CSV 檔案匯入編輯後的資料。

匯入檔案時可以選擇插入或取代,插入模式會比對現有器件,將不存在清單中的器件插入;取代模式則會刪除所有器件,以匯入的器件表取代。

編輯 CSV 檔案時格式可以先匯出檔案做參考。

1.4.7.元件及物件:

1.4.7.1.物件標籤:

物件標籤(Object Tag)是以名稱方式取代點或物件屬性,以便於圖控系統的規劃作業,例如以 RA_Temp 關鍵字取代 R32d1,編輯時更容易理解。

編輯物件標籤時必須先選擇 MODBUS 或者是 BACnet 標籤,兩者不可混用。



標籤設定時可以選擇是否限制適用器件,如果不選擇任何器件,則 BACnet 標籤適用於所有 BACnet 器件,MODBUS 標籤適用於所有 MODBUS 設備,反之則只有選擇適用標籤的器件時,才會出現該標籤。例如 將 RA_Temp 標籤指定所有空調箱控制器,則只有在選擇空調箱控制器時,才會出現 RA_Temp 標籤。

物件標籤用於圖控動態物件及其他進階服務功能時輔助用,也可以不採用標籤方式,每次直接指定控制點。

如果控制點採用限制器件的標籤時,則會在圖控顯示時以 Tag_Name@Device_Name 方式顯示以利辨識,例如 “RA_Temp@AHU1”。


1.4.7.2.控制點格式:

控制點為指定設備內的點或物件屬性,在 MODBUS 模式中可以選擇 Coil、Input、Holding register、Input register 4種,其中 Input 與 Input register 不支援數值寫入功能。BACnet 模式則可以支援大部分的標準物件通用資料格式的標準屬性。

由於 MODBUS Holding register、Input register 的數值格式數值範圍只有 0~65535 (0x0000~0xFFFF),因此 ICDT WEB HMI 支援多種格式轉換以增加彈性,其數值存取方式說明如下:
"u" 為標準 0~65535 的數值範圍
"s" 將指定 Register 視為符號整數,亦即數值範圍 -32768 ~ 32767
"d1" 將指定 Register 視為符號整數 /10 ,數值範圍 -3276.8 ~ 3276.7
"d2" 將指定 Register 視為符號整數 /100 ,數值範圍 -327.68 ~ 327.67
"bcd" 將指定 Register 以整數方式讀取並除以 BCD 方式解讀,數值範圍 0~9999
"U" 將指定編號開始 2 Registers 視為 4 位元組整數,高位在前
"S" 將指定編號開始 2 Registers 視為 4 位元組符號整數,高位在前
"F" 將指定編號開始 2 Registers 以浮點數(float)方式存取,高位在前
"Usw" 將指定編號開始 2 Registers 視為 4 位元組整數,低位在前
"Ssw" 將指定編號開始 2 Registers 視為 4 位元組符號整數,低位在前
"Fsw" 將指定編號開始 2 Registers 以浮點數(float)方式存取,低位在前
"T" 以連續指定數量的 Registers 作為文字顯示, 高位元組在前
"Tsw" 以連續指定數量的 Registers 作為文字顯示, 低位元組在前
"Bit" 以指定位置位元作為數位點運算,數值越小越低位元(選擇 Bit 時會被視為數位點操作,寫入時只改變相對位元狀態)

U 、S、F、T 等非單一 Register 操作的格式,應該注意保留接續的 Register 空間



定義物件標籤時會包含其數值格式,不同的數值格式將被視為不同物件。

1.4.7.3.動態物件:

動態物件只圖控上會依照讀取數值最變化的物件,例如文字方塊的『文字動態物件』、圖形方塊的『圖形動態物件』、核取方塊、方框的動態尺寸等。

動態物件讀取控制點後,依照計算需求做計算並顯示。除了方框的『動態尺寸』外其餘動態物件只要不是管制等級選擇唯讀,都可以針對可以寫入的控制點進行輸入或改變狀態。

MODBUS 的 Holding register、Input register 以及BACnet 數值格式為正數(Unsigned Integer)、整數(Signed Integer)、浮點數(Real 與 Double)可屬性可以選擇顯示數值的格式、寫入數值高限與低限。並且可以設定過高或過低時的對應文字顏色。
除此之外,上述控制點可以選擇倍率運算或執行 Script 運算。



Script 運算 是運用JavaScript 的 eval() 函數功能讓使用者自行定義計算式,計算式中以 $$ 表示實際讀到的數值,例如 $$*1.8 + 32 ,則表示會將讀到數值乘以 1.8 再加上 32。
計算式應符合 JavaScript 的 eval() 函數語法。Script 運算在選擇 eval() 選項後,可以按下 『JS』按鈕進行輸入與測試。由於不同瀏覽器對於 JavaScript 運算的支援略有差異,因此建議盡量使用通運的運算式及標準 Math 函數。
由於 Script 運算於數值讀取與數值寫出時方向不同,因此建議非唯讀的應用場合必須同時編輯寫出的 Script 運算式。Script 運算與倍率運算無法同時使用

Coil、Input 由於數值只有 0 與 1,因此顯示較為單純,不支援寫入數值高低限以及倍率調整。文字模式可以選擇數值為 0 (Off) 或 1 (On)時的顏色。
其他如 BACnet 數值格式為 Boolean 以及 BI(Binary Input Object Type)、BO(Binary Output Object Type)、BV(Binary Value Object Type)的 Present value 等 BACnetBinaryPV 類型的屬性同樣以此方式顯示。

文字方塊可以選擇文字模式用來將數值對應各種文字顯示。讀取數值時會顯示接近且大於或等於該數值的對應文字。
圖形方塊則可以選擇數值與文字的對應,並於讀取數值時會顯示接近且大於或等於該數值的對應圖形。



修改控制點的類型與編號,除了點選個別控制點進行修改外,也可以一次選擇多個物件,由上方的編輯控制點功能鈕進行設定。
例如點選上方的『控制點變更』功能鈕,可以依照選擇點佈置方向,一次改變多個物件的器件與控制點。



也可以在完成編輯後選取一個到多個物件,利用『重複物件』功能鈕,一次複製多個物件


1.4.7.4.寫出按鈕:

文字方塊與圖形方塊選擇按鈕型式時,可以選擇寫入模式,指定控制點與數值後,在按下該文字或圖形方塊並經過確認後,會將該指定數值寫入控制點中。





按鈕寫出數值支援 JavaScript 的 eval() 函數,可以將 $$ 以目前的數值取代,例如寫出運算式 $$ +1 ,則會在按下後數值增加 1


1.4.7.5.連結按鈕:

連結按鈕可以依照輸入內容不同,做各種不同的動作


1.4.7.5.1.連結外部網址:

以 HTTP 或 HTTPS 開頭,輸入完整網址,操作時以新視窗開啟指定外部網頁

1.4.7.5.2.連結內部網址:

以 @ 開頭,輸入網頁跟目錄的網頁名稱,操作時以新視窗開啟指定內部網頁。
如網址以 @./ 開始,則 @ 與 / 中的 ' . ' 表示專案路,例如 @./customized/clock.html 表示 專案 customized 路徑下的 clock.html 連結與嵌入頁面

1.4.7.5.3.驅動內部程式:

連結按鈕選擇現有執行檔可使按下該按鈕後執行連結的執行檔。設定時必須注意本程式是否被授權執行外部程式的權限。透過瀏覽器連結按鈕會透過加密方式傳送指令給 WEB HMI 電腦執行預先授權的,不會有漏洞疑慮。
完成專案編輯必須執行『匯出所有網頁』後,連結按鈕執行程式功能才會生效

1.4.7.5.4.跳頁連結按鈕:

跳頁連結按鈕以 # 開頭並輸入頁面名稱 + ".htm",可以使按下該按鈕後相同網頁上『固定嵌入網頁方框』網址以 # 為開頭的『按鈕選頁方框』網頁內容置換為該頁面。按鈕選頁方框

1.4.7.5.5.群組顯示控制按鈕:

跳頁連結按鈕以 $ 開頭並輸入群組控制關鍵字時為『群組顯示控制按鈕』,操作時可以控制『按鈕控制顯示群組』顯示與隱藏。按鈕控制顯示群組


1.4.7.6.管制等級:

文字方塊、圖形方塊核取方塊、按鈕等在設定為按鈕或動態點模式時會出現管制等級選項,可以選擇無、1~10以及唯讀等。選擇唯讀時該點僅供顯示,無法操作,選擇為『無』時只需要訪客(Guest) 層級即可進行操作,等級1~10則需要登入層級大於等於該數字的使用者帳號,才可進行該項操作。


1.4.7.7.預設器件:

所有『跳頁』或『開啟頁面』的按鈕功能都具備預設器件選項,勾選設定後可將進入該頁選擇器件為 『#defaultModbusDevice』 或 『#defaultBACnetDevice』的動態點,以預設器件取代。
此用途可以大幅簡化如 FCU(冷風機)、AHU(空調箱) 等相同點位配置的圖面編輯工作。如需要在圖面標示設備代號時,MODBUS 設備可以利用未使用到的 Register 當作文字變數即可。




1.4.8.BACnet Pioneer:

BACnet pioneer 是 元米科技有限公司(Intelligent Control Design & Technology Co., Ltd) 提供的BACnet 免費測試工具,用於搜尋 BACnet IP 網路上的設備,以及其各項物件屬性,並支援有限度的數值設定。
訂製版 WEB HMI 無此功能,請自行自元米官網下載安裝 https://www.icdt.com.tw/main/index.php/2013-07-09-05-16-50/bacnet-free-software-menu


1.4.8.1.Setup:

Setup 設定鍵可以開啟設定頁

Device instance : 用以設定 BACnet Pioneer 程式本身的器件編號(Device instance),必須注意的是 BACnet 網路上所有設備的器件編號皆不可以重複,因此 BACnet Pioneer 的 Device instance 不可以與其他設備重複,否則會產生錯誤。

UDP Port : 用以設定 BACnet IP 網路的 UDP Port,預設數值為 47808,改變此數值將會改變所在的 BACnet IP 網路。

按下 OK 後會重新設定 BACnet Pioneer 的 Device instance 與 BACnet IP 的 UDP Port,並清空現有的 Device 資訊,重新發出 Who is 廣播

1.4.8.2.Who is:

按下 Who is 鍵會對於指定(UDP Port) 的 BACnet IP 網路 發送全區域的 BACnet Who-is-Service 廣播,清空 Device 選單的項目,並於接收到新的項目時加入 Device 選單。
如果 Device 選單 有任何一個編號被選擇後,則後續回覆 I-am 的 Device 編號就不會再加入

1.4.8.3.Device:

Device 選單是自發送 Who-is 廣播後到選擇讀取器件編號中所有回覆 I-am 資訊的器件編號(Device Instance)清單。選擇任一編號後即會停止接收 I-am 資訊,並針對所選擇的 Device 進行設備掃描。

設備清單中應該至少有一個數值為 BACnet Pioneer 本身的編號,如果經過幾次測試都沒有任何數值出現,則很可能選用的 UDP Port 被佔用,或者沒有有效的網路存在。

選擇器件編號後,下方樹狀圖根路徑會出現選擇的器件描述,例如 Device 4170000(this),表示選擇的器件編號,括弧內 this 表示選擇的是 BACnet Pioneer 本身,如果是 IP 地址(例如 192.168.1.100),則選擇的是相同網路(Local network) 內的 BACnet IP設備,如果是 300:0x01@192.168.1.99 則表示來是 IP 地址為 192.168.1.99 的 Router ,網路編號為 300,MAC Address 為 1。

必須注意同一個 UDP Port 不可以被一個以上的程式使用,因此開啟 BACnet Pioneer 使用 Port 號 47808 時,不能夠同時開啟其他使用 Port 號 47808 的 BACnet 圖控軟體(例如 ICDT WEB HMI )等

1.4.8.4.設備掃描:

於 Device 清單中選擇器件編號後會對該編號進行掃描,掃瞄動作會有以下不同方式:

下方樹狀圖選擇根路徑時會掃描器件內所有的物件,並依照物件類別(例如 Device、Analog Input 等)將物件編號加入,直到所有物件類別(Object List Property)都讀取完畢,圖示燈由紅色變成綠色為止。

選擇物件類別(例如 Device、Analog Input)項目不會進行任何動作。

選擇物件類別下的物件編號時,會針對該物件編號的所有標準屬性進行掃描,將有回應的屬性增加於下方,直到圖示燈由紅色變成綠色為止。部份 BACnet pioneer 不支援的數值格式可能被忽略

選擇屬性項目,如果該屬性為陣列(Array) 性質,圖示燈會是紅色,點選後會讀取所有 Index 後顯示,直到變成 綠燈。不是陣列的屬性(藍色圖示燈)將不斷讀取其目前數值,並更新狀態。
如果滑鼠雙擊 BACnet pioneer 支援寫入的數值格式屬性(或陣列)項目,將會開啟設定視窗,以輸入寫出數值,如果該屬性不支援寫入(唯讀),將會寫是錯誤訊息。
針對支援優先權控制(Prioritized Commands)的屬性(一般為 Present value)進行個別優先權控制時,可以直接雙擊 其 Priority 屬性進行調整,本程式會自動改成寫入該層的 Present value 屬性(因為實際上 Priority Property 是唯讀的)。如果直接 雙擊 Present value 進行調整,則命令的 Priority 將會被設在最低的 16 層。但必須注意由於本程式僅針對被選擇的屬性進行讀取,因此調整 Priority 屬性後,必須再選擇 Present Value 才會顯示調整後的狀態。

如果進入全部讀取(Read All)狀態則樹狀圖將無法被操作,直到讀取完畢或按下 Stop 為止。全部讀取(Read All)狀態於下一單元說明。

1.4.8.5.Read All 與 Stop:

設備掃描可以依照選擇樹狀圖的位置來決定讀取資料,如果需要讀取所有物件屬性,則可以按下 Read All 件以進入全部讀取狀態。
全部讀取狀態會使樹狀圖不能操作,並自動選擇未完成讀取動作的項目,直到所有項目讀取完畢(所有紅色圖示燈都變成綠色)或按下 Stop 鍵。
全部讀取時間視物件數量與設備位置以及網路效能而定,一般需要較長時間。如非必要,一般應用可以直接抽樣選取需要的項目讀取即可。

1.4.8.6.Save:

按下 Save 鍵會將目前樹狀圖資訊存成文字檔,以供細部閱讀、其他程式應用或存檔備查。

1.4.9.服務:

ICDT WEB HMI 可使用之設備數量與警報、趨勢記錄等功能數量會依照授權狀況而異。實際授權數量可參考"授權資訊"

1.4.9.1.資料庫:

ICDT WEB HMI 具備記錄表(Trend-log)與警報(Alarm)功能,其歷史資料是透過 SQLite 或 MySQL 資料庫進行記錄。
SQLite 為 ICDT WEB HMI 內含功能,不需要額外安裝資料庫伺服器。如果您的圖控系統希望提供遠端電腦連接資料庫,則您可以利用 AppServ 套件安裝 社區版的 MySQL Community 免費社群版,並記錄 root 密碼,供資料庫設定使用安裝網頁伺服器
如無外部資料整合需求,建議直接使用 SQLite 資料庫,以簡化系統架構,降低錯誤機會。
注意!外部網頁伺服器僅支援 MySQL 資料庫,不支援 SQLite 資料庫。





勾選使用 MySQL 的資料庫以設定 MySQL 的資料庫主機,未勾選擇使用 SQLite 資料庫

1.4.9.1.1.主機(Server):

MySQL 資料庫主機 僅支援 127.0.0.1
(SQLite 資料庫無須設定)

1.4.9.1.2.資料庫帳號密碼:

輸入具備資料庫操作權限的帳號密碼,以供 ICDT WEB HMI 對 MySQL 資料庫進行操作,可以是 root 或其他具備此權限的的帳號密碼。
安裝 AppServ 套件時,此密碼為安裝 MySql 步驟的 root 密碼,其使用者名稱即為 "root"
(SQLite 資料庫無須設定)

1.4.9.1.3.專案資料庫:

ICDT WEB HMI 每個專案中的資料表(Table)都使儲存在相同的資料庫(Database)中,因此必須先建立並選擇正確的資料庫,才能進行相關操作。

可以選擇『更新』以建立現有資料庫(Database)選單,或按『增加』以新增資料庫,或按『刪除』以刪除選擇的資料庫。

注意!資料庫被刪除後將無法復原,請謹慎執行相關操作!
(SQLite 資料庫無須設定)

1.4.9.1.4.最大資料量:

除了趨勢記錄的資料表外,其餘如警報記錄資料量等會持續增加。如果在有硬碟空間顧慮的場合,可以勾選並設定最大資料量,當各表單(趨勢記錄除外,趨勢記錄由各表單自行設定)累積資料量達設定值後,會自動刪除較舊的資料。

最大資料量同時適用於 通訊記錄(commlog)、操作記錄(opertionlog)、狀態記錄(covlog)以及 警報記錄( alarmlog) 資料表。

1.4.9.1.5.趨勢記錄資料表:

於 服務->記錄表 中各個趨勢記錄個別設定儲存的資料表,當資料表的格式改變時(例如記錄數量改變),該資料表會被重新設定



選擇 趨勢記錄 資料表時,預設名稱的表單(例如 alarmlog等)將不會出現於清單中。

1.4.9.1.6.動態聯結資料表:

於 設備編輯 TCP Server (伺服器) 中設定該伺服器資料動態連結的資料表,由於它是使用 RAM 作為儲存的資料表,因此斷電後資料會消失。其相關設定 TCP 伺服器 Server
使用 SQLite 資料庫時無『MySQL 動態聯結』功能


1.4.9.2.郵件:

ICDT WEB HMI 警報功能可以透過 google 郵件伺服器(預設) 或其他郵件伺服器發送警報郵件


1.4.9.2.1.主機(stmp):

設定郵件伺服器可依照 SMTP 主機設定,預設為 Google 郵件伺服器,如果 帳號密碼正確仍無法寄出,必須檢查 是否打開『安全性較低的應用程式存取權限』可參考 :
https://www.google.com/settings/security/lesssecureapps



如仍出現無法登入狀況,應考慮啟用兩階段認證,並使用應用程式密碼進行登錄,參考 :
https://support.google.com/mail/answer/185833

1.4.9.2.2.郵件帳號密碼:

設定有效的 Goole 郵件帳號與密碼,以該帳號發送警報郵件。可以使用現有帳號,或至 Google 另申請專用帳號,以供 ICDT WEB HMI 使用。

1.4.9.2.3.收信者清單:

設定所有接收警報訊息接收者的郵件地址

1.4.9.2.4.測試郵件:

用已針對目前設定選擇收信者及信件內容發送郵件,以確認設定是否正確。

1.4.9.3.警報:


1.4.9.3.1.警報的類別:

警報可以分為被動的警報通知與主動的警報監視點兩類
勾選停用時該警報監視功能將暫停運作

1.4.9.3.1.1.警報通知:

警報通知適用於 BACnet 通告或其他外掛程式警報訊息通知。



BACnet 通告是經收到 BACnet ConfirmedEventNotification Service 或 UnconfirmedEventNotification Service 的 Notify Type 為 alarm 的封包接收後進行的處理,只有通告識別編號數值相符的通告才會觸發該項警報。

BACnet 通告必須在 BACnet Server 被設定後才生效。

1.4.9.3.1.2.警報監視點:

警報監視點是對於類比數值或數位狀態點進行監視,並針對超出設定或異常時進入警報處理程序

1.4.9.3.2.動作異常警報:

選取 數位狀態 的 警報監視點 可以選擇 On/True/Active 時異常或 Off/False/Inactive 時異常,當監視點在異常狀態持續時間超過緩衝時間後,即進入異常狀態。數位狀態 值不是選擇的異常狀態持續時間超過緩衝時間後即回覆到正常狀態。如果未設定緩衝時間則會在改變狀態時立即進入異常或回到正常狀態。

1.4.9.3.3.高低限警報:

選取 類比數值 的 警報監視點 可以選擇數值大於或數值小時設定值時產生數值過高或數值過低警報。如有設定變化量,會在數值會允許預設變化量的誤差。有設定緩衝時間時,則必須持續達緩衝時間後才會改變警報狀態。

1.4.9.3.4.警報通知點:

設定警報通知點時,會在警報狀態進入異常、過高或過低時,將預設的數值寫入警報通知點中。該數值不會在回到正常時回復原來數值。

1.4.9.3.5.E-mail 通知:

E-mail 通知被設定後,如果警報狀態改變,會將警報狀態、數值、時間等資訊發送郵件給清單中的使用者。



設定 E-mail 帳號與接收者清單必須在 "服務" 的 "郵件" 處設定。郵件


1.4.9.3.6.連結頁面:

執行模式中當警報狀態改變時, ICDT WEB HMI 警報清單會彈出新增警報按鈕,如果該警報設定連結的頁面,或在按下按鈕確認時提示選擇 " 否" 以直接開啟指定的連結畫面,以利操作者快速掌握與警報相關的其他資訊。

1.4.9.3.7.警報執行:

勾選執行時,可選擇 安裝路徑下 app 子路徑下的可執行程式,使警報由正常轉變為異常時驅動該程式。例如使用勾選警報播音程式 alarmtts.exe 並將參數填入 『注意+』 則會在警報發生時語音播放『注意』再加上警報名稱、狀態、提示資訊等警報訊息 (參數後有 + 號時)

1.4.9.3.8.提示資訊:

用以進一步說明警報資訊。此資訊會同時顯示在目前警報、歷史警報與警報通知郵件中。

1.4.9.4.記錄表:

ICDT WEB HMI 具備記錄表(Trend-log)功能,以記錄設備各時間點運轉狀況。記錄儲存方式除了存資料庫外,也可以存成 CSV 檔,供其他應用。但只有儲存於 資料庫 中才可以被透過網頁讀取。

1.4.9.4.1.記錄表名稱:

記錄表辨識用,文字內容不得重複

1.4.9.4.2.時間間隔:

設定資料表記錄的時間間隔,單位是秒。
由於頻繁的記錄動作將會影響設備與網路效能,並且需要較大的儲存空間,因此建議是實際記錄解析度需求來設定時間。建議時間間隔為 60 至 900 秒。

1.4.9.4.3.資料數:

設定儲存於 MySQL 資料表(Table)中的資料筆數,過大的資料數需使用較大的儲存空間,並可能影響系統效能。
此參數設定不影響 CSV 存檔動作。

1.4.9.4.4.資料表:

用以設定此記錄表歷史資料儲存在專案資料庫(Database)中的資料表(Table)名稱。
如果資料表格是不符將會被清除資料並重新設定。不同的記錄表不能使用相同的資料表(Table)。



按下『清除』鍵將會清除資料表內已儲存資料。

1.4.9.4.5.儲存 CSV:

記錄表可以儲存為 CSV 檔案,供 Excel 或其他程式分析或資料採集,存檔方式依照檔名的時間變數而定,其規則如下:
1. 檔名內以大於小於括弧<>含蓋日期參數方式表示,例如 『log.csv』
2. 檔名中只能一組日期參數('m' 或 ' d' 或 'y' 字元)
3. 日期參數 yy 會以西元年後兩碼編碼,日期參數 yyyy 會以西元年編碼
4. 日期參數 m 會以月份 1~12 取代,日期參數 mm 會以 01~12取代
5. 日期參數 d 會以日期 1~31 取代,日期參數 dd 會以 01~31取代
6. 日期參數 H 會以小時 0~23 取代,日期參數 HH 會以小時 00~23 取代
7. 依照日期參數不同可能會每天或每月或每年產生一個檔案
8. 相同檔名內容將不會被覆蓋,新增紀錄資料將直接加在其最後方

輸入檔名時,下方藍字自動以當下日期時間帶入產生檔名範例,出現紅字則為檔名格是無效
勾選『記錄時間不帶日期』則時間欄位不顯示日期,僅顯示時間
勾選『僅維持一筆』則每次記錄時會清除舊有資料,僅維持最後一筆資料


1.4.9.4.6.記錄點:

每個記錄表可以有一個或多個記錄點,以同時將多筆資料於同一個時間點一起記錄,以利比對。

記錄點 可以是 BACnet 物件屬性或是 MODBUS 點,其中 BACnet 點僅支援數值格式(Unsigned Integer / Signed Integer / Real) 或列舉(Enumerated)與布林(Boolean)屬性的記錄,其餘無效。

記錄時間到達時,系統會在一定的延遲時間內等待所有的資料讀取完畢再進行儲存,如果超出時間仍無法順利讀取,則會以 Null 作為儲存。

ICDT WEB HMI 原則上每個記錄表並沒有限制可以記錄的點數,但網頁讀取時,最多只能顯示 10 的點的記錄資料。

選擇記錄表設定方式時,採 1 個記錄表多個記錄點的效能遠較多個記錄表各記錄一點高出許多,設定時建議多採用前一種方式進行。

1.4.9.5.運轉狀態:

V1.6.0.0 以後版本新增運轉狀態記錄功能,針對數位點記錄狀態的變化。



運轉狀態記錄以群組方式管理,以利於分群組查詢,設定時按下 + 鍵以選擇增加群組名稱或在選取的群組下增加監視點。



運轉狀態記錄的名稱用於系統辨識,只能是英文或數字,描述欄則不受此限制。
如需要不同數值以相對應的文字顯示,則可以於狀態文字處輸入對應內容


1.4.9.6.傳輸服務:

讀取清單中指定讀取器件的控制點寫出到指定輸出點上,原則上傳輸服務每 10 秒中進行一次,但時間可能會受到整體物件傳輸量影響而增加。由於頻繁的資料寫出會比資料讀取佔用更大的網路資源,因此建議限制資料傳輸量,以免影響系統效能,建議的傳輸量為 400 點以下。



傳輸服務可以用來作為 DDC8 等 MODBUS Slave 設備間資料交換,或是 BACnet 與 MODBUS 的基本資料轉換。



較新的版本除了典型的資料傳遞外,勾選 IF 後,可以在選擇的條件點讀到數值大於零時才進行傳送(勾選 ! 則條件相反)。
來源除了讀取指定點的數值外,也可以選擇常數,可以指定的數值常數或是 null (僅限 BACnet)或是勾選變數,以傳送時、分、秒等時間變數。

1.4.9.7.巨集服務:

巨集服務是基於 JavaScript 程式語言的巨集服務,允許多個輸入,經過自定義的 JavaScript 程式語言運算後輸出至指定的物件。

巨集的運算是以標準的 JavaScript eval() 函數運算,可支援變數以及標準函數功能。並以最後一筆運算最為輸出。

執行模式時會定時將各輸入點讀值依序以 $1$、$2$ 順序帶入 巨集運算式,如果運算無誤,將結果寫出至輸出點。

編輯器內含簡易JavaScript 編輯功能可提供驗證機制,可以將驗算數值填入變數名稱旁的空格,按下"測試"以進行試算。



巨集服務適用於 V2.0.4.1 以後版本

1.4.10.CSV 匯入與匯出:

ICDT WEB HMI 多項服務,與設備編輯項目支援匯出 CSV 格式或者 自 CSV 格式匯入,使用上有些注意事項與技巧如下:

1. CSV 是 EXCEL 的一種檔案格式,是以逗號 ',' 分隔的純文字檔,因此如果編輯的內容有包含逗號,則匯入時會產生錯誤,如有需求,建議使用大小的逗號','或直接以 %2C 表示,匯入時會自動將 %2C 轉換為 ','。相同的,如果原本編輯為 ',',在匯出到 CSV 檔時也會變成 %2C
2. 可以先製作一個項目,然後利用匯出功能,產生 CSV 檔案,再依照其檔案格式進行編輯
3. 匯入時會自動將雙斜線 // 後的內容忽略,因此可以將 // 作為註解欄
4. 控制點等編號可以在後面增加 雙斜線 // ,再以 =G6 & H6 等計算式來快速產生您要的資料
5. 由於 Excel 不支援 UTF8 編碼格式(除非有 BOM / 位元組順序記號 / byte-order mark),因此 匯入匯出動作或自動轉成 BIG5 編碼格式,如果其他工具用其他編碼方式編輯中文內容可能會產生亂碼
6. 匯入時可以選擇 " 取代" 或 "插入" ,取代會先刪除舊有資料,"插入"則會在發現名稱重複時只產生提示。可以利用 "取代" 功能,匯入空的 CSV 檔來快速刪除所有設定。

1.5.網路安全與隱私策略:

本程式需要搭配網頁伺服器軟體使用,除了提供 PHP 讀取的通訊介面,以及 BACnet/IP 、MODBUS TCP Client 與 MODBUS Server、 MODBUS RTU 的標準通訊,就只有網路授權試用版執行程式時向 ICDT 網站更新授權資訊,不會蒐集電腦其他資訊。本程式 PHP 功能僅提供與 ICDT WEB HMI 簡易的溝通介面與讀取內部 MySQL 記錄資料,以及使用者權限檢查,並沒有使用其他通訊功能。

本程式不具備網路安全與隱私權的漏洞,但網頁伺服器或其他自行添加的網頁功能的網路安全與本程式無關。

2.Q & A:

2.1.一定要安裝 Appserv 套件嗎?:

ICDT WEB HMI V2.2.0.0 版以後已包含 WEB Server 以及 SQLite 資料庫,因此一般寫用條件下無須另安裝套件,但需要使用 HTTPS 協議或是 MySQL資料庫時,可以選擇透過安裝套件來達到需求。

Appserv 是極容易安裝與使用的架站套件程式,包含 ICDT WEB HMI 所必備的 Apache 、PHP 與 MySQL 程式,如果您不需要網頁伺服器功能與資料庫功能,也可以選擇不安裝。

除了 Appserv 外,也可以選擇 Xampp 等其他套件,但由於 ICDT WEB HMI 大部分的驗證都在 Appserv 建構的環境下進行,因此仍建議除非您非常熟悉該套件的環境,否則盡可能採用 Appserv 套件。

2.2.一定要安裝 MySQL 嗎?:

ICDT WEB HMI V2.2.0.0 版以後已預設使用 SQLite 資料庫,因此如果沒有額外需求無須安裝 MySQL,但如果使用外部 WEB Server 時,則必須使用 MySQL 資料庫才能存取。SQLite 資料庫與 MySQL 資料庫 只能二擇一使用。

使用 MySQL作為資料庫可以透過授權讓其他軟體由其他設備透過通訊存取資料庫,SQLite 則無法透過通訊方式存取資料庫,只能於相同電腦的程式才能存取。

2.3.為什麼安裝 Appserv 後還是無法在本身電腦瀏覽器 http://127.0.0.1 看到內容:

預設的 WEB Server TCP 通訊埠為 80 Port,如果您沒有更改 Apache 的設定就會採用預設值。
如果電腦本身的 80 Port 被其他程式佔用(如 skype),則無法正常使用。
查詢 80 port 被佔用的方式,可以在電腦命令列下 netstat - ano 指令, 查詢站用程式的 PID:
以 Windows 10 為例,在 "搜尋" 下輸入 "cmd" 會跳出 "命令提示字元視窗", 再輸入上面命令"netstat -ano | findstr 0.0:80" 會列出目前電腦使用PORT的情形, 我們先查詢 Local Address 0.0.0.0:80 或 127.0.0.1:80 的佔用程式的 PID 值,再開啟電腦 windows 工作管理員,選擇 『更多詳細資料』檢視" => "選擇欄位" 勾選 PID 即可找到佔用的程式。
如果不能改變正在使用程式的通訊 Port 設定或移除該程式,則必須改變 Apache 的通訊 Port,編輯 C:\AppServ\Apache2.2\conf\httpd.conf 將 Listen 80 改為 Listen 8080,重新啟動 Apache ( 或電腦),則可以在 http://127.0.0.1:8080 看到內容。
如果 80 port 並沒有被占用,可以值行 C:\AppServ\Apache2.2\bin\httpd.exe -w -n "Apache2.2" -k start 來查看不能啟動的原因。
必須注意安裝 AppServ 時,Server name 不可以有空格,否則可能無法順利啟動 Apache!

2.4.為什麼 http://127.0.0.1 無法看到目前專案:

專案資料必須儲存於Apache 的根路徑下(例如 "C:\AppServ\www"),如果未將專案資料放在正確的位置,則無法正常顯示。
此外,ICDT WEB HMI 有部份 PHP 與 JavaScript 程式碼必須安裝在Apache 的根路徑下,因此必須在第一次安裝或更新時必須執行一次 "安裝 PHP 程式碼"安裝 PHP 程式碼
另一方面,由於訪問 http://127.0.0.1 時,會自動找尋 index.html 與 index.php,因此建立專案或切換專案後必須執行一次"設定轉址",將 index.html 指向專案路徑的 home.htm。設定轉址
進行專案編輯時會自動針對變更的頁面重新產生網頁檔案,由於不同版本 的 ICDT WEB HMI 可能使用不動的網頁程式碼,因此進行系統更新時建議進行一次"匯出所有網頁"的操作。匯出所有網頁

2.5.為什麼 ICDT WEB HMI 電腦 http://127.0.0.1 可以看到專案內容,但其他電腦訪問我 IP 卻看不到內容?:

ICDT WEB HMI 電腦 http://127.0.0.1 可以看到專案內容,表示 WEB Server 與 ICDT WEB HMI 相關設定無誤,如果其他瀏覽器不能訪問到 ICDT WEB HMI 專案資料,可能的狀況如下:
■ ICDT WEB HMI 電腦防火牆或防毒軟體擋住 80 Port,檢視防火牆設定,以確認 80 Port是否開放訪問。
■ ICDT WEB HMI 電腦與瀏覽器的IP不同網段,例如 ICDT WEB HMI 電腦使用內部 IP 192.168.1.123,此時以手機透過 3G 是無法訪問的,就算是連到內部的 WIFI,也必須確認 WIFI 與 192.168.1.xxx 是相同網段,或是可透過 gateway 相連。

2.6.ICDT WEB HMI 支援 IE 嗎?:

由於 ICDT WEB HMI 為得到較佳的顯示效果,使用了大量的 HTML5 技術,部分的功能在 IE9 以前是無法有效支援的,因此建議使用 IE10 以上或是 Google Chome 瀏覽器、 Firefox 瀏覽器等較先進的瀏覽器。在目前主流的手機、平板瀏覽器則沒有這個疑慮。

2.7.如何複製現有專案?:

編輯完成的專案資料都存在網頁伺服器根路徑(例如 "C:\AppServ\www")中,備份時必須同時備份"ProjectName.phm" 檔案與 "ProjectName_" 路徑,其中 ProjectName 指的是專案名稱。
如果要複製為另一個專案名稱,只要同時改變"ProjectName.phm" 檔案與 "ProjectName_" 路徑的 ProjectName 為新的專案名即可。
MySQL 資料庫必須另行自 MySQL 進行備份。使用 SQLite 版由於資料庫在專案路徑的 log 下,因此不須另外備份。

2.8.ICDT WEB HMI 授權方式如何?:

ICDT WEB HMI 如果未安裝金鑰前為試用版,可以編輯 10 個 Device,並且在連線模式中運作 2 小時後會自動斷線,試用版可以作為評估或簡易專案用途。
如果要正式完整功能必須購買程式保護鎖,或申請臨時之網路授權才能長時間正常運作。
網路授權申請時須將申請者單位、姓名、電子信箱等資訊以電子郵件寄到 eric.icdt@msa.hinet.net 信箱,並於主旨註明 "申請 ICDT WEB HMI 網路授權版試用",以利寄發授權檔案
注意!! 除了 jQuery 等開源程式碼依循其原有授權方式外,其餘 PHP、JavaScript 與 HTML 程式碼版權皆屬元米科技所有,請勿進行解碼、複製部份或全部程式碼作其他用途

2.9.ICDT WEB HMI 各發行版本差異:

ICDT WEB HMI V2.2.0.0 版開始採單一版本發行,此版本已涵蓋舊版之前的標準版、一體版(ICDT WEB HMI AIO)與執行版(ICDT WEB HMI Runtime) 功能。除訂製版本外,不另發行特殊版本。

3.操作示範影片:

關於 ICDT WEB HMI 的操作示範影片可以在 https://goo.gl/PJvd32 取得

4.建議與異常回報:

感謝您 試用/使用 本產品,元米科技需要您進一步的資訊回報,使本產品更為完善,如果有任何問題或建議,請寫信至 eric.icdt@msa.hinet.net ,如果發現任何產品異常資訊,請連同產品版本、異常發生的時機、異常畫面或異常時的通訊碼,一起傳送給元米科技,我們會將處理結果盡快讓您知道,再次謝謝您的協助。
2.2.1.0 版以後之產品版本相關資訊可以於 『說明』>『系統資訊』複製後取得

5.版權宣告:

本產品相關軟體、韌體版權屬元米科技有限公司(Intelligent Control Design & Technology Co., Ltd)所有,除元米科技產品或授權產品使用外,未經授權重製或使用本發行文件之部分或全部內容,將依法提起告訴。

試用版程式僅供驗證與學習使用,未經本公司許可不得用於商業用途。程式產生之網頁程式碼除本程式使用外,不得用於其他應用。

產品中使用開放原始碼部份(如jQuery 等),則依循原授權條款。

6.關於 ICDT (元米科技有限公司):

元米科技有限公司(Intelligent Control Design & Technology Co., Ltd)前身為元米智控研發工作室(Intelligent Control Design House),自2012年5月成立後,致力於自動控制方案的開發,並成功推出性價比(C/P值)極高的 DDC8 方案。為便於業務推展,並使客戶與合作夥伴獲得更多的保障,於2013年6月21日正式登記成立為『元米科技有限公司』,並陸續推動 DDC32 方案與 WEB Embedded 方案,以及 BACnet 通訊協定相關方案(元米科技為 BACnet 編號 676 供應商),以期服務更多有需求的合作伙伴。



元米科技有限公司以成熟的、低成本的整合方為客戶打造高價值、持續服務的可程式控制方案,人性化的操作介面,讓您自有品牌不再是夢想,更多的資訊請造訪網站: http://www.icdt.com.tw

7.關於本手冊:

本手冊適用於 ICDT WEB HMI V2.2.0.1以後版本。
手冊版本 V2.02 版
完稿日期 2022/3/30