<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OPC on Liangweidong's blog</title><link>https://liangweidonggood.github.io/tags/opc/</link><description>Recent content in OPC on Liangweidong's blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Fri, 15 Apr 2016 00:00:00 +0800</lastBuildDate><atom:link href="https://liangweidonggood.github.io/tags/opc/index.xml" rel="self" type="application/rss+xml"/><item><title>Windows 工业通讯工具：OPC / Modbus / 串口 / Kepware / 模拟器</title><link>https://liangweidonggood.github.io/p/windows-gong-ye-tong-xun-opc-modbus/</link><pubDate>Fri, 15 Apr 2016 00:00:00 +0800</pubDate><guid>https://liangweidonggood.github.io/p/windows-gong-ye-tong-xun-opc-modbus/</guid><description>&lt;img src="https://liangweidonggood.github.io/p/windows-gong-ye-tong-xun-opc-modbus/image/cover.jpg" alt="Featured image of post Windows 工业通讯工具：OPC / Modbus / 串口 / Kepware / 模拟器" /&gt;&lt;h2 id="一工控领域-windows-通讯工具背景"&gt;一、工控领域 Windows 通讯工具背景
&lt;/h2&gt;&lt;p&gt;2016 年是&lt;strong&gt;工业 4.0 / 智能制造&lt;/strong&gt;概念在国内开始落地的关键年份。&lt;strong&gt;传统 PLC 厂商&lt;/strong&gt;（西门子 S7、三菱 FX、欧姆龙 CP1H）通过&lt;strong&gt;OPC Server&lt;/strong&gt;暴露数据，&lt;strong&gt;SCADA / MES 系统&lt;/strong&gt;通过 &lt;strong&gt;Modbus / OPC DA / OPC UA&lt;/strong&gt;采集。本文整理 5 款工控专用工具。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;阅读建议&lt;/strong&gt;：本文面向&lt;strong&gt;工控开发者 / 自动化工程师 / SCADA 集成商&lt;/strong&gt;，重点在&lt;strong&gt;协议 + 工具选型&lt;/strong&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="二modbus-pollmodbus-主站模拟"&gt;二、Modbus Poll：Modbus 主站模拟
&lt;/h2&gt;&lt;h3 id="21-协议背景"&gt;2.1 协议背景
&lt;/h3&gt;&lt;p&gt;Modbus 1979 年由 Modicon（现 Schneider）发布，&lt;strong&gt;工业领域事实标准&lt;/strong&gt;。&lt;strong&gt;两类&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Modbus RTU&lt;/strong&gt;：串口（RS-232/485），&lt;strong&gt;紧凑二进制&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modbus ASCII&lt;/strong&gt;：串口，&lt;strong&gt;可读文本&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modbus TCP&lt;/strong&gt;：以太网（&lt;strong&gt;默认 502 端口&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modbus RTU over TCP&lt;/strong&gt;：&lt;strong&gt;Modbus TCP 上跑 RTU 帧&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="22-modbus-poll-介绍"&gt;2.2 Modbus Poll 介绍
&lt;/h3&gt;&lt;p&gt;Modbus Poll 是 Witte Software 公司的商业 Modbus 主站工具，&lt;strong&gt;30 天试用&lt;/strong&gt;。&lt;strong&gt;功能&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;读写 Holding / Input / Coil 寄存器&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多窗口并发&lt;/strong&gt;（&lt;strong&gt;多设备&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;历史曲线 / 表格&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模拟从站&lt;/strong&gt;（&lt;strong&gt;自带 slave simulator&lt;/strong&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="23-基本使用"&gt;2.3 基本使用
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Connection → Connect&lt;/code&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;RTU&lt;/strong&gt;：&lt;code&gt;COM1 / 9600 / 8N1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TCP&lt;/strong&gt;：&lt;code&gt;IP:502&lt;/code&gt;（&lt;strong&gt;默认&lt;/strong&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Setup → Read/Write Definition&lt;/code&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Slave ID&lt;/strong&gt;：1（&lt;strong&gt;默认&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Function&lt;/strong&gt;：03（&lt;strong&gt;Holding Register&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Address&lt;/strong&gt;：0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quantity&lt;/strong&gt;：10&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;轮询&lt;/strong&gt;：每 1000 ms 自动读一次&lt;/li&gt;
&lt;li&gt;表格 + 曲线双视图&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="24-常用功能码"&gt;2.4 常用功能码
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;功能码&lt;/th&gt;
					&lt;th&gt;名称&lt;/th&gt;
					&lt;th&gt;用途&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;01&lt;/td&gt;
					&lt;td&gt;Read Coils&lt;/td&gt;
					&lt;td&gt;读线圈（&lt;strong&gt;只读位&lt;/strong&gt;）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;02&lt;/td&gt;
					&lt;td&gt;Read Discrete Inputs&lt;/td&gt;
					&lt;td&gt;读离散输入&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;03&lt;/td&gt;
					&lt;td&gt;Read Holding Registers&lt;/td&gt;
					&lt;td&gt;读保持寄存器（&lt;strong&gt;最常用&lt;/strong&gt;）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;04&lt;/td&gt;
					&lt;td&gt;Read Input Registers&lt;/td&gt;
					&lt;td&gt;读输入寄存器&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;05&lt;/td&gt;
					&lt;td&gt;Write Single Coil&lt;/td&gt;
					&lt;td&gt;写单线圈&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;06&lt;/td&gt;
					&lt;td&gt;Write Single Register&lt;/td&gt;
					&lt;td&gt;写单寄存器&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;15&lt;/td&gt;
					&lt;td&gt;Write Multiple Coils&lt;/td&gt;
					&lt;td&gt;写多线圈&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;16&lt;/td&gt;
					&lt;td&gt;Write Multiple Registers&lt;/td&gt;
					&lt;td&gt;写多寄存器（&lt;strong&gt;最常用&lt;/strong&gt;）&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="25-实战读温度"&gt;2.5 实战：读温度
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;从站：温湿度传感器（Modbus RTU）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;寄存器 0x0000：温度值 × 10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;寄存器 0x0001：湿度值 × 10
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Modbus Poll：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Slave ID: 1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Function: 03 (Holding)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Address: 0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Quantity: 2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Poll: 1000 ms
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- 解析：寄存器 0 = 0x0123 = 291 / 10 = 29.1 ℃
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="26-modbus-slave-模拟从站"&gt;2.6 Modbus Slave 模拟从站
&lt;/h3&gt;&lt;p&gt;Modbus Poll 自带 &lt;code&gt;Modbus Slave&lt;/code&gt; 工具（&lt;strong&gt;单独安装&lt;/strong&gt;）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Connection → Connect&lt;/code&gt; 选串口 / TCP&lt;/li&gt;
&lt;li&gt;配 Slave ID&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;双击单元格写值&lt;/strong&gt;（&lt;strong&gt;模拟设备数据&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;用 Modbus Poll 读&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;实战&lt;/strong&gt;：&lt;strong&gt;没设备时开发测试&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="27-替代品"&gt;2.7 替代品
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;优势&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Modbus Poll&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;商业 / 图形化&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;libmodbus&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;开源 C 库&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;pymodbus&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Python 库（&lt;strong&gt;最适合开发者&lt;/strong&gt;）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;ModbusTools&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;免费 / 功能弱&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;ModbusME&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Android 上的 Modbus 工具&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;QModBus&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;开源 / 跨平台&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="三kepware-opc-server工业数据中枢"&gt;三、Kepware OPC Server：工业数据中枢
&lt;/h2&gt;&lt;h3 id="31-定位"&gt;3.1 定位
&lt;/h3&gt;&lt;p&gt;Kepware 是 PTC 旗下（2016 被收购）的 &lt;strong&gt;OPC Server 标准&lt;/strong&gt;。&lt;strong&gt;国内 80% 大型工控项目&lt;/strong&gt;用 Kepware 做&lt;strong&gt;数据网关&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;支持设备&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主流 PLC：西门子 S7、三菱 MC、欧姆龙 FINS、罗克韦尔 ControlLogix&lt;/li&gt;
&lt;li&gt;工业协议：Modbus、OPC UA、MQTT、Sparkplug B&lt;/li&gt;
&lt;li&gt;串口：以太网设备&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="32-安装与初始配置"&gt;3.2 安装与初始配置
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;商业付费（&lt;strong&gt;License 文件激活&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;装好 &lt;code&gt;KEPServerEX&lt;/code&gt; 主程序 + &lt;code&gt;Configuration&lt;/code&gt; 工具&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Configuration&lt;/code&gt; → &lt;code&gt;Project → Add Channel&lt;/code&gt; 选设备驱动&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="33-添加设备示例西门子-s7"&gt;3.3 添加设备示例（西门子 S7）
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;添加 Channel&lt;/strong&gt;：&lt;code&gt;Siemens TCP/IP Ethernet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;添加 Device&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Device ID&lt;/strong&gt;：&lt;code&gt;S7-1500&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IP&lt;/strong&gt;：&lt;code&gt;192.168.1.100&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Port&lt;/strong&gt;：&lt;code&gt;102&lt;/code&gt;（&lt;strong&gt;默认 S7 端口&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CPU Model&lt;/strong&gt;：&lt;code&gt;S7-1500&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;添加 Tag&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Address&lt;/strong&gt;：&lt;code&gt;DB1.DBD0&lt;/code&gt;（&lt;strong&gt;DB1 块偏移 0 的 DWORD&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Type&lt;/strong&gt;：&lt;code&gt;Float&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scan Rate&lt;/strong&gt;：&lt;code&gt;100 ms&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="34-客户端连接"&gt;3.4 客户端连接
&lt;/h3&gt;&lt;p&gt;Kepware 自带 &lt;code&gt;OPC Quick Client&lt;/code&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Tools → Launch OPC Quick Client&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;选 Kepware Server&lt;/li&gt;
&lt;li&gt;展开设备 → 看 Tag 实时值&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="35-modbus-驱动"&gt;3.5 Modbus 驱动
&lt;/h3&gt;&lt;p&gt;Kepware 也支持 Modbus 设备：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Channel&lt;/strong&gt;：&lt;code&gt;Modbus TCP/IP Ethernet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Device ID&lt;/strong&gt;：&lt;code&gt;Modbus-Device-1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Port&lt;/strong&gt;：&lt;code&gt;502&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tag&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;400001&lt;/code&gt;（&lt;strong&gt;Holding Register 0&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;400002&lt;/code&gt;（&lt;strong&gt;Holding Register 1&lt;/strong&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="36-高级功能"&gt;3.6 高级功能
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;IoT Gateway&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MQTT&lt;/strong&gt;：把数据推到云（&lt;strong&gt;Sparkplug B 格式&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;REST Client&lt;/strong&gt;：HTTP POST 到 API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AWS IoT Core / Azure IoT Hub&lt;/strong&gt;：直接对接云平台&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;冗余&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Master / Backup Server&lt;/strong&gt;：主备切换&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configuration API&lt;/strong&gt;：动态加 Tag&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;安全&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OPC UA 加密&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用户认证&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;审计日志&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="37-替代品对比"&gt;3.7 替代品对比
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;优势&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Kepware&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;事实标准&lt;/strong&gt; / 商业付费&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Matrikon OPC&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;加拿大 Matrikon / 强冗余&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;OpenOPC&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;开源 Python 库&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Prosys OPC UA&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;跨平台 / 工业级&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Siemens SIMATIC NET&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;西门子官方（&lt;strong&gt;强绑 S7&lt;/strong&gt;）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Indusoft Web Studio&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;SCADA 自带 OPC&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="四matrikon-opcopc-冗余"&gt;四、Matrikon OPC：OPC 冗余
&lt;/h2&gt;&lt;h3 id="41-定位"&gt;4.1 定位
&lt;/h3&gt;&lt;p&gt;MatrikonOPC（&lt;strong&gt;Honeywell 收购&lt;/strong&gt;）是 OPC 领域的另一大厂。&lt;strong&gt;与 Kepware 区别&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Matrikon&lt;/strong&gt;：&lt;strong&gt;强冗余 + 强 OPC UA&lt;/strong&gt; + 加拿大本土&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kepware&lt;/strong&gt;：&lt;strong&gt;设备驱动最全&lt;/strong&gt;（&lt;strong&gt;200+ 设备&lt;/strong&gt;） + 美国 PTC&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="42-核心产品"&gt;4.2 核心产品
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;产品&lt;/th&gt;
					&lt;th&gt;用途&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Matrikon OPC Server&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;多协议 OPC Server&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Matrikon OPC Tunneller&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;跨网段 OPC 代理&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Matrikon OPC Explorer&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;OPC 客户端测试&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Matrikon FLEX&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;冗余 + 容错&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Matrikon Security&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;OPC 安全加固&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="43-典型架构"&gt;4.3 典型架构
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;PLC1 ─┐
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├─→ Matrikon OPC Server ─→ SCADA / MES
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;PLC2 ─┘ (FLEX 冗余)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; OPC Tunneller（穿透防火墙）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 远程客户端
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="44-选型对比"&gt;4.4 选型对比
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;维度&lt;/th&gt;
					&lt;th&gt;Kepware&lt;/th&gt;
					&lt;th&gt;Matrikon OPC&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;设备驱动&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;200+&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;100+&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OPC UA&lt;/td&gt;
					&lt;td&gt;✓&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;✓（更早支持）&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;冗余&lt;/td&gt;
					&lt;td&gt;✓&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;✓（更强）&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;价格&lt;/td&gt;
					&lt;td&gt;商业付费&lt;/td&gt;
					&lt;td&gt;商业付费（&lt;strong&gt;通常更贵&lt;/strong&gt;）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;国内用户&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;多&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;中等&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;学习曲线&lt;/td&gt;
					&lt;td&gt;中等&lt;/td&gt;
					&lt;td&gt;较陡&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="五graysimulatormodbus-模拟器"&gt;五、GraySimulator：Modbus 模拟器
