Modbu 接入 SNMP 機房
一、項目背景與需求分析
某數據中心機房需要對環境參數進行實時監控,現場已部署溫濕度傳感器、水浸傳感器及 UPS 狀態監測裝置。這些末端傳感器均采用 **Modbus RTU 串口通信協議**,通過 RS485 總線與現場設備相連。
機房現有的集中監控平臺(如動環監控系統、NMS 網管平臺)統一采用 **SNMP 協議**進行數據匯聚,平臺通過輪詢 SNMP Agent 的方式獲取各子系統數據。因此,亟需一款協議轉換網關,實現:
1. **南向采集**:作為 Modbus 主站,實時采集各傳感器寄存器數據;
2. **北向轉發**:作為 SNMP Agent,將采集到的數據映射為 SNMP MIB 節點,供監控平臺通過 SNMP 協議讀取。
經過技術評估,選用 **VFBOX 系列協議轉換網關** 實現 Modbus 到 SNMP 的協議轉換。
---
二、系統方案設計
2.1 網絡拓撲
```
┌─────────────────┐ RS485 ┌─────────────────┐ Ethernet ┌─────────────────┐
│ 溫濕度傳感器 │?──────┬─────────?│ │?─────────────────?│ 機房監控平臺 │
│ (Modbus RTU) │ │ │ VFBOX 網關 │ SNMP v1/v2c │ (SNMP Manager) │
└─────────────────┘ │ │ (協議轉換) │ └─────────────────┘
│ │ │
┌─────────────────┐ │ │ IP: 192.168.1.199 │
│ UPS 監測模塊 │?──────┘ │ │ ┌─────────────────┐
│ (Modbus RTU) │ └─────────────────┘ │ 工程師站 │
└─────────────────┘ │ (VFBOX Studio) │
│ 192.168.1.198 │
└─────────────────┘
```
2.2 設備選型
根據現場接口需求,選用 **VB303-1100#128-1-D** 型號網關(或同系列滿足接口要求的型號):
| 組件 | 選型說明 |
|------|----------|
| **網關硬件** | VB303-1100:1×Ethernet(接監控平臺)、1×RS485/RS232(接 Modbus 傳感器) |
| **采集點數** | 128 點(滿足機房 20~30 個環境參數采集需求) |
| **采集協議** | K=1(Modbus RTU 主站) |
| **轉發協議** | L=D(SNMP Agent 服務) |
| **供電** | DC 12V/2A 工業電源 |
---
三、硬件安裝與接線
3.1 電源接線
網關采用直流 9~36V 寬壓供電,將 12V 電源正極接網關端子 **V+**,負極接 **V-**,并確保接地端子可靠連接大地。
3.2 串口接線(Modbus 側)
將溫濕度傳感器、UPS 監測模塊的 RS485 接口并聯接入網關 **COM1** 端口:
- 傳感器 **A+** → 網關 **A**
- 傳感器 **B-** → 網關 **B**
> **注意**:RS485 總線末端需加裝 120Ω 終端電阻,確保通信穩定。網關默認串口參數為 **9600bps,8 數據位,無校驗,1 停止位**,與傳感器保持一致。
### 3.3 網口接線(SNMP 側)
將網關 **Ethernet1** 口通過網線接入機房管理交換機,默認 IP 為 **192.168.1.199**。工程師配置電腦臨時設置為 **192.168.1.198**,用于工程配置與調試。
---
四、軟件配置流程(VFBOX Studio)
在工程師站(192.168.1.198)安裝 **VFBOX Studio** 配置軟件,以管理員權限運行,按以下步驟配置。
4.1 新建工程并連接網關
1. 打開 VFBOX Studio,點擊 **"新建工程"**;
2. 輸入工程名稱(如 `DataCenter_ModbusToSNMP`);
3. **設備類型** 選擇與實際網關型號一致(如 `VB30X-1100`);
4. 點擊 **"網關 IP 地址"**,輸入 `192.168.1.199`;
5. 點擊 **"授權-查看授權"**,確認網關支持 Modbus 采集與 SNMP 轉發功能。
4.2 配置 Modbus 采集(南向)
以采集溫濕度傳感器數據為例:
**步驟 1:添加采集設備**
- 左側導航欄點擊 **"新建設備"**;
- 驅動類型選擇 **"Modbus RTU"**;
- 輸入設備名稱,如 `Sensor_TH_01`;
- 選擇連接接口為 **COM1**,確認波特率、數據位、校驗位、停止位與傳感器一致(默認 9600-8-N-1);
- 輸入 Modbus **站號**(設備地址),如 `1`。
**步驟 2:添加數據標簽**
選中設備 `Sensor_TH_01`,點擊 **"新建標簽"**,依次添加:
| 標簽名稱 | 數據類型 | 寄存器地址 | 讀寫控制 | 說明 |
|----------|----------|------------|----------|------|
| `Temp_01` | Float | 40001 | 讀 | 溫度值(℃) |
| `Humi_01` | Float | 40003 | 讀 | 濕度值(%RH) |
| `Alarm_01` | Boolean | 10001 | 讀 | 水浸報警狀態 |
> **地址說明**:網關采用 PLC 地址模式(從 1 開始)。`40001` 對應 Modbus 功能碼 03(保持寄存器),`10001` 對應功能碼 02(離散量輸入)。
**步驟 3:批量添加(可選)**
若需采集多臺相同傳感器,可選中已建好的設備,點擊 **"復制"→"粘貼"** 快速生成 `Sensor_TH_02`,再修改站號及標簽名稱即可。
4.3 配置 SNMP 轉發(北向)
1. 左側導航欄切換到 **"服務"** → **"SNMP"**;
2. 將 **"啟用"** 設置為 **Yes**;
3. 點擊 **"MIB"** 按鈕,進入 MIB 節點配置;
4. 按順序添加需要轉發的標簽:
- 在彈出的標簽選擇器中,依次勾選 `Temp_01`、`Humi_01`、`Alarm_01` 等標簽;
- 點擊 **OK** 保存,系統會自動將采集標簽映射到 SNMP MIB 節點。
> **關鍵點**:SNMP 轉發配置本質上是將采集標簽(Tag)綁定到 SNMP Agent 的 MIB 庫中,外部監控平臺通過 OID 即可訪問到對應的 Modbus 設備數據。
4.4 工程下載與數據驗證
1. 點擊工具欄 **"下載"** 按鈕,將工程下載至網關;
2. 下載完成后,點擊 **"查看數據"**;
3. 在彈出的數據窗口中,確認各標簽的 **"狀態"** 顯示為 `Good`,且 **"更新時間"** 為當前系統時間,表明 Modbus 采集成功。
---
五、機房監控平臺對接
5.1 SNMP 訪問參數
工程下載后,網關即作為 SNMP Agent 運行,監控平臺可通過以下參數訪問:
| 參數 | 值 |
|------|-----|
| **Agent IP** | 192.168.1.199(或實際修改后的 IP) |
| **端口** | 161(默認) |
| **Community** | public(根據實際安全策略修改) |
| **協議版本** | SNMP v1/v2c |
5.2 數據映射關系示例
監控平臺側配置 OID 與物理量的對應關系如下(具體 OID 以網關 MIB 實際生成為準):
| OID 節點 | 對應標簽 | 數據類型 | 物理含義 |
|----------|----------|----------|----------|
| `1.3.6.1.4.1.xxx.1.1.0` | `Temp_01` | Float | 機房溫度 |
| `1.3.6.1.4.1.xxx.1.2.0` | `Humi_01` | Float | 機房濕度 |
| `1.3.6.1.4.1.xxx.1.3.0` | `Alarm_01` | Integer | 水浸報警(0正常/1報警) |
監控平臺通過定時輪詢上述 OID,即可實時獲取機房環境數據,實現與原有 Modbus 傳感器的數據打通。
---
六、調試與問題排查
6.1 采集不到 Modbus 數據
- **檢查接線**:確認 RS485 的 A、B 線未接反,終端電阻已加裝;
- **檢查參數**:在設備屬性中核對站號、波特率是否與傳感器一致;
- **掃描間隔**:適當增大掃描間隔(如 1000ms),避免總線沖突;
- **VBtrace 診斷**:在 VFBOX Studio 命令行輸入 `vbtrace.exe 20304 192.168.1.199`,查看 Modbus 收發報文。
6.2 SNMP 平臺讀取不到數據
- **網絡連通性**:在監控平臺側 `ping 192.168.1.199`,確認網絡可達;
- **Community 字符串**:確認平臺側 Community 與網關配置一致;
- **防火墻**:確認機房交換機未屏蔽 UDP 161 端口。
6.3 數據值異常
- **字節順序**:若 Float 數據值明顯異常,在設備屬性中調整 **"寄存器順序"**(嘗試 1234、4321、3412、2143 等順序);
- **失敗值設置**:在標簽屬性中設置 **"失敗值"**(如 0 或 -999),當傳感器離線時,網關會顯示該預設值,便于平臺識別通信故障。
---
七、項目總結
本項目通過部署 **VFBOX 協議轉換網關**,成功解決了機房現場 Modbus RTU 傳感器與上層 SNMP 監控平臺之間的協議壁壘。項目實施后:
- **協議統一**:末端 20+ 個 Modbus 傳感器數據全部轉換為標準 SNMP 協議,無縫接入現有網管平臺;
- **施工簡便**:無需修改原有傳感器接線,僅通過網關串口并接即可,工期縮短至半天;
- **穩定可靠**:網關為工業級設計,支持 9~36V 寬壓供電,滿足機房 7×24 小時運行要求;
- **擴展靈活**:后續若新增 Modbus 設備,僅需在 VFBOX Studio 中復制粘貼設備模板、添加標簽并重新下載,無需改動監控平臺側配置。
該方案同樣適用于電力配電房、環保監測站、樓宇自控等需要將 Modbus 設備數據接入 SNMP 網管平臺的場景,具有良好的推廣價值。
提交


投訴建議