1.線上手冊:
1.1.本程式特點:
1.2.網路設定:
1.2.1.網路界面 Network Interface:
1.2.2.器件編號 Device Instance:
1.2.3.BACnet UDP Port:
1.2.4.區域網路封包間隔 Local network:
1.2.5.遠端網路封包間隔 Remote network:
1.2.6.MODBUS TCP Port:
1.2.7.最小化時自動隱藏:
1.3.轉換點設定:
1.3.1.MODBUS 暫存器地址:
1.3.2.BACnet 器件地址(Device Instance):
1.3.3.BACnet 物件類型(Object Type):
1.3.4.BACnet 物件編號 (Object Instance):
1.3.5.倍率:
1.3.6.轉換規則:
2.版權宣告:
3.關於 ICDT (元米科技有限公司):
4.關於本手冊:

▪ 1.線上手冊:
ICDT BACnet To Modbus Gateway 程式是基於 Windows 7/8/10 作業環境提供 BACnet/IP 網路設備對應至 MODBUS/TCP Server 的點對點轉換程式。透過易於編輯的 CSV 檔案格式,指定器件編號的指定物件 Present value 屬性對應至MODBUS/TCP Server 的指定點(Coil/Register),以提供 MODBUS 監控系統(SCADA )讀取或改變 BACnet 設備內的數值與狀態,非常適合大點數整合的應用場合。

▪ 1.1.本程式特點:
■ 使用 DM-DDB-A 動態器件綁定(Dynamic Device Binding ) 功能,工程專案編輯時無須在意設備的網路編號與實體地址(MAC Address),避免因為網路設置變更而需要大幅修改專案設定
■ 同時具備 DS-RP-A 讀屬性(Read Propery) 與 DS-RPM-A 多重讀屬性(Read Property Multiple)功能,依照設備能力與網路封包長度自動調整,使讀取速度最佳化
■ 具備 DS-WP-A 寫屬性(Write Propery) 功能,可以在 Modbus 端資料變更時,寫回至對應的 BACnet 屬性
■ 使用 CSV 檔案格式進行編輯,方便利用 EXCEL 快速編輯專案資料
■ 可以分開設置 區域網路 與 遠端網路 的封包傳送間隔時間,以避免過高的存取速度使 MS/TP 網路等跨網段網路過於壅塞
■ 授權版超大轉換點數,理論上最高可達 40,000 點,實際則依照電腦效能與網路狀態決定
■ 展示版可轉換 64 點,且連續運行 2 小時候必須重新啟動程式


▪ 1.2.網路設定:
程式必須先完成網路設定才能正常執行,設定參數說明如下:

▪ 1.2.1.網路界面 Network Interface:
選擇 BACnet/IP 網路連接的界面,由於 BACnet 是透過廣播方式查詢器件編號(Device Instance),因此必須選擇正確的網路界面,否則當電腦具備超過一個網路界面時,本程式很可能無法正常通訊。


▪ 1.2.2.器件編號 Device Instance:
設定本程式的器件編號。
由於本程式在 BACnet 網路上必須是可以被看到的,因此具備自己獨立的器件編號,此編號不得與 BACnet 網路上其他任何設備重複。


▪ 1.2.3.BACnet UDP Port:
設置本程式使用的 BACnet UDP 網路 Port 號,預設為 47808。此編號必須與要讀取的 BACnet/IP 網路 UDP 編號相同,如果連接的網路不是 BACnet/IP 界面,則必須另提供具備 BACnet/IP 網路的 BACnet Router 路由器進行轉換。
本程式執行時會開啟指定的 UDP Port 提供 UDP Server 功能,因此本電腦內不得同時運行使用此 UDP Port 做為 Server 端的程式(例如其他提供 BACnet/IP 服務的程式)


▪ 1.2.4.區域網路封包間隔 Local network:
設定讀寫相同 BACnet/IP 網路設備封包的最低讀取間隔時間,單位毫秒(mSec)。此時間越小則轉換週期時間越快,但仍應注意被讀取設備與網路效能是否足以因應


▪ 1.2.5.遠端網路封包間隔 Remote network:
透過 BACnet Router 轉發的遠端網路封包間隔時間,由於很可能連接的設備為較低速的 MS/TP 網路,因此過小的時間間隔很可能造成 BACnet 網路封包(NPDU)壅塞而遺失。


▪ 1.2.6.MODBUS TCP Port:
設置本程式使用的 MODBUS TCP 網路 Port 號,預設為 502。
本程式執行時會開啟指定的 TCP Port 提供 TCP Server 功能,因此本電腦內不得同時運行使用此 TCP Port 做為 Server 端的程式,如果有其他 MODBUS 程式佔用 502 時,可以改變共其他編號,供 MODBUS TCP Client 端程式透過相同編號通訊埠讀取。