&lt;/h2&gt;&lt;h3 id="51-定位"&gt;5.1 定位
&lt;/h3&gt;&lt;p&gt;GraySimulator 是国内团队开发的&lt;strong&gt;Modbus 设备模拟器&lt;/strong&gt;。&lt;strong&gt;比 Modbus Slave 强&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;支持 Modbus RTU / TCP / ASCII&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;批量模拟&lt;/strong&gt;（&lt;strong&gt;脚本&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据曲线 / 报警&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;国产 / 中文&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="52-安装"&gt;5.2 安装
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;http://www.simway.com/&lt;/code&gt;（&lt;strong&gt;国内厂商&lt;/strong&gt;）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;单文件绿色版&lt;/li&gt;
&lt;li&gt;装好&lt;strong&gt;启动 → 添加设备&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="53-实战模拟温湿度"&gt;5.3 实战：模拟温湿度
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;设备 → 新建 Modbus TCP 从站&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IP&lt;/strong&gt;：&lt;code&gt;127.0.0.1:502&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;寄存器 0：温度 25-30 范围波动&lt;/li&gt;
&lt;li&gt;寄存器 1：湿度 40-60 范围波动&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;保存 → 启动&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="54-批量模拟"&gt;5.4 批量模拟
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;脚本 → 加载 Python 脚本&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 模拟温度上升&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;time&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;write_register&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;实战&lt;/strong&gt;：&lt;strong&gt;模拟一年数据&lt;/strong&gt;用于压测。&lt;/p&gt;
&lt;h2 id="六virtual-serial-port-driver虚拟串口"&gt;六、Virtual Serial Port Driver：虚拟串口
&lt;/h2&gt;&lt;h3 id="61-定位"&gt;6.1 定位
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Virtual Serial Port Driver (VSPD)&lt;/strong&gt; 是 Eltima 公司的&lt;strong&gt;虚拟串口工具&lt;/strong&gt;。&lt;strong&gt;核心价值&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;创建虚拟 COM 端口对&lt;/strong&gt;（&lt;code&gt;COM3 ↔ COM4&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;一端写 / 另一端读&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;无需硬件&lt;/strong&gt;测试串口程序&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="62-安装与配置"&gt;6.2 安装与配置
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;商业付费（&lt;strong&gt;$140 起&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;安装时&lt;strong&gt;装驱动&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;启动 VSPD → &lt;code&gt;Add pair&lt;/code&gt;：
&lt;ul&gt;
&lt;li&gt;选 &lt;code&gt;COM3&lt;/code&gt; 和 &lt;code&gt;COM4&lt;/code&gt;（&lt;strong&gt;成对&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Create&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="63-实战测试串口程序"&gt;6.3 实战：测试串口程序
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;串口工具1（COM3 写）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ 数据
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;VSPD 虚拟串口对（COM3 ↔ COM4）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ 透传
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;串口工具2（COM4 读）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;测试场景&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;串口调试助手&lt;/strong&gt; 写 → 自己的程序读&lt;/li&gt;
&lt;li&gt;自己的程序写 → &lt;strong&gt;串口调试助手&lt;/strong&gt; 读&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="64-替代品"&gt;6.4 替代品
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;优势&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;VSPD&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;商业 / 稳定&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;com0com&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;开源 / 经典&lt;/strong&gt;（&lt;strong&gt;Win 10+ 要手动签驱动&lt;/strong&gt;）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;HHD Software Virtual Serial Port&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;商业 / 简单&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Linux socat&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;开源 / 跨平台&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="65-com0com开源替代"&gt;6.5 com0com（开源替代）
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;https://sourceforge.net/projects/com0com/&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 创建 COM5 ↔ COM6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;setupc.exe install &lt;span class="m"&gt;5&lt;/span&gt; &lt;span class="m"&gt;6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：&lt;strong&gt;Win 10/11 要禁用驱动强制签名&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;设置 → 更新与安全 → 恢复 → 高级启动 → 重启 → 疑难解答 → 高级 → 启动设置 → 重启 → 按 7 禁用驱动签名
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="七组合实战"&gt;七、组合实战
&lt;/h2&gt;&lt;h3 id="71-工控数据采集"&gt;7.1 工控数据采集
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;PLC 设备（西门子 S7-1500）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ Modbus TCP / S7
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Kepware OPC Server
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ OPC DA / OPC UA
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SCADA 系统（WinCC / iFIX）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ 数据库
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MES / ERP
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="72-测试环境"&gt;7.2 测试环境
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;电脑 A：VSPD 创建 COM3 ↔ COM4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;电脑 B：Modbus Slave 模拟从站（COM3）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;电脑 A：Modbus Poll 读（COM4）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="73-物联网网关"&gt;7.3 物联网网关
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Modbus 设备
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ Modbus TCP
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Kepware IoT Gateway
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ MQTT (Sparkplug B)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;云平台（AWS IoT / 阿里云 IoT）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ 时间序列数据库
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;可视化（Grafana / ThingsBoard）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="八常见问题"&gt;八、常见问题
&lt;/h2&gt;&lt;h3 id="81-modbus-通信失败"&gt;8.1 Modbus 通信失败
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;检查波特率 / 数据位 / 停止位 / 校验&lt;/strong&gt;（&lt;strong&gt;9600/8N1 是最常见&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;检查 502 端口&lt;/strong&gt;：防火墙放行&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;检查从站地址&lt;/strong&gt;（&lt;strong&gt;不要和 0 / 255 冲突&lt;/strong&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="82-kepware-找不到设备"&gt;8.2 Kepware 找不到设备
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;License 过期&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;设备 IP 错&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;防火墙&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;驱动版本不匹配&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="83-opc-ua-安全"&gt;8.3 OPC UA 安全
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;认证模式&lt;/strong&gt;：选 &lt;code&gt;Certificate&lt;/code&gt;（&lt;strong&gt;强&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;加密&lt;/strong&gt;：&lt;code&gt;Basic256Sha256&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用户管理&lt;/strong&gt;：&lt;code&gt;Admin&lt;/code&gt; 改密&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;审计日志&lt;/strong&gt;：开启&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="84-vspd-在-win-10-报错"&gt;8.4 VSPD 在 Win 10 报错
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;驱动签名问题&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1. 启动 → 设置 → 安全模式启动
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2. 启动时按 F7 禁用驱动强制签名
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;3. 安装 VSPD
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="九下一步"&gt;九、下一步
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想看物联网 MQTT 实战：&lt;strong&gt;[2016-11-15 数据库客户端实战：MySQL / Redis / ES / MQTT]&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;想看 SCADA 集成：&lt;strong&gt;项目全流程&lt;/strong&gt; 章节&lt;/li&gt;
&lt;li&gt;想看 PLC 通信：&lt;strong&gt;[2017-10-15 ProtoBuf &amp;amp; gRPC 实战]&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;本文写于 2016 年，回看当时&lt;/strong&gt;：Kepware 2016 被 PTC 收购，&lt;strong&gt;中国区业务大涨&lt;/strong&gt;；Matrikon 2010 被 Honeywell 收购；&lt;strong&gt;Modbus 协议 40 年了仍是工业事实标准&lt;/strong&gt;——&lt;strong&gt;5 款工具 10 年后仍是工控领域最常用的&lt;/strong&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;</description></item></channel></rss>