一、工控领域 Windows 通讯工具背景
2016 年是工业 4.0 / 智能制造概念在国内开始落地的关键年份。传统 PLC 厂商(西门子 S7、三菱 FX、欧姆龙 CP1H)通过OPC Server暴露数据,SCADA / MES 系统通过 Modbus / OPC DA / OPC UA采集。本文整理 5 款工控专用工具。
阅读建议:本文面向工控开发者 / 自动化工程师 / SCADA 集成商,重点在协议 + 工具选型。
二、Modbus Poll:Modbus 主站模拟
2.1 协议背景
Modbus 1979 年由 Modicon(现 Schneider)发布,工业领域事实标准。两类:
- Modbus RTU:串口(RS-232/485),紧凑二进制
- Modbus ASCII:串口,可读文本
- Modbus TCP:以太网(默认 502 端口)
- Modbus RTU over TCP:Modbus TCP 上跑 RTU 帧
2.2 Modbus Poll 介绍
Modbus Poll 是 Witte Software 公司的商业 Modbus 主站工具,30 天试用。功能:
- 读写 Holding / Input / Coil 寄存器
- 多窗口并发(多设备)
- 历史曲线 / 表格
- 模拟从站(自带 slave simulator)
2.3 基本使用
Connection → Connect:- RTU:
COM1 / 9600 / 8N1 - TCP:
IP:502(默认)
- RTU:
Setup → Read/Write Definition:- Slave ID:1(默认)
- Function:03(Holding Register)
- Address:0
- Quantity:10
- 轮询:每 1000 ms 自动读一次
- 表格 + 曲线双视图
2.4 常用功能码
| 功能码 | 名称 | 用途 |
|---|---|---|
| 01 | Read Coils | 读线圈(只读位) |
| 02 | Read Discrete Inputs | 读离散输入 |
| 03 | Read Holding Registers | 读保持寄存器(最常用) |
| 04 | Read Input Registers | 读输入寄存器 |
| 05 | Write Single Coil | 写单线圈 |
| 06 | Write Single Register | 写单寄存器 |
| 15 | Write Multiple Coils | 写多线圈 |
| 16 | Write Multiple Registers | 写多寄存器(最常用) |
2.5 实战:读温度
| |
2.6 Modbus Slave 模拟从站
Modbus Poll 自带 Modbus Slave 工具(单独安装):
Connection → Connect选串口 / TCP- 配 Slave ID
- 双击单元格写值(模拟设备数据)
- 用 Modbus Poll 读
实战:没设备时开发测试。
2.7 替代品
| 工具 | 优势 |
|---|---|
| Modbus Poll | 商业 / 图形化 |
| libmodbus | 开源 C 库 |
| pymodbus | Python 库(最适合开发者) |
| ModbusTools | 免费 / 功能弱 |
| ModbusME | Android 上的 Modbus 工具 |
| QModBus | 开源 / 跨平台 |
三、Kepware OPC Server:工业数据中枢
3.1 定位
Kepware 是 PTC 旗下(2016 被收购)的 OPC Server 标准。国内 80% 大型工控项目用 Kepware 做数据网关。
支持设备:
- 主流 PLC:西门子 S7、三菱 MC、欧姆龙 FINS、罗克韦尔 ControlLogix
- 工业协议:Modbus、OPC UA、MQTT、Sparkplug B
- 串口:以太网设备
3.2 安装与初始配置
- 商业付费(License 文件激活)
- 装好
KEPServerEX主程序 +Configuration工具 Configuration→Project → Add Channel选设备驱动
3.3 添加设备示例(西门子 S7)
- 添加 Channel:
Siemens TCP/IP Ethernet - 添加 Device:
- Device ID:
S7-1500 - IP:
192.168.1.100 - Port:
102(默认 S7 端口) - CPU Model:
S7-1500
- Device ID:
- 添加 Tag:
- Address:
DB1.DBD0(DB1 块偏移 0 的 DWORD) - Data Type:
Float - Scan Rate:
100 ms
- Address:
3.4 客户端连接
Kepware 自带 OPC Quick Client:
Tools → Launch OPC Quick Client- 选 Kepware Server
- 展开设备 → 看 Tag 实时值
3.5 Modbus 驱动
Kepware 也支持 Modbus 设备:
- Channel:
Modbus TCP/IP Ethernet - Device ID:
Modbus-Device-1 - Port:
502 - Tag:
400001(Holding Register 0)400002(Holding Register 1)
3.6 高级功能
IoT Gateway:
- MQTT:把数据推到云(Sparkplug B 格式)
- REST Client:HTTP POST 到 API
- AWS IoT Core / Azure IoT Hub:直接对接云平台
冗余:
- Master / Backup Server:主备切换
- Configuration API:动态加 Tag
安全:
- OPC UA 加密
- 用户认证
- 审计日志
3.7 替代品对比
| 工具 | 优势 |
|---|---|
| Kepware | 事实标准 / 商业付费 |
| Matrikon OPC | 加拿大 Matrikon / 强冗余 |
| OpenOPC | 开源 Python 库 |
| Prosys OPC UA | 跨平台 / 工业级 |
| Siemens SIMATIC NET | 西门子官方(强绑 S7) |
| Indusoft Web Studio | SCADA 自带 OPC |
四、Matrikon OPC:OPC 冗余
4.1 定位
MatrikonOPC(Honeywell 收购)是 OPC 领域的另一大厂。与 Kepware 区别:
- Matrikon:强冗余 + 强 OPC UA + 加拿大本土
- Kepware:设备驱动最全(200+ 设备) + 美国 PTC
4.2 核心产品
| 产品 | 用途 |
|---|---|
| Matrikon OPC Server | 多协议 OPC Server |
| Matrikon OPC Tunneller | 跨网段 OPC 代理 |
| Matrikon OPC Explorer | OPC 客户端测试 |
| Matrikon FLEX | 冗余 + 容错 |
| Matrikon Security | OPC 安全加固 |
4.3 典型架构
| |
4.4 选型对比
| 维度 | Kepware | Matrikon OPC |
|---|---|---|
| 设备驱动 | 200+ | 100+ |
| OPC UA | ✓ | ✓(更早支持) |
| 冗余 | ✓ | ✓(更强) |
| 价格 | 商业付费 | 商业付费(通常更贵) |
| 国内用户 | 多 | 中等 |
| 学习曲线 | 中等 | 较陡 |
五、GraySimulator:Modbus 模拟器
5.1 定位
GraySimulator 是国内团队开发的Modbus 设备模拟器。比 Modbus Slave 强:
- 支持 Modbus RTU / TCP / ASCII
- 批量模拟(脚本)
- 数据曲线 / 报警
- 国产 / 中文
5.2 安装
http://www.simway.com/(国内厂商):
- 单文件绿色版
- 装好启动 → 添加设备
5.3 实战:模拟温湿度
设备 → 新建 Modbus TCP 从站- IP:
127.0.0.1:502 - 数据:
- 寄存器 0:温度 25-30 范围波动
- 寄存器 1:湿度 40-60 范围波动
- 保存 → 启动
5.4 批量模拟
脚本 → 加载 Python 脚本:
| |
实战:模拟一年数据用于压测。
六、Virtual Serial Port Driver:虚拟串口
6.1 定位
Virtual Serial Port Driver (VSPD) 是 Eltima 公司的虚拟串口工具。核心价值:
- 创建虚拟 COM 端口对(
COM3 ↔ COM4) - 一端写 / 另一端读
- 无需硬件测试串口程序
6.2 安装与配置
- 商业付费($140 起)
- 安装时装驱动
- 启动 VSPD →
Add pair:- 选
COM3和COM4(成对) Create
- 选
6.3 实战:测试串口程序
| |
测试场景:
- 串口调试助手 写 → 自己的程序读
- 自己的程序写 → 串口调试助手 读
6.4 替代品
| 工具 | 优势 |
|---|---|
| VSPD | 商业 / 稳定 |
| com0com | 开源 / 经典(Win 10+ 要手动签驱动) |
| HHD Software Virtual Serial Port | 商业 / 简单 |
| Linux socat | 开源 / 跨平台 |
6.5 com0com(开源替代)
https://sourceforge.net/projects/com0com/:
| |
注意:Win 10/11 要禁用驱动强制签名:
| |
七、组合实战
7.1 工控数据采集
| |
7.2 测试环境
| |
7.3 物联网网关
| |
八、常见问题
8.1 Modbus 通信失败
- 检查波特率 / 数据位 / 停止位 / 校验(9600/8N1 是最常见)
- 检查 502 端口:防火墙放行
- 检查从站地址(不要和 0 / 255 冲突)
8.2 Kepware 找不到设备
- License 过期
- 设备 IP 错
- 防火墙
- 驱动版本不匹配
8.3 OPC UA 安全
- 认证模式:选
Certificate(强) - 加密:
Basic256Sha256 - 用户管理:
Admin改密 - 审计日志:开启
8.4 VSPD 在 Win 10 报错
驱动签名问题:
| |
九、下一步
- 想看物联网 MQTT 实战:[2016-11-15 数据库客户端实战:MySQL / Redis / ES / MQTT]
- 想看 SCADA 集成:项目全流程 章节
- 想看 PLC 通信:[2017-10-15 ProtoBuf & gRPC 实战]
本文写于 2016 年,回看当时:Kepware 2016 被 PTC 收购,中国区业务大涨;Matrikon 2010 被 Honeywell 收购;Modbus 协议 40 年了仍是工业事实标准——5 款工具 10 年后仍是工控领域最常用的。
