一、項目背景
在環(huán)保監(jiān)測領(lǐng)域,環(huán)保數(shù)采儀(污染源自動監(jiān)控數(shù)據(jù)采集傳輸儀)是連接現(xiàn)場監(jiān)測設(shè)備和環(huán)保監(jiān)控平臺的關(guān)鍵設(shè)備。數(shù)采儀通常采用國家標(biāo)準(zhǔn)的 HJ212協(xié)議 (《污染物在線監(jiān)控(監(jiān)測)系統(tǒng)數(shù)據(jù)傳輸標(biāo)準(zhǔn)》)進行數(shù)據(jù)上報。然而,許多企業(yè)的內(nèi)部監(jiān)控平臺、DCS系統(tǒng)或SCADA系統(tǒng)采用的是工業(yè)領(lǐng)域廣泛應(yīng)用的 Modbus協(xié)議 。
本案例介紹如何使用 VFBOX系列協(xié)議轉(zhuǎn)換網(wǎng)關(guān) ,實現(xiàn)環(huán)保數(shù)采儀的HJ212協(xié)議數(shù)據(jù)轉(zhuǎn)換為Modbus協(xié)議數(shù)據(jù),從而將環(huán)保監(jiān)測數(shù)據(jù)無縫接入企業(yè)現(xiàn)有的Modbus監(jiān)控平臺。
二、項目需求分析
2.1 現(xiàn)場設(shè)備情況
- 環(huán)保數(shù)采儀 :支持HJ212-2017協(xié)議,通過網(wǎng)口(TCP方式)向指定IP和端口發(fā)送數(shù)據(jù)包
- 監(jiān)控平臺 :支持Modbus TCP/RTU協(xié)議,需要讀取環(huán)保監(jiān)測數(shù)據(jù)
- 監(jiān)測參數(shù) :COD(化學(xué)需氧量)、氨氮、總磷、總氮、pH值、流量等實時數(shù)據(jù)和小時/日平均數(shù)據(jù)
2.2 協(xié)議轉(zhuǎn)換需求
| 項目 | 源端(采集側(cè)) | 目標(biāo)端(轉(zhuǎn)發(fā)側(cè)) |
|:---|:---|:---|
| 通信協(xié)議 | HJ212-2017 | Modbus TCP/RTU |
| 通信方式 | TCP Server(網(wǎng)關(guān)偵聽) | TCP Server(網(wǎng)關(guān)作為從站)/ RTU |
| 數(shù)據(jù)類型 | 實時數(shù)據(jù)(CN=2011)、小時數(shù)據(jù)(CN=2051)、日數(shù)據(jù)(CN=2061) | 4X Holding Registers(保持寄存器) |
| 數(shù)據(jù)格式 | 字符串鍵值對(如w01018-Rtd=45.160) | 16位/32位數(shù)值 |
三、系統(tǒng)架構(gòu)設(shè)計
┌─────────────────┐ HJ212協(xié)議
┌──────────────────┐ Modbus協(xié)議
┌─────────────────┐
│ │ ────────────────── > │ │ ────────────────── > │ │
│ 環(huán)保數(shù)采儀
│ (TCP Client) │ VFBOX網(wǎng)關(guān)
│ (TCP/RTU Slave) │ 監(jiān)控平臺/SCADA │
│ (現(xiàn)場設(shè)備)
│ │ (協(xié)議轉(zhuǎn)換)
│ │ (上位機系統(tǒng))
│
│ │ 發(fā)送實時/小時數(shù)據(jù) │ │ 轉(zhuǎn)發(fā)寄存器數(shù)據(jù) │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
│ 配置管理
▼
┌──────────────────┐
│
VFBOX Studio │
│ (配置軟件)
│
│ 電腦IP:192.168.1.198│
└──────────────────┘
四、硬件選型
根據(jù)項目需求,選擇 VFBOX VB303系列網(wǎng)關(guān) ,具體型號示例:
VB303-1200#128-2-1
- VB303 :硬件批次
- 1200 :1個網(wǎng)口 + 2個RS485串口
- # :連接符
- 128 :最多采集128個數(shù)據(jù)點位
- 2 :采集協(xié)議為HJ212環(huán)保協(xié)議
- 1 :轉(zhuǎn)發(fā)協(xié)議為Modbus協(xié)議
選型說明 :由于HJ212協(xié)議通過網(wǎng)口傳輸,Modbus轉(zhuǎn)發(fā)也通過網(wǎng)口(Modbus TCP)或串口(Modbus RTU),1網(wǎng)口配置即可滿足需求。如需要同時連接其他設(shè)備,可選擇2網(wǎng)口型號(VB303-2400)。
網(wǎng)關(guān)硬件參數(shù)
| 參數(shù) | 默認值/說明 |
|:---|:---|
| 電源 | DC 9-30V |
| 網(wǎng)口1(Ethernet1) | 默認IP:192.168.1.199 |
| 串口(COM1/COM2) | 波特率9600,8N1 |
| 工作溫度 | 工業(yè)級,-20℃~+60℃ |
五、項目實施步驟
5.1 準(zhǔn)備工作
- 硬件連接
- 使用網(wǎng)線將VFBOX網(wǎng)關(guān)網(wǎng)口連接到電腦網(wǎng)口
- 使用網(wǎng)線將環(huán)保數(shù)采儀連接到網(wǎng)關(guān)網(wǎng)口(或通過交換機)
- 給網(wǎng)關(guān)供電(DC 12V/24V,注意V+接正極,V-接負極)
- 確認POW電源指示燈常亮
- 電腦網(wǎng)絡(luò)設(shè)置
- 將電腦IP地址設(shè)置為 192.168.1.198
- 子網(wǎng)掩碼:255.255.255.0
- 確保電腦與網(wǎng)關(guān)默認IP(192.168.1.199)在同一網(wǎng)段
- 軟件準(zhǔn)備
- 從上海仰科官網(wǎng)(www.onker.cn)下載中心下載 VFBOX Studio(編號1001)
- 安裝軟件并以管理員權(quán)限啟動
- 下載TCP調(diào)試工具(用于測試HJ212數(shù)據(jù))
5.2 連通性測試
- 打開CMD命令行,執(zhí)行:
ping 192.168.1.199
確認能ping通網(wǎng)關(guān)。
- 打開VFBOX Studio軟件,新建工程:
- 工程名稱:HJ212_To_Modbus
- 設(shè)備類型:選擇實際網(wǎng)關(guān)型號(如VB303-1200)
- 設(shè)置網(wǎng)關(guān)IP地址為192.168.1.199,點擊"獲取硬件ID"和"查看授權(quán)",確認通信正常。
5.3 配置網(wǎng)關(guān)采集HJ212數(shù)據(jù)(南向配置)
步驟1:添加HJ212采集設(shè)備
- 在VFBOX Studio左側(cè)導(dǎo)航欄,點擊"采集設(shè)備" → "新建設(shè)備"
- 驅(qū)動類型選擇:HJ212
- 連接類型選擇: TCP Server (網(wǎng)關(guān)作為服務(wù)端偵聽數(shù)采儀連接)
步驟2:配置偵聽端口
- 輸入網(wǎng)關(guān)偵聽的端口號(如 10212 )
- 關(guān)鍵 :此端口必須與環(huán)保數(shù)采儀上配置的"目標(biāo)端口"完全一致
- 綁定IP地址保持默認(0.0.0.0或網(wǎng)關(guān)IP)
步驟3:分析HJ212數(shù)據(jù)包,確定采集地址
在正式配置前,先用TCP調(diào)試工具測試確認數(shù)采儀發(fā)送的數(shù)據(jù)格式:
實時數(shù)據(jù)示例(CN=2011) :
##0457QN=20210320163113904;ST=32;CN=2011;PW=123456;MN=81733553213013;Flag=4;CP=&&DataTime=20210320013500;w00000-Rtd=181.682,w00000-Flag=N;w21001-Rtd=45.160,w21001-Flag=N;w21011-Rtd=1.970,w21011-Flag=N;w21003-Rtd=53.131,w21003-Flag=N;w01018-Rtd=194.200,w01018-Flag=N;w01001-Rtd=7.500,w01001-Flag=N&&8F81
小時數(shù)據(jù)示例(CN=2051) :
##0596QN=20210320163118367;ST=32;CN=2051;PW=123456;MN=81733553213013;Flag=4;CP=&&DataTime=20210320160000;w00000-Cou=176.923,w00000-Min=292.286,w00000-Avg=294.872,w00000-Max=297.287,w00000-Flag=N;w21001-Cou=8.151,w21001-Min=46.070,w21001-Avg=46.070,w21001-Max=46.070,w21001-Flag=N&&...
數(shù)據(jù)地址解析規(guī)則 :
| 數(shù)據(jù)類型 | 配置地址格式 | 示例 |
|:---|:---|:---|
| 實時數(shù)據(jù)(CN=2011) | 參數(shù)名-Rtd | w01018-Rtd(COD實時值) |
| 小時數(shù)據(jù)(CN=2051) | 參數(shù)名-類型,2051 | w01018-Avg,2051(COD小時均值) |
| 日數(shù)據(jù)(CN=2061) | 參數(shù)名-類型,2061 | 01-Avg,2061 |
注意 :HJ212協(xié)議中,w01018代表COD,w21003代表總磷,w21011代表總氮,w01001代表pH值,w00000代表流量。具體參數(shù)代碼需根據(jù)環(huán)保設(shè)備實際配置確定。
步驟4:新建采集標(biāo)簽
以采集COD實時數(shù)據(jù)為例:
- 選中HJ212設(shè)備,點擊"新建標(biāo)簽"
- 標(biāo)簽名稱:
COD_Realtime(建議使用英文,避免中文) - 數(shù)據(jù)類型: Float (浮點型,適合小數(shù)數(shù)據(jù))
- 讀寫控制:讀
- 地址:
w01018-Rtd(采集CN=2011實時數(shù)據(jù)包中的COD值) - 描述:"COD實時濃度"
常用標(biāo)簽配置示例 :
| 標(biāo)簽名稱 | 數(shù)據(jù)類型 | 地址 | 說明 |
|:---|:---|:---|:---|
| COD_Rtd | Float | w01018-Rtd | COD實時值 |
| COD_Avg | Float | w01018-Avg,2051 | COD小時均值 |
| NH3N_Rtd | Float | w21001-Rtd | 氨氮實時值 |
| NH3N_Avg | Float | w21001-Avg,2051 | 氨氮小時均值 |
| TP_Rtd | Float | w21003-Rtd | 總磷實時值 |
| TN_Rtd | Float | w21011-Rtd | 總氮實時值 |
| PH_Rtd | Float | w01001-Rtd | pH實時值 |
| Flow_Rtd | Float | w00000-Rtd | 流量實時值 |
| Flow_Cou | Float | w00000-Cou,2051 | 流量小時累計 |
步驟5:下載并驗證采集
- 點擊工具欄"下載"按鈕,將工程下載到網(wǎng)關(guān)
- 點擊"查看數(shù)據(jù)",確認各標(biāo)簽的"狀態(tài)"顯示為 Good ,且"更新時間"為當(dāng)前時間
- 如狀態(tài)顯示異常,使用
vbtrace.exe 20381 192.168.1.199命令查看HJ212通信日志
5.4 配置Modbus轉(zhuǎn)發(fā)(北向配置)
步驟1:啟用Modbus Slave服務(wù)
- 在VFBOX Studio左側(cè)導(dǎo)航欄,點擊"服務(wù)" → "Modbus Slave"
- 根據(jù)監(jiān)控平臺需求選擇模式:
Modbus TCP :通過網(wǎng)口轉(zhuǎn)發(fā),偵聽端口502(默認)
Modbus RTU :通過RS485/RS232串口轉(zhuǎn)發(fā)
步驟2:配置Modbus TCP參數(shù)
- 啟用:Yes
- 站號(Unit ID): 1 (根據(jù)監(jiān)控平臺要求設(shè)置,范圍1-247)
- 偵聽端口:502
- 字節(jié)順序:根據(jù)監(jiān)控平臺選擇(默認1234)
步驟3:配置Modbus RTU參數(shù)(如需要)
- 啟用:Yes
- 站號:1
- 串口選擇:COM1(確保未在采集設(shè)備中使用)
- 波特率:9600(與監(jiān)控平臺匹配)
步驟4:添加轉(zhuǎn)發(fā)數(shù)據(jù)到寄存器
將采集的HJ212數(shù)據(jù)映射到Modbus寄存器地址:
- 在Modbus Slave配置界面,選擇 4X Holding Registers (保持寄存器,支持讀寫,適合模擬量)
- 點擊"添加"按鈕,選擇要轉(zhuǎn)發(fā)的標(biāo)簽
- 配置寄存器映射表:
| Modbus地址 | 標(biāo)簽名稱 | 數(shù)據(jù)類型 | 監(jiān)控平臺讀取地址 |
|:---|:---|:---|:---|
| 40001 | COD_Rtd | Float | 40001(占用2個寄存器) |
| 40003 | NH3N_Rtd | Float | 40003 |
| 40005 | TP_Rtd | Float | 40005 |
| 40007 | TN_Rtd | Float | 40007 |
| 40009 | PH_Rtd | Float | 40009 |
| 40011 | Flow_Rtd | Float | 40011 |
| 40013 | COD_Avg | Float | 40013 |
| 40015 | Flow_Cou | Float | 40015 |
寄存器地址說明 :
- 4X區(qū)地址范圍:40001-49999(十進制),對應(yīng)協(xié)議地址0000H-270FH
- Float類型占用2個連續(xù)寄存器(4字節(jié))
- 網(wǎng)關(guān)使用PLC地址模式,從1開始計數(shù)
步驟5:保存并下載工程
- 點擊Modbus Slave配置界面的"保存"按鈕
- 點擊主工具欄"下載"按鈕,將完整工程下載到網(wǎng)關(guān)
- 網(wǎng)關(guān)自動重啟運行
六、監(jiān)控平臺對接
6.1 Modbus TCP連接參數(shù)
監(jiān)控平臺(如組態(tài)王、WinCC、力控等)配置以下連接參數(shù):
| 參數(shù) | 值 |
|:---|:---|
| 設(shè)備IP | 192.168.1.199(網(wǎng)關(guān)IP) |
| 端口號 | 502 |
| 協(xié)議類型 | Modbus TCP |
| 從站地址 | 1 |
6.2 寄存器讀取配置示例
以讀取COD實時值為例:
- 寄存器類型:4X Holding Register(或Holding Register)
- 起始地址:40001(或0,取決于平臺地址模式)
- 數(shù)據(jù)長度:2(Float占2個寄存器)
- 數(shù)據(jù)類型:浮點型(注意字節(jié)順序匹配)
6.3 字節(jié)順序調(diào)整
如果監(jiān)控平臺讀取的數(shù)值不正確(如顯示極大或極小的異常值),需要調(diào)整字節(jié)順序:
- 在VFBOX Studio中,點擊HJ212采集設(shè)備 → "屬性"
- 找到"寄存器順序"或"字節(jié)順序"設(shè)置
- 嘗試調(diào)整順序:1234 → 4321 → 3412 → 2143
- 重新下載工程,測試驗證
七、項目調(diào)試與排錯
7.1 常見問題排查
| 現(xiàn)象 | 排查方法 |
|:---|:---|
| 網(wǎng)關(guān)采集不到HJ212數(shù)據(jù) | 1. 檢查數(shù)采儀IP和端口是否與網(wǎng)關(guān)偵聽端口一致
2. 關(guān)閉電腦防火墻和殺毒軟件
3. 使用TCP調(diào)試工具確認數(shù)采儀是否發(fā)送數(shù)據(jù)
4. 檢查MN號、PW密碼是否匹配 |
| 監(jiān)控平臺讀不到Modbus數(shù)據(jù) | 1. 確認網(wǎng)關(guān)和監(jiān)控平臺網(wǎng)絡(luò)連通(ping測試)
2. 檢查Modbus站號、端口是否正確
3. 使用Modbus Poll工具測試網(wǎng)關(guān)從站功能
4. 查看網(wǎng)關(guān)授權(quán)是否支持Modbus Slave功能 |
| 數(shù)據(jù)值顯示異常 | 1. 檢查數(shù)據(jù)類型是否匹配(Float/Short/Word)
2. 調(diào)整字節(jié)順序
3. 確認寄存器地址未重疊 |
| 下載工程提示Password錯誤 | 工程設(shè)備類型與網(wǎng)關(guān)實際型號不匹配,重新新建工程選擇正確型號 |
| No Space錯誤 | 工程目錄下存在無關(guān)文件,清理工程文件夾后重新下載 |
7.2 使用VBtrace診斷
打開VFBOX Studio → 工具 → 命令行,輸入:
# 查看HJ212采集通信(端口20381)
vbtrace.exe 20381 192.168.1.199
# 查看Modbus轉(zhuǎn)發(fā)通信(端口20305)
vbtrace.exe 20305 192.168.1.199
通過Trace輸出可以查看:
- 網(wǎng)關(guān)是否接收到HJ212數(shù)據(jù)包
- 數(shù)據(jù)解析是否正確
- Modbus主站是否發(fā)起請求
- 響應(yīng)數(shù)據(jù)內(nèi)容
八、項目效果驗證
8.1 數(shù)據(jù)采集驗證
在VFBOX Studio中點擊"查看數(shù)據(jù)",確認:
- 所有標(biāo)簽"狀態(tài)"列顯示 Good
- "更新時間"顯示為當(dāng)前系統(tǒng)時間(非1970年)
- "當(dāng)前值"顯示正確的環(huán)保監(jiān)測數(shù)值
8.2 數(shù)據(jù)轉(zhuǎn)發(fā)驗證
使用Modbus Poll(或類似工具)連接網(wǎng)關(guān):
- IP:192.168.1.199,端口:502,站號:1
- 讀取40001開始的10個寄存器
- 確認讀取到的Float值與VFBOX Studio中顯示一致
8.3 系統(tǒng)運行穩(wěn)定性
- 網(wǎng)關(guān)7×24小時連續(xù)運行,無故障中斷
- 數(shù)采儀數(shù)據(jù)更新后,Modbus端實時同步(延遲<1秒)
- 網(wǎng)關(guān)掉電重啟后自動恢復(fù)運行,數(shù)據(jù)保持連續(xù)
九、項目總結(jié)
9.1 項目價值
- 協(xié)議互通 :解決了HJ212環(huán)保協(xié)議與Modbus工業(yè)協(xié)議之間的兼容性問題
- 數(shù)據(jù)整合 :將環(huán)保監(jiān)測數(shù)據(jù)無縫接入企業(yè)現(xiàn)有DCS/SCADA系統(tǒng)
- 成本節(jié)約 :無需更換現(xiàn)有監(jiān)控平臺,保護既有投資
- 實時監(jiān)管 :滿足環(huán)保部門實時在線監(jiān)控要求,同時實現(xiàn)企業(yè)內(nèi)部數(shù)據(jù)統(tǒng)一管理
9.2 VFBOX網(wǎng)關(guān)優(yōu)勢
- 工業(yè)級可靠性 :適應(yīng)惡劣工業(yè)環(huán)境,穩(wěn)定運行
- 配置簡便 :VFBOX Studio圖形化配置,無需編程
- 多協(xié)議支持 :單臺網(wǎng)關(guān)可同時采集多種協(xié)議,轉(zhuǎn)發(fā)到多個平臺
- 靈活擴展 :支持用戶標(biāo)簽運算、數(shù)據(jù)預(yù)處理、多路轉(zhuǎn)發(fā)
9.3 擴展應(yīng)用
本項目方案可擴展應(yīng)用于:
- 多站點環(huán)保數(shù)據(jù)集中采集(1臺網(wǎng)關(guān)采集多臺數(shù)采儀)
- 數(shù)據(jù)多路轉(zhuǎn)發(fā)(同時轉(zhuǎn)發(fā)到Modbus平臺和MQTT云平臺)
- 數(shù)據(jù)預(yù)處理(使用用戶標(biāo)簽實現(xiàn)量程轉(zhuǎn)換、報警判斷等)
- 歷史數(shù)據(jù)存儲(配合SQLite/SD卡功能保存歷史數(shù)據(jù))
-
MODBUS
+關(guān)注
關(guān)注
28文章
2550瀏覽量
83966 -
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
7003瀏覽量
56645
發(fā)布評論請先 登錄
網(wǎng)關(guān)實現(xiàn)DNP3電表數(shù)據(jù)采集與Modbus協(xié)議轉(zhuǎn)換項目案例
網(wǎng)關(guān)實現(xiàn)機房動環(huán)設(shè)備SNMP轉(zhuǎn)Modbus協(xié)議轉(zhuǎn)換項目案例
工廠環(huán)境監(jiān)控傳感器Modbus數(shù)據(jù)上傳數(shù)據(jù)到環(huán)保局HJ212平臺的項目案例
電力IEC104設(shè)備數(shù)據(jù)轉(zhuǎn)HJ212項目案例
IEC103設(shè)備數(shù)據(jù) 轉(zhuǎn) HJ212項目案例
HJ212 協(xié)議物聯(lián)網(wǎng)網(wǎng)關(guān)應(yīng)用方案:數(shù)據(jù)采集賦能污染源監(jiān)測實時性提升與環(huán)保合規(guī)
opc ua設(shè)備數(shù)據(jù) 轉(zhuǎn) HJ212項目案例
bacnet mstp設(shè)備數(shù)據(jù) 轉(zhuǎn) HJ212項目案例
倍福PLC數(shù)據(jù) 轉(zhuǎn) HJ212項目案例
Ethercat設(shè)備數(shù)據(jù) 轉(zhuǎn) HJ212項目案例
發(fā)那科機床設(shè)備數(shù)據(jù) 轉(zhuǎn) HJ212項目案例
CJ188設(shè)備數(shù)據(jù) 轉(zhuǎn) HJ212項目案例
DTL698電表數(shù)據(jù) 轉(zhuǎn) HJ212協(xié)議項目案例
DLT645電表數(shù)據(jù) 轉(zhuǎn) HJ212項目案例
網(wǎng)關(guān)實現(xiàn)環(huán)保數(shù)采儀HJ212協(xié)議轉(zhuǎn)Modbus協(xié)議項目案例
評論