引言

在使用 C# 与三菱电机的 PLC 进行通信时,通常采用 MX Component 是较为常见的方式。
然而,由于 MX Component 基于 COM 架构,其运行依赖于 Windows 环境,并且在性能方面也存在一定的局限性。

因此,本文将使用一个用 .NET 原生开发的轻量通信库 McpX,对其与 MX Component 之间的通信速度进行对比,验证在实际使用中性能差异到底有多大。

测试环境

PC 配置

  • Windows 11 Professional

  • CPU: Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz

  • 内存: 32GB

  • 存储: SSD 256GB

  • .NET 版本: 9.0.203

  • 使用库版本:

    • McpX 0.5.1

    • MX Component 4

  • McpX 使用协议:

    • 3E 帧

    • 二进制格式

    • TCP

本测试环境运行在通过 Proxmox 配置的虚拟机中。

网络结构

PLC 内置的以太网端口通过普通的交换机与 PC 相连。

测试方法

我们以 PLC 的设备内存为对象,执行连续地址的批量读取和写入操作,并对其处理速度进行对比。

每轮测试从 500 点开始,以 1000 点为步长增加,直到 10000 点,逐一测量每种数据点数量下的通信时间。

每个条件下,连续执行相同的读取或写入操作 100 次,并使用 System.Diagnostics.Stopwatch 类对执行时间(毫秒)进行统计,并计算平均值。

读取性能对比

在所有数据点数量下,McpX 的读取速度都快于 MX Component。特别是在超过 1000 点的场景下,差距更为明显。例如读取 5000 点时,McpX 用时 15.25ms,而 MX Component 为 19.62ms,提升约 22%。

随着读取点数的增加,两者的差距也进一步扩大,在 10000 点时,McpX 的速度约快 27%

点数 McpX (ms) MX Component (ms)
500 2.36 3.02
1000 4.16 6.06
2000 7.05 9.33
3000 10.05 12.85
4000 12.89 16.36
5000 15.25 19.62
6000 18.02 24.65
7000 21.02 31.24
8000 24.03 32.82
9000 27.01 36.95
10000 29.91 40.83

写入性能对比

在写入测试中,McpX 同样在所有数据点数量下优于 MX Component。例如,在写入 5000 点时,McpX 为 17.09ms,而 MX Component 则需要 22.75ms,约提升了 25%。

当写入点数增至 10000 时,McpX 仍保持约 25% 的性能优势

点数 McpX (ms) MX Component (ms)
500 2.08 3.08
1000 4.13 6.19
2000 7.92 10.39
3000 11.05 14.16
4000 14.07 18.52
5000 17.09 22.75
6000 20.38 26.96
7000 24.04 30.84
8000 27.03 35.48
9000 30.04 39.10
10000 33.06 43.92

总结

本文通过实际测量对比了 McpX 与 MX Component 在读取和写入处理中的通信性能。

测试结果表明,在所有数据点数量下,McpX 的处理速度平均比 MX Component 快约 26%

这一差距不仅源于 COM 架构的调用开销,更与所使用协议的结构设计有关。
McpX 采用的是三菱官方公开的 MC 协议(3E帧、二进制格式),具有结构简洁、通信高效等特点;而 MX Component 使用的是未公开的中间层协议,可能在内部引入了更多处理逻辑,影响了通信效率。

此外,McpX 作为纯 .NET 实现的库,不依赖 COM,对跨平台部署和云端运行环境更具兼容性,在可维护性和可移植性方面也更具优势。

 另外,我们在 GitHub 上提供了示例项目,欢迎参考

👉 McpX/Example at main · YudaiKitamura/McpX · GitHub

下回我们将介绍 McpX 所支持的设备写入命令及其使用方法,并附带具体示例代码。

参考链接

如果你觉得这个项目对你有帮助,欢迎在 GitHub 上点个 ⭐Star 支持一下!

👉 GitHub地址:https://github.com/YudaiKitamura/McpX

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