MBServer ModbusKommunikation组件详解:ActiveXKontrollen与TCPDer Server库

kostenlosKostenloses technisches Material

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

MBServer ModbusKommunikation组件详解:ActiveXKontrollen与TCPDer Server库缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. MBServer 概述
  2. 2. MBServer ActiveX 组件
  3. 3. 支持的Funktion
  4. 4. 在 VBA(Excel)中使用 MBServer ActiveX
  5. 5. 在 C# 中使用 MBServer ActiveX
  6. 6. MBServer ActiveX 的局限性
  7. 7. MBServer TCP(mblogic)
  8. 8. 组成部Unterteilung
  9. 9. Linux 上安装 MBServer TCP
  10. 10. 使用 mbclient 测试
  11. 11. 现代替代方案
  12. 12. 总结

MBServer 概述

MBServer 是 modbus.org 推荐的两个互补的 Modbus Kommunikation组件。需要注意的是,它们虽然都叫 “MBServer”,但实际上是两个不同的项目:

  • MBServer ActiveXmbserver.tripod.com):一个kostenlos的 ActiveX 自动化Der Server,用于在 Windows 平台上通过 Modbus RTU/ASCII 和 Modbus TCP Vereinbarung与 PLC 或其他工业AusrüstungKommunikation
  • MBServer TCPsourceforge.net/projects/mblogic):一个开源的 Modbus TCP Der Server/客户端库集合,包含独立Der Server、客户端和Befehl行Werkzeuge

MBServer ActiveX 组件

MBServer ActiveX 是一个进程外(out-process)的 ActiveX 自动化Der Server,这意味着它可以被任何支持 COM/OLE 的语言调用——Visual Basic 6、VBA(Excel 宏)、C#、C++、Delphi 等。它是一个 FREEWARE(kostenlos软件),不需要付费Benutzt werden kann.AllesFunktion。

支持的Funktion

  • Modbus RTU/ASCII(Die Serie RS-232/RS-485)
  • Modbus TCP(EthernetKommunikation)
  • Funktionscode:FC01 Lesen Sie die Schleife、FC02 Lesen Sie getrennte Eingabe、FC03 Lesen Sie das Register、FC04 Eingangsregister lesen、FC05 Schreiben Sie eine Schleife、FC06 Schreiben Sie ein Register、FC15 写多线圈、FC16 写多Register.
  • 自动重连机制
  • 多线程安全设计

在 VBA(Excel)中使用 MBServer ActiveX

这是 MBServer ActiveX 最实用的Szene之一——在 Excel 中直接读写 PLC Daten:

' VBA 代码:在 Excel 中Lesen Modbus TCP AusrüstungDaten
Sub ReadModbusData()
    Dim mb As Object
    Set mb = CreateObject("MBServer.MBServerCtrl.1")
    
    ' 配置 Modbus TCP Verbindung
    mb.Protocol = 3  ' 3 = Modbus TCP
    
    ' VerbindungAusrüstung
    If mb.Connect("192.168.1.100", 502) Then
        ' LesenVon der Station 1,Ausgang Adresse 40001,10 个保持Register.
        Dim values As Variant
        values = mb.ReadHoldingRegisters(1, 40001, 10)
        
        ' 将Daten写入 Excel 单元格
        Dim i As Integer
        For i = 0 To UBound(values)
            Cells(i + 1, 1).Value = values(i)
        Next i
        
        mb.Disconnect
    Else
        MsgBox "Verbindung失败!"
    End If
End Sub

在 C# 中使用 MBServer ActiveX

// C# 代码:通过互Operationen调用 MBServer ActiveX
using System.Runtime.InteropServices;

Type mbType = Type.GetTypeFromProgID("MBServer.MBServerCtrl.1");
dynamic mb = Activator.CreateInstance(mbType);

mb.Protocol = 3;  // Modbus TCP
if (mb.Connect("192.168.1.100", 502))
{
    // Lesen 10 个保持Register.
    Array values = (Array)mb.ReadHoldingRegisters(1, 40001, 10);
    foreach (var v in values)
    {
        Console.WriteLine(v);
    }
    mb.Disconnect();
}

MBServer ActiveX 的局限性

ActiveX Techniken诞生于 1990 Jahr代,在现代 Windows 开发中已经逐渐被 .NET、COM Interop 等更新Techniken取代。MBServer ActiveX 仅支持 32 位 Windows,在 64 位应用程序中需要通过 WOW64 兼容层或 surrogate process 来使用。对于新项目,更Empfohlene Anwendung NModbus(C#)或 ASComm.NET 等 .NET 原生库。

MBServer TCP(mblogic)

MBServer TCP 是一个完全不同的项目,定位为开源的 Modbus TCP Werkzeuge集,托管在 SourceForge。Lizenz为 GPL(适合开源项目使用,商业项目需注意合规)。

组成部Unterteilung

  • mbserverd:独立的 Modbus TCP Der Server守护进程,可以部署为Das System服务
  • mbclient:Befehl行 Modbus TCP 客户端,用于测试和Drehbuch调用
  • libmblogic:C 语言 Modbus TCP Vereinbarung库,可以被其他程序调用

Linux 上安装 MBServer TCP

# 从 SourceForge DownloadQuellencode
git clone https://git.code.sf.net/p/mblogic/code mblogic-code
cd mblogic-code

# 编译(需要 gcc 和 make)
./configure
make
sudo make install

# 启动 Modbus TCP Der Server
mbserverd -p 502 -a 1

使用 mbclient 测试

# Lesen 127.0.0.1:502 上Von der Station 1 的保持Register. 0-9
mbclient -H 127.0.0.1 -p 502 -a 1 -f 3 -s 0 -n 10

# 写入Von der Station 1 的保持Register. 0
mbclient -H 127.0.0.1 -p 502 -a 1 -f 6 -s 0 -v 1234

现代替代方案

由于 MBServer ActiveX Techniken栈较老,且 mblogic 项目活跃度不高,在实际项目中推荐以下替代方案:

需求Szene推荐方案说明
Windows .NET/C# 开发NModbus 或 ASComm.NET.NET 原生库,无需 ActiveX 依赖
Excel VBA Lesen PLCMBServer ActiveX仍然是 VBA Szene最简单的方式
Linux Der Serverlibmodbus 或 pymodbus更活跃的 C/Python 库
Eingebettet Linuxlibmodbus轻Quantität,支持 RTU 和 TCP

总结

MBServer 代表了 Modbus Kommunikation的两个经典实现方向:MBServer ActiveX 专为 Windows 桌面应用和 Office 自动化设计,适合快速搭建简单的 Modbus Datenerfassung界面;MBServer TCP(mblogic)则是 Linux 环境下的开源 Modbus TCP Der Server和Befehl行Werkzeuge。虽然它们的Techniken栈相对老旧,但作为学习Informationen和历史参考仍然有价值。在实际新项目中,建议根据平台和需求Auswahl更现代的替代方案。

Techniken术语(共 8 个)—— Klick auf展开
Modbus RTU基于串行链路的ModbusVereinbarung,使用BinärsystemCodierung和CRC-Test
Modbus TCP基于Ethernet的ModbusVereinbarung变体,使用TCP/IP传输
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
线圈Modbus位可读Schreiben von Daten,Adresse从00001开始
保持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 字数 2605 字 · 阅读约 7 Unterteilung钟 更新 2026-06-26 永久链接 https://www.modbus.cn/43932.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.