Featured image of post Windows 工业通讯工具:OPC / Modbus / 串口 / Kepware / 模拟器

Windows 工业通讯工具:OPC / Modbus / 串口 / Kepware / 模拟器

工控领域 Windows 平台通信工具实战:Modbus Poll 主站、Kepware OPC Server、MatrikonOPC 冗余、GraySimulator 串口模拟、Virtual Serial Port Driver 虚拟串口

一、工控领域 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 TCPModbus TCP 上跑 RTU 帧

2.2 Modbus Poll 介绍

Modbus Poll 是 Witte Software 公司的商业 Modbus 主站工具,30 天试用功能

  • 读写 Holding / Input / Coil 寄存器
  • 多窗口并发多设备
  • 历史曲线 / 表格
  • 模拟从站自带 slave simulator

2.3 基本使用

  1. Connection → Connect
    • RTUCOM1 / 9600 / 8N1
    • TCPIP:502默认
  2. Setup → Read/Write Definition
    • Slave ID:1(默认
    • Function:03(Holding Register
    • Address:0
    • Quantity:10
  3. 轮询:每 1000 ms 自动读一次
  4. 表格 + 曲线双视图

2.4 常用功能码

功能码名称用途
01Read Coils读线圈(只读位
02Read Discrete Inputs读离散输入
03Read Holding Registers读保持寄存器(最常用
04Read Input Registers读输入寄存器
05Write Single Coil写单线圈
06Write Single Register写单寄存器
15Write Multiple Coils写多线圈
16Write Multiple Registers写多寄存器(最常用

2.5 实战:读温度

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
从站:温湿度传感器(Modbus RTU)
寄存器 0x0000:温度值 × 10
寄存器 0x0001:湿度值 × 10

Modbus Poll:
- Slave ID: 1
- Function: 03 (Holding)
- Address: 0
- Quantity: 2
- Poll: 1000 ms
- 解析:寄存器 0 = 0x0123 = 291 / 10 = 29.1 ℃

2.6 Modbus Slave 模拟从站

Modbus Poll 自带 Modbus Slave 工具(单独安装):

  1. Connection → Connect 选串口 / TCP
  2. 配 Slave ID
  3. 双击单元格写值模拟设备数据
  4. 用 Modbus Poll 读

实战没设备时开发测试

2.7 替代品

工具优势
Modbus Poll商业 / 图形化
libmodbus开源 C 库
pymodbusPython 库(最适合开发者
ModbusTools免费 / 功能弱
ModbusMEAndroid 上的 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 工具
  • ConfigurationProject → Add Channel 选设备驱动

3.3 添加设备示例(西门子 S7)

  1. 添加 ChannelSiemens TCP/IP Ethernet
  2. 添加 Device
    • Device IDS7-1500
    • IP192.168.1.100
    • Port102默认 S7 端口
    • CPU ModelS7-1500
  3. 添加 Tag
    • AddressDB1.DBD0DB1 块偏移 0 的 DWORD
    • Data TypeFloat
    • Scan Rate100 ms

3.4 客户端连接

Kepware 自带 OPC Quick Client

  1. Tools → Launch OPC Quick Client
  2. 选 Kepware Server
  3. 展开设备 → 看 Tag 实时值

3.5 Modbus 驱动

Kepware 也支持 Modbus 设备:

  1. ChannelModbus TCP/IP Ethernet
  2. Device IDModbus-Device-1
  3. Port502
  4. Tag
    • 400001Holding Register 0
    • 400002Holding 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 StudioSCADA 自带 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 ExplorerOPC 客户端测试
Matrikon FLEX冗余 + 容错
Matrikon SecurityOPC 安全加固

4.3 典型架构

1
2
3
4
5
6
7
PLC1 ─┐
      ├─→ Matrikon OPC Server ─→ SCADA / MES
PLC2 ─┘       (FLEX 冗余)
       OPC Tunneller(穿透防火墙)
       远程客户端

4.4 选型对比

维度KepwareMatrikon 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 实战:模拟温湿度

  1. 设备 → 新建 Modbus TCP 从站
  2. IP127.0.0.1:502
  3. 数据
    • 寄存器 0:温度 25-30 范围波动
    • 寄存器 1:湿度 40-60 范围波动
  4. 保存 → 启动

5.4 批量模拟

脚本 → 加载 Python 脚本

1
2
3
4
5
# 模拟温度上升
import time
for i in range(100):
    write_register(0, 20 + i * 0.1)
    time.sleep(1)

实战模拟一年数据用于压测。

六、Virtual Serial Port Driver:虚拟串口

6.1 定位

Virtual Serial Port Driver (VSPD) 是 Eltima 公司的虚拟串口工具核心价值

  • 创建虚拟 COM 端口对COM3 ↔ COM4
  • 一端写 / 另一端读
  • 无需硬件测试串口程序

6.2 安装与配置

  • 商业付费($140 起
  • 安装时装驱动
  • 启动 VSPD → Add pair
    • COM3COM4成对
    • Create

6.3 实战:测试串口程序

1
2
3
4
5
串口工具1(COM3 写)
   ↓ 数据
VSPD 虚拟串口对(COM3 ↔ COM4)
   ↓ 透传
串口工具2(COM4 读)

测试场景

  • 串口调试助手 写 → 自己的程序读
  • 自己的程序写 → 串口调试助手

6.4 替代品

工具优势
VSPD商业 / 稳定
com0com开源 / 经典Win 10+ 要手动签驱动
HHD Software Virtual Serial Port商业 / 简单
Linux socat开源 / 跨平台

6.5 com0com(开源替代)

https://sourceforge.net/projects/com0com/

1
2
# 创建 COM5 ↔ COM6
setupc.exe install 5 6

注意Win 10/11 要禁用驱动强制签名

1
设置 → 更新与安全 → 恢复 → 高级启动 → 重启 → 疑难解答 → 高级 → 启动设置 → 重启 → 按 7 禁用驱动签名

七、组合实战

7.1 工控数据采集

1
2
3
4
5
6
7
PLC 设备(西门子 S7-1500)
   ↓ Modbus TCP / S7
Kepware OPC Server
   ↓ OPC DA / OPC UA
SCADA 系统(WinCC / iFIX)
   ↓ 数据库
MES / ERP

7.2 测试环境

1
2
3
电脑 A:VSPD 创建 COM3 ↔ COM4
电脑 B:Modbus Slave 模拟从站(COM3)
电脑 A:Modbus Poll 读(COM4)

7.3 物联网网关

1
2
3
4
5
6
7
Modbus 设备
   ↓ Modbus TCP
Kepware IoT Gateway
   ↓ MQTT (Sparkplug B)
云平台(AWS IoT / 阿里云 IoT)
   ↓ 时间序列数据库
可视化(Grafana / ThingsBoard)

八、常见问题

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 报错

驱动签名问题

1
2
3
1. 启动 → 设置 → 安全模式启动
2. 启动时按 F7 禁用驱动强制签名
3. 安装 VSPD

九、下一步

  • 想看物联网 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 年后仍是工控领域最常用的

使用 Hugo 构建
主题 StackJimmy 设计