▪ 1.2.7.最小化時自動隱藏:
勾選後執行最小化視窗動作會自動隱藏為右下角小圖示,以避免錯誤操作關閉此程式。
滑鼠右鍵雙擊(Double click)此小圖示可重新開啟程式視窗。



▪ 1.3.轉換點設定:
本程式主要功能即提供 BACnet 設備物件屬性與 MODBUS 暫存器的轉換,必須透過 CSV 檔案編輯匯入後,轉換功能才會生效。CSV 每欄依序為 MODBUS 暫存器地址、BACnet 器件地址、BACnet 物件類型、BACnet 物件編號以及倍率,例如
3,100,5,2
10004,100,3,3
30001,100,0,0,1
40002,100,2,1,1
其說明如下:

▪ 1.3.1.MODBUS 暫存器地址:
要轉換的 MODBUS 暫存器類型與編號,依照一般慣例十進制五位數表示,例如
1~9999 代表 Coil 0~Coil 9998,可以透過 Function code 01h 讀取,Function code 05h 與 0Fh 寫入
10001~19999 代表 Input 0~ Input 9998,可以透過 Function code 02h 讀取
30001~39999 代表 Input Register 0~Input Register 9998,可以透過 Function code 04h 讀取
40001~49999 代表 HoldingRegister 0~HoldingRegister 9998,可以透過 Function code 03h 讀取,Function code 06h 與 10h 寫入
Input Register (3xxxx) 與 HoldingRegister (4xxxx) 支援倍率運算

關於 MODBUS 進一步資訊 http://www.modbus.org/,或參考手冊 http://modbus.org/docs/PI_MBUS_300.pdf


▪ 1.3.2.BACnet 器件地址(Device Instance):
要讀取 BACnet 設備的編號 (Device Instance),數值範圍 0~4194302


▪ 1.3.3.BACnet 物件類型(Object Type):
要讀取 BACnet 設備的物件類型(Object type),數值可以為 0~5、13~14、19,與 BACnet Object Type 對應如下:
0 : AI / ANALOG INPUT
1: AO / ANALOG OUTPUT
2 : AV / ANALOG VALUE
3 : BI / BINARY INPUT
4 : BO / BINARY OUTPUT
5 : BV / BINARY VALUE
13 : MSI / MULTI STATE INPUT
14 : MSO / MULTI STATE OUTPUT
19 : MSV / MULTI STATE VALUE


▪ 1.3.4.BACnet 物件編號 (Object Instance):
要讀取 BACnet 點的編號 (Object Instance),數值範圍 0~4194302


▪ 1.3.5.倍率:
針對 Modbus 暫存器 Input Register (3xxxx) 與 HoldingRegister (4xxxx) 支援倍率運算,輸入倍率值為 100 代表由 BACnet 讀到的數值會 *100 以轉換為 MODBUS 暫存器,而 MODBUS 端寫入時,會將數值除以 100 後寫出到 BACnet


▪ 1.3.6.轉換規則:
■ 只有 Input Register (3xxxx) 與 HoldingRegister (4xxxx) 支援倍率運算
■ Input Register (3xxxx) 與 HoldingRegister (4xxxx) 數值會以符號整數方式表示,亦即 0 ~ 32767(0000h~ 7FFFh) 代表正數 0~32767,65535~32768 (FFFFh~8000h) 代表 -1 ~ -23768,倍率運算候數值大於 32767 以32767顯示,小於 -32768 以-32768 顯示
■ Coil(0xxxx) 與 HoldingRegister (4xxxx) 當 MODBUS 端變更時寫出至 BACnet端,否則由 BACnet 讀取
■ BACnet 屬性 只支援 Present Value
■ 數值寫入BACnet 時, 寫入優先權(Priority) 為 16(最低)
■ BI/BO/BV 屬性值為 Active 時 轉換至 MODBUS 為 1,Inactive 時為 0
■ MSI/MSO/MSV 屬性值 一律為 1 開始之正整數




▪ 2.版權宣告:
本產品相關軟體、韌體版權屬元米科技有限公司(Intelligent Control Design & Technology Co., Ltd)所有,除元米科技產品或授權產品使用外,未經授權重製或使用本發行文件之部分或全部內容,將依法提起告訴。
試用版程式僅供驗證與學習使用,未經本公司許可不得用於商業用途。程式產生之網頁程式碼除本程式使用外,不得用於其他應用。


▪ 3.關於 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


▪ 4.關於本手冊:
本手冊適用於 ICDT BACnet To MODBUS Gateway 程式。
手冊版本 V1.01 版
完稿日期 2018/10/12
關於本程式有任何問題,請 E-mail 至 eric.icdt@msa.hinet.net