Modbus/TCP 报警集成
入侵报警协议 — Modbus/TCP 报警集成
文档版本: V1.0
适用范围: 工业 SCADA / DCS 报警系统集成
编写日期: 2026-06-12
1. 概述
Modbus/TCP 是工业自动化领域广泛使用的通信协议。部分入侵报警主机(博世 B8512G/B9512G、海康 DS-PA 系列等)原生支持 Modbus/TCP,用于与上位 SCADA/BAS 系统集成。
2. 技术原理
| 项目 | 说明 |
|---|---|
| 传输层 | TCP,默认端口 502 |
| 数据格式 | 标准 Modbus 帧(ADU + PDU) |
| 通信模型 | 主站轮询从站(Request-Response) |
| 标准化 | IEC 61158 国际工业标准 |
2.1 常用功能码
| 功能码 | 用途 | 对应操作 |
|---|---|---|
0x01 |
读取线圈状态 | 读防区报警状态(ON=报警) |
0x02 |
读取离散输入 | 读防区故障/开路状态 |
0x05 |
写单一线圈 | 布防/撤防控制 |
0x03 |
读取保持寄存器 | 读取设备状态、系统参数 |
2.2 通信流程
SCADA/PLC 报警主机
│ │
│── TCP 连接建立 (502) ────────►│
│ │
│── 请求 0x01 读取线圈 ───────►│
│ (查询防区1-16报警状态) │
│◄──── 响应: 位图数据 ─────────│
│ │
│── 请求 0x05 写线圈 ─────────►│
│ (写入=ON: 布防分区1) │
│◄──── 响应: 写入成功 ─────────│
│ │
│ (持续轮询) │
│── 轮询间隔 1~5 秒 ──────────►│
│◄──── 响应 ───────────────────│
3. 配置要求
设备端
| 参数 | 说明 |
|---|---|
| Modbus 从站 ID | 1~247,设备唯一 ID |
| 端口 | TCP 502 |
| 功能码 | 按需求选择(报警状态用 0x01,控制用 0x05) |
| 寄存器映射表 | 需厂家提供(防区号→地址映射) |
平台端
| 参数 | 说明 |
|---|---|
| 主站角色 | SCADA/PLC 作为 Modbus 主站 |
| 轮询间隔 | 1~5 秒(取决于实时性要求) |
| 寄存器表 | 按厂家手册配置地址映射 |
4. 优缺点
| 优点 | 缺点 |
|---|---|
| 工业标准,SCADA/PLC 原生支持 | 事件驱动不足 — 需轮询获取变化 |
| 支持远程控制布撤防 | 实时性低于事件推送机制 |
| 可加 TLS 加密 | 报警事件可能被轮询间隔延迟 |
| 跨平台、跨语言集成成本低 | 寄存器映射表需逐厂家适配 |
5. 适用场景
- 报警系统与 DCS/SCADA 系统深度集成
- 煤矿综合自动化平台(需统一接入各类传感器)
- PLC 直接控制布撤防(联动启动/停止设备)
- 已部署 Modbus 基础设施的工业厂区
注意: Modbus/TCP 适合周期性的状态监控和简单控制,不适合需要秒级响应的紧急报警事件。关键报警建议同时使用 Contact ID 或 SIA DC-09 作为主通道,Modbus 作为控制备份通道。