.NET和Delphi平台Modbus开发库大全:NModbus、FreeModbus.NET与Delphi组件

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

.NET和Delphi平台Modbus开发库大全:NModbus、FreeModbus.NET与Delphi组件缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. .NET 平台的 Modbus 开发生态
  2. 2. NModbus —— 最流行的 C# Modbus 库
  3. 3. FunktionEigenschaften
  4. 4. 安装
  5. 5. Modbus TCP 读写Beispiel
  6. 6. Modbus RTU Serielle Kommunikation
  7. 7. Free .NET Modbus(free-dotnet-modbus)
  8. 8. ASComm.NET —— 商业级 .NET Modbus 驱动
  9. 9. 核心Eigenschaften
  10. 10. ASComm.NET Beispiel Code
  11. 11. Delphi ModbusTCP 组件
  12. 12. ModLink —— Delphi VCL 原生组件
  13. 13. 如何Auswahl .NET/Delphi Modbus 库
  14. 14. 总结

.NET 平台的 Modbus 开发生态

在 Windows Industrielle Automatisierung软件开发中,.NET(C#/VB.NET)是最主流的开发平台之一。modbus.org 推荐了多个 .NET 平台的 Modbus 库,涵盖了从开源kostenloszu商业支持的不同Auswahl。本文将逐一介绍这些库的特点和使用方法。

NModbus —— 最流行的 C# Modbus 库

NModbus 是 .NET 平台上最成熟、使用最广泛的 Modbus 开源库。最早托管在 Google Code,现已迁移至 GitHub:github.com/NModbus/NModbus。NuGet 包名:NModbus

FunktionEigenschaften

  • 支持 Modbus RTU(Die Serie)、Modbus ASCII、Modbus TCP 和 Modbus UDP 四种传输模式
  • vollständig支持所有常用Funktionscode(FC01-FC06, FC15, FC16)
  • 通过 NuGet 包管理器一键安装
  • 支持 .NET Framework 和 .NET Core / .NET 5+
  • 开源Lizenz:MIT(可商用)

安装

# NuGet Befehl行安装
dotnet add package NModbus

# 或通过 Visual Studio 的 NuGet 包管理器Suche nach "NModbus"

Modbus TCP 读写Beispiel

using System;
using System.Net.Sockets;
using NModbus;

// 创建 TCP 客户端
using var client = new TcpClient("192.168.1.100", 502);
var factory = new ModbusFactory();
var master = factory.CreateMaster(client);

// LesenVon der Station 1 的保持Register. 0-9
ushort[] registers = master.ReadHoldingRegisters(1, 0, 10);
Console.WriteLine("LesenErgebnis:");
for (int i = 0; i < registers.Length; i++)
    Console.WriteLine($"  Adresse {i}: {registers[i]}");

// Schreiben in ein einzelnes Register
master.WriteSingleRegister(1, 0, 1234);

// 批QuantitätSchreiben in mehrere Register
ushort[] writeData = { 100, 200, 300 };
master.WriteMultipleRegisters(1, 10, writeData);

Modbus RTU Serielle Kommunikation

using System.IO.Ports;
using NModbus;

using var port = new SerialPort("COM3")
{
    BaudRate = 9600,
    DataBits = 8,
    Parity = Parity.None,
    StopBits = StopBits.One
};
port.Open();

var factory = new ModbusFactory();
var master = factory.CreateRtuMaster(port);

ushort[] data = master.ReadHoldingRegisters(1, 0, 5);
foreach (var val in data)
    Console.WriteLine(val);

Free .NET Modbus(free-dotnet-modbus)

Free .NET Modbus 是另一个开源的 .NET Modbus 库,托管在 Google Code Archive。与 NModbus 类似,它也支持 Modbus ASCII、RTU、TCP 和 UDP。如果你使用的是旧版 .NET Framework(2.0/3.5),这个库可能有更好的兼容性。但对于新项目,Empfohlene Anwendung活跃维护的 NModbus。

ASComm.NET —— 商业级 .NET Modbus 驱动

ASComm.NET 是 Automated Solutions Unternehmen的商业 .NET 组件,官网:automatedsolutions.com。它是完全托管的 .NET 库,不仅支持 Modbus TCP/RTU/ASCII,还支持 Allen-Bradley Logix、PLC5、SLC500、MicroLogix 和 GE SRTP 等多种工业Vereinbarung。

核心Eigenschaften

  • 可视化设计:既可以通过代码配置,也可以通过 Visual Studio 的属性窗口可视化配置
  • 后台扫描:以指定速率自动扫描Daten点,检测zuDaten变化时触发Ereignisse
  • Sequenz化支持:配置可Sequenz化为 XML/JSON Das Format
  • 30 天kostenlos试用:无Funktion限制,vollständig版可充Unterteilung测试
  • 多Vereinbarung:一个组件支持 Modbus + Allen-Bradley + GE 等

ASComm.NET Beispiel Code

using ASComm.NET;

// 创建 Modbus TCP Kommunikation组件
var comm = new ModbusTcpComm();
comm.RemoteAddress = "192.168.1.100";
comm.RemotePort = 502;

// 添加要扫描的Daten组
var group = new ModbusScanGroup();
group.SlaveId = 1;
group.StartAddress = 0;
group.Length = 10;
group.ScanRate = 1000; // 每秒扫描一次

// Daten变化Ereignisse
group.DataChanged += (s, e) =>
{
    Console.WriteLine($"Adresse {e.Address} 变为 {e.Value}");
};

comm.ScanGroups.Add(group);
comm.Connect();

Delphi ModbusTCP 组件

对于 Delphi/Lazarus Entwickler,有一个开源的 Modbus TCP 组件集,托管在 SourceForge:sourceforge.net/projects/delphimodbus。它基于 Indy(Internet Direct)网络组件库,支持 Indy 9 和 Indy 10 两个版本。

⚠️ 注意:这个项目活跃度较低,最近的 Delphi 版本(10.4 Sydney / 11 Alexandria)可能需要调整才能直接使用。如果需要在新版 Delphi 上开发 Modbus Funktion,也可以考虑通过 COM 互Operationen调用 MBServer ActiveX、或者用 Delphi 调用 C 语言版的 libmodbus 动态库(DLL)。

ModLink —— Delphi VCL 原生组件

ModLink 是一套用于 Borland Delphi 的原生 VCL 组件,由 Ivo Bauer 开发,官网 www.ozm.cz/ivobauer/modlink。它是一组可直接拖放zu Delphi 窗体上的可视化组件,让 Delphi Entwickler无需手写 Socket Kommunikation代码即可集成 Modbus Kommunikation能力。

ModLink 支持多种网络Typus,包括:

  • Modbus TCP(通过 TModLinkTCP 组件)
  • Modbus RTU Die Serie(通过 TModLinkRTU 组件)
  • Modbus ASCII Die Serie
  • Modbus Plus 网络

⚠️ ModLink 是 Delphi 时代的产物,项目已多Jahr未更新。如果你在维护旧的 Delphi Arbeitskontrolle项目,ModLink 仍然有价值;但新建项目建议使用 NModbus(.NET)或 pymodbus(Python)等更现代的方案。

如何Auswahl .NET/Delphi Modbus 库

Szene推荐理由
C# 新项目NModbus(NuGet)MIT 许可,活跃维护,API 简洁
.NET 商业项目ASComm.NET多Vereinbarung支持,可视化配置,商业支持
旧 Delphi 项目ModLink 或 DelphiModbus原生 Delphi 组件,免去跨语言调用
Python Drehbuchpymodbus最活跃的 Python Modbus 库

总结

.NET 平台的 Modbus 开发生态是最丰富的。对于新项目,开源kostenlos的 NModbus 是大多数Szene的最佳Auswahl——MIT 许可、NuGet 一键安装、支持所有主流传输模式。如果需要同时Verbindung Allen-Bradley 或 GE Ausrüstung,ASComm.NET 提供了统一的多Vereinbarung方案。而 Delphi Entwickler虽然Auswahl较少,但 ModLink 和 DelphiModbus 两个组件覆盖了最基础的 Modbus TCP/RTU Kommunikation需求。

Techniken术语(共 8 个)—— Klick auf展开
Modbus RTU基于串行链路的ModbusVereinbarung,使用BinärsystemCodierung和CRC-Test
Modbus TCP基于Ethernet的ModbusVereinbarung变体,使用TCP/IP传输
Modbus ASCII使用ASCIICharaktere传输的ModbusVereinbarung,以冒Nr.开头、CR/LF结尾
FunktionscodeModbusFunktionscode指定读/写OperationenTypus,如01读线圈、03Lesen Sie das Register
Register.Modbus Register.存储Daten单元,Unterteilung线圈/离散输入/保持/输入Register.四类
PLC可编程逻辑Der Controller,Industrielle Automatisierung控制的核心Ausrüstung
Die SerieBerechnung机与外部Ausrüstung进行串行Kommunikation的物理Schnittstelle
保持Register.Modbus 16位可读Schreiben von Daten,Adresse从40001开始
来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Modbus Programmierung 字数 3286 字 · 阅读约 9 Unterteilung钟 更新 2026-06-26 永久链接 https://www.modbus.cn/43935.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.