某电力监控系统需要对现场部署的DNP3协议智能电表进行实时数据采集,并将数据接入到采用Modbus TCP/RTU协议的监控平台中。由于电表与监控平台采用不同的通信协议,需要部署协议转换网关实现数据互通。
| 项目要素 | 具体内容 |
|---------|---------|
| 采集设备 | DNP3协议智能电表 |
| 目标平台 | Modbus TCP/RTU监控平台(SCADA/触摸屏/PLC) |
| 采集数据 | 电压、电流、功率、电能、频率等电力参数 |
| 通信接口 | 电表:RS485/网口(DNP3);平台:RS485/网口(Modbus) |
| 实时性要求 | 数据刷新周期 ≤ 2秒 |
| 数据规模 | 单电表约20-30个数据点位 |
采用上海仰科VFBOX系列协议转换网关作为核心设备,实现:
根据项目需求,选择 VB303-1200#128-U-1 型号网关:
| 型号字段 | 含义 | 本项目配置 |
|---------|------|-----------|
| VB303 | 硬件批次 | VB303系列 |
| 1200 | 1个网口 + 2个RS485串口 | 满足电表串口采集 + 平台串口转发 |
| 128 | 可采集128个数据点位 | 满足单电表30点需求,预留扩展 |
| U | 采集协议:DNP3 | 采集DNP3电表 |
| 1 | 转发协议:Modbus | 转发Modbus协议 |
备选型号 :如需4G无线远程传输,可选择 VB303-1210#128-U-1 (带4G功能)。
┌─────────────────────────────────────────────────────────────┐
│ 现场配电柜 │
│ ┌─────────────┐ ┌─────────────┐ │
│ │
DNP3电表 │◄───────►│
VFBOX网关 │◄───────►监控平台 │
│ │
(RS485) │
A-A,B-B │ VB303-1200 │
RS485/网口 │(Modbus) │
│ │ 站地址:1
│ │ │ │
│ └─────────────┘ └─────────────┘ │
│ ▲ ▲ │
│ │ │ │
│ 电源9-30VDC 电源9-30VDC
│
└─────────────────────────────────────────────────────────────┘
| 接口 | 连接对象 | 默认参数 | 实际配置 |
|-----|---------|---------|---------|
| COM1 (RS485) | DNP3电表 | 9600,8,N,1 | 根据电表实际参数配置 |
| COM2 (RS485) | Modbus RTU平台 | 9600,8,N,1 | 根据平台实际参数配置 |
| Ethernet1 | Modbus TCP平台 | IP:192.168.1.199 | 根据现场网络配置 |
192.168.1.198(与网关默认IP同网段)ping 192.168.1.199,确认网络通畅VB30X-1200(与实际网关型号一致)192.168.1.199( 2 )
串口连接 :选择COM1,配置波特率、数据位、校验位、停止位(需与电表一致)
网口连接 :输入电表的IP地址和端口号(默认20000)
配置连接参数]( 3
)
110配置DNP3地址]( 4 )
| 标签名称 | 数据类型 | DNP3地址 | 描述 | 读写控制 |
|---------|---------|---------|------|---------|
| Voltage_A | Float | 0 | A相电压 | 读 |
| Current_A | Float | 1 | A相电流 | 读 |
| Active_Power | Float | 2 | 有功功率 | 读 |
| Power_Factor | Float | 3 | 功率因数 | 读 |
| Frequency | Float | 4 | 频率 | 读 |
| Total_Energy | Double | 5 | 总电能 | 读 |
DNP3地址说明 :具体地址需参考电表厂家提供的DNP3点表文档。DNP3协议支持多种数据类型(Analog Input、Binary Input、Counter等),需根据实际点位类型选择。
添加数据标签]( 5
)
vbtrace.exe 20369 192.168.1.199
(DNP3采集协议端口号为20369)
| 参数项 | 配置值 | 说明 |
|-------|--------|------|
| Modbus Unit(站号) | 1 | 网关作为Modbus从站的地址 |
| 启用 | Yes | 启用Modbus转发功能 |
| 字节顺序 | 1234 | 浮点数字节顺序,根据平台要求调整 |
启用Modbus Slave]( 6 )
根据监控平台的接口类型选择:
模式A:Modbus TCP(网口连接)
502(标准Modbus TCP端口)模式B:Modbus RTU(串口连接)
将采集的DNP3数据映射到Modbus标准寄存器区域:
| 采集标签 | Modbus寄存器地址 | 数据区 | 数据类型 | 功能码 |
|---------|----------------|--------|---------|--------|
| Voltage_A | 40001 | 4X Holding Registers
| Float | 03H |
| Current_A | 40003 | 4X Holding Registers
| Float | 03H |
| Active_Power | 40005 | 4X Holding
Registers | Float | 03H |
| Power_Factor | 40007 | 4X Holding
Registers | Float | 03H |
| Frequency | 40009 | 4X Holding Registers
| Float | 03H |
| Total_Energy | 40011 | 4X Holding
Registers | Double | 03H |
地址映射规则 :
- Float类型占用2个寄存器(4字节)
- Double类型占用4个寄存器(8字节)
- 地址从40001开始,依次递增
添加转发数据映射]( 7 )
操作步骤 :
Modbus TCP :IP=192.168.1.199,Port=502,Unit=1
Modbus RTU :COM口对应网关COM2,配置相同串口参数
若需对原始数据进行换算(如电压变比、电流变比),可使用 用户标签 :
缩放运算 :Voltage_A * 10(电压变比10:1)
条件判断 :IF(Voltage_A > 220, 1, 0)(过压报警)
若现场有多台DNP3电表:
C:Program FilesVFBOXStudioWorkbenchproject)| 问题现象 | 可能原因 | 解决方法 |
|---------|---------|---------|
| 采集数据为1970时间 | 网关未采集到电表数据 | 检查DNP3地址、串口参数;使用vbtrace查看通信报文 |
| Modbus平台读取数据为0 | 寄存器地址映射错误 | 核对平台请求的地址与网关配置是否一致;确认功能码匹配 |
| Float数据值异常 | 字节顺序不匹配 | 在设备属性或Modbus Slave中调整字节顺序(1234/4321/3412/2143) |
| 下载工程提示No Space | 工程目录含无关文件 | 清理工程文件夹内非工程文件;或登录网关删除 /vb/bin/project 下文件 |
| 4G网关无法上网 | APN或SIM卡问题 | 检查WAN指示灯状态;确认SIM卡开通数据业务;核对工程设备类型是否为1110/1210 |
| 优势 | 说明 |
|-----|------|
| 协议兼容性强 | 单网关同时支持DNP3采集与Modbus转发,无需多台设备 |
| 配置简便 | 图形化VFBOX Studio软件,无需编程即可完成配置 |
| 实时性高 | 扫描间隔可配置至毫秒级,满足电力监控实时性要求 |
| 稳定可靠 | 工业级设计,支持-40℃~70℃宽温运行,看门狗保护 |
| 扩展灵活 | 支持多电表采集、多协议转发、用户标签运算等高级功能 |
本案例方案同样适用于:
全部0条评论
快来发表一下你的评论吧 !