"# MBServer Modbus\u901a\u4fe1\u7ec4\u4ef6\u8be6\u89e3\uff1aActiveX\u63a7\u4ef6\u4e0eTCP\u670d\u52a1\u5668\u5e93\n\n> 2026-06-26 | 2026-06-26\n> https:\/\/www.modbus.cn\/en\/43932.html\n\n**Modbus\u7f16\u7a0b\u5f00\u53d1**\n\n---\n\n## MBServer \u6982\u8ff0\n\nMBServer \u662f modbus.org \u63a8\u8350\u7684\u4e24\u4e2a\u4e92\u8865\u7684 Modbus \u901a\u4fe1\u7ec4\u4ef6\u3002\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c\u5b83\u4eec\u867d\u7136\u90fd\u53eb \"MBServer\"\uff0c\u4f46\u5b9e\u9645\u4e0a\u662f\u4e24\u4e2a\u4e0d\u540c\u7684\u9879\u76ee\uff1a\n\n- **MBServer ActiveX**\uff08[mbserver.tripod.com](http:\/\/mbserver.tripod.com\/)\uff09\uff1a\u4e00\u4e2a\u514d\u8d39\u7684 ActiveX \u81ea\u52a8\u5316\u670d\u52a1\u5668\uff0c\u7528\u4e8e\u5728 Windows \u5e73\u53f0\u4e0a\u901a\u8fc7 Modbus RTU\/ASCII \u548c Modbus TCP \u534f\u8bae\u4e0e PLC \u6216\u5176\u4ed6\u5de5\u4e1a\u8bbe\u5907\u901a\u4fe1\n- **MBServer TCP**\uff08[sourceforge.net\/projects\/mblogic](http:\/\/sourceforge.net\/projects\/mblogic\/)\uff09\uff1a\u4e00\u4e2a\u5f00\u6e90\u7684 Modbus TCP \u670d\u52a1\u5668\/\u5ba2\u6237\u7aef\u5e93\u96c6\u5408\uff0c\u5305\u542b\u72ec\u7acb\u670d\u52a1\u5668\u3001\u5ba2\u6237\u7aef\u548c\u547d\u4ee4\u884c\u5de5\u5177\n\n## MBServer ActiveX \u7ec4\u4ef6\n\nMBServer ActiveX \u662f\u4e00\u4e2a\u8fdb\u7a0b\u5916\uff08out-process\uff09\u7684 ActiveX \u81ea\u52a8\u5316\u670d\u52a1\u5668\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u53ef\u4ee5\u88ab\u4efb\u4f55\u652f\u6301 COM\/OLE \u7684\u8bed\u8a00\u8c03\u7528\u2014\u2014Visual Basic 6\u3001VBA\uff08Excel \u5b8f\uff09\u3001C#\u3001C++\u3001Delphi \u7b49\u3002\u5b83\u662f\u4e00\u4e2a FREEWARE\uff08\u514d\u8d39\u8f6f\u4ef6\uff09\uff0c\u4e0d\u9700\u8981\u4ed8\u8d39\u5373\u53ef\u4f7f\u7528\u5168\u90e8\u529f\u80fd\u3002\n\n### \u652f\u6301\u7684\u529f\u80fd\n\n- **Modbus RTU\/ASCII**\uff08\u4e32\u53e3 RS-232\/RS-485\uff09\n- **Modbus TCP**\uff08\u4ee5\u592a\u7f51\u901a\u4fe1\uff09\n- \u529f\u80fd\u7801\uff1aFC01 \u8bfb\u7ebf\u5708\u3001FC02 \u8bfb\u79bb\u6563\u8f93\u5165\u3001FC03 \u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\u3001FC04 \u8bfb\u8f93\u5165\u5bc4\u5b58\u5668\u3001FC05 \u5199\u5355\u7ebf\u5708\u3001FC06 \u5199\u5355\u5bc4\u5b58\u5668\u3001FC15 \u5199\u591a\u7ebf\u5708\u3001FC16 \u5199\u591a\u5bc4\u5b58\u5668\n- \u81ea\u52a8\u91cd\u8fde\u673a\u5236\n- \u591a\u7ebf\u7a0b\u5b89\u5168\u8bbe\u8ba1\n\n### \u5728 VBA\uff08Excel\uff09\u4e2d\u4f7f\u7528 MBServer ActiveX\n\n\u8fd9\u662f MBServer ActiveX \u6700\u5b9e\u7528\u7684\u573a\u666f\u4e4b\u4e00\u2014\u2014\u5728 Excel \u4e2d\u76f4\u63a5\u8bfb\u5199 PLC \u6570\u636e\uff1a\n\n```\n' VBA \u4ee3\u7801\uff1a\u5728 Excel \u4e2d\u8bfb\u53d6 Modbus TCP \u8bbe\u5907\u6570\u636e\nSub ReadModbusData()\n    Dim mb As Object\n    Set mb = CreateObject(\"MBServer.MBServerCtrl.1\")\n    \n    ' \u914d\u7f6e Modbus TCP \u8fde\u63a5\n    mb.Protocol = 3  ' 3 = Modbus TCP\n    \n    ' \u8fde\u63a5\u8bbe\u5907\n    If mb.Connect(\"192.168.1.100\", 502) Then\n        ' \u8bfb\u53d6\u4ece\u7ad9 1\uff0c\u8d77\u59cb\u5730\u5740 40001\uff0c10 \u4e2a\u4fdd\u6301\u5bc4\u5b58\u5668\n        Dim values As Variant\n        values = mb.ReadHoldingRegisters(1, 40001, 10)\n        \n        ' \u5c06\u6570\u636e\u5199\u5165 Excel \u5355\u5143\u683c\n        Dim i As Integer\n        For i = 0 To UBound(values)\n            Cells(i + 1, 1).Value = values(i)\n        Next i\n        \n        mb.Disconnect\n    Else\n        MsgBox \"\u8fde\u63a5\u5931\u8d25\uff01\"\n    End If\nEnd Sub\n```\n\n### \u5728 C# \u4e2d\u4f7f\u7528 MBServer ActiveX\n\n```\n\/\/ C# \u4ee3\u7801\uff1a\u901a\u8fc7\u4e92\u64cd\u4f5c\u8c03\u7528 MBServer ActiveX\nusing System.Runtime.InteropServices;\n\nType mbType = Type.GetTypeFromProgID(\"MBServer.MBServerCtrl.1\");\ndynamic mb = Activator.CreateInstance(mbType);\n\nmb.Protocol = 3;  \/\/ Modbus TCP\nif (mb.Connect(\"192.168.1.100\", 502))\n{\n    \/\/ \u8bfb\u53d6 10 \u4e2a\u4fdd\u6301\u5bc4\u5b58\u5668\n    Array values = (Array)mb.ReadHoldingRegisters(1, 40001, 10);\n    foreach (var v in values)\n    {\n        Console.WriteLine(v);\n    }\n    mb.Disconnect();\n}\n```\n\n### MBServer ActiveX \u7684\u5c40\u9650\u6027\n\nActiveX \u6280\u672f\u8bde\u751f\u4e8e 1990 \u5e74\u4ee3\uff0c\u5728\u73b0\u4ee3 Windows \u5f00\u53d1\u4e2d\u5df2\u7ecf\u9010\u6e10\u88ab .NET\u3001COM Interop \u7b49\u66f4\u65b0\u6280\u672f\u53d6\u4ee3\u3002MBServer ActiveX \u4ec5\u652f\u6301 32 \u4f4d Windows\uff0c\u5728 64 \u4f4d\u5e94\u7528\u7a0b\u5e8f\u4e2d\u9700\u8981\u901a\u8fc7 WOW64 \u517c\u5bb9\u5c42\u6216 surrogate process \u6765\u4f7f\u7528\u3002\u5bf9\u4e8e\u65b0\u9879\u76ee\uff0c\u66f4\u63a8\u8350\u4f7f\u7528 NModbus\uff08C#\uff09\u6216 ASComm.NET \u7b49 .NET \u539f\u751f\u5e93\u3002\n\n## MBServer TCP\uff08mblogic\uff09\n\nMBServer TCP \u662f\u4e00\u4e2a\u5b8c\u5168\u4e0d\u540c\u7684\u9879\u76ee\uff0c\u5b9a\u4f4d\u4e3a\u5f00\u6e90\u7684 Modbus TCP \u5de5\u5177\u96c6\uff0c\u6258\u7ba1\u5728 SourceForge\u3002\u8bb8\u53ef\u8bc1\u4e3a GPL\uff08\u9002\u5408\u5f00\u6e90\u9879\u76ee\u4f7f\u7528\uff0c\u5546\u4e1a\u9879\u76ee\u9700\u6ce8\u610f\u5408\u89c4\uff09\u3002\n\n### \u7ec4\u6210\u90e8\u5206\n\n- **mbserverd**\uff1a\u72ec\u7acb\u7684 Modbus TCP \u670d\u52a1\u5668\u5b88\u62a4\u8fdb\u7a0b\uff0c\u53ef\u4ee5\u90e8\u7f72\u4e3a\u7cfb\u7edf\u670d\u52a1\n- **mbclient**\uff1a\u547d\u4ee4\u884c Modbus TCP \u5ba2\u6237\u7aef\uff0c\u7528\u4e8e\u6d4b\u8bd5\u548c\u811a\u672c\u8c03\u7528\n- **libmblogic**\uff1aC \u8bed\u8a00 Modbus TCP \u534f\u8bae\u5e93\uff0c\u53ef\u4ee5\u88ab\u5176\u4ed6\u7a0b\u5e8f\u8c03\u7528\n\n### Linux \u4e0a\u5b89\u88c5 MBServer TCP\n\n```\n# \u4ece SourceForge \u4e0b\u8f7d\u6e90\u7801\ngit clone https:\/\/git.code.sf.net\/p\/mblogic\/code mblogic-code\ncd mblogic-code\n\n# \u7f16\u8bd1\uff08\u9700\u8981 gcc \u548c make\uff09\n.\/configure\nmake\nsudo make install\n\n# \u542f\u52a8 Modbus TCP \u670d\u52a1\u5668\nmbserverd -p 502 -a 1\n```\n\n### \u4f7f\u7528 mbclient \u6d4b\u8bd5\n\n```\n# \u8bfb\u53d6 127.0.0.1:502 \u4e0a\u4ece\u7ad9 1 \u7684\u4fdd\u6301\u5bc4\u5b58\u5668 0-9\nmbclient -H 127.0.0.1 -p 502 -a 1 -f 3 -s 0 -n 10\n\n# \u5199\u5165\u4ece\u7ad9 1 \u7684\u4fdd\u6301\u5bc4\u5b58\u5668 0\nmbclient -H 127.0.0.1 -p 502 -a 1 -f 6 -s 0 -v 1234\n```\n\n## \u73b0\u4ee3\u66ff\u4ee3\u65b9\u6848\n\n\u7531\u4e8e MBServer ActiveX \u6280\u672f\u6808\u8f83\u8001\uff0c\u4e14 mblogic \u9879\u76ee\u6d3b\u8dc3\u5ea6\u4e0d\u9ad8\uff0c\u5728\u5b9e\u9645\u9879\u76ee\u4e2d\u63a8\u8350\u4ee5\u4e0b\u66ff\u4ee3\u65b9\u6848\uff1a\n\n\u9700\u6c42\u573a\u666f\u63a8\u8350\u65b9\u6848\u8bf4\u660e\n\nWindows .NET\/C# \u5f00\u53d1NModbus \u6216 ASComm.NET.NET \u539f\u751f\u5e93\uff0c\u65e0\u9700 ActiveX \u4f9d\u8d56\nExcel VBA \u8bfb\u53d6 PLCMBServer ActiveX\u4ecd\u7136\u662f VBA \u573a\u666f\u6700\u7b80\u5355\u7684\u65b9\u5f0f\nLinux \u670d\u52a1\u5668libmodbus \u6216 pymodbus\u66f4\u6d3b\u8dc3\u7684 C\/Python \u5e93\n\u5d4c\u5165\u5f0f Linuxlibmodbus\u8f7b\u91cf\uff0c\u652f\u6301 RTU \u548c TCP\n\n## \u603b\u7ed3\n\nMBServer \u4ee3\u8868\u4e86 Modbus \u901a\u4fe1\u7684\u4e24\u4e2a\u7ecf\u5178\u5b9e\u73b0\u65b9\u5411\uff1aMBServer ActiveX \u4e13\u4e3a Windows \u684c\u9762\u5e94\u7528\u548c Office \u81ea\u52a8\u5316\u8bbe\u8ba1\uff0c\u9002\u5408\u5feb\u901f\u642d\u5efa\u7b80\u5355\u7684 Modbus \u6570\u636e\u91c7\u96c6\u754c\u9762\uff1bMBServer TCP\uff08mblogic\uff09\u5219\u662f Linux \u73af\u5883\u4e0b\u7684\u5f00\u6e90 Modbus TCP \u670d\u52a1\u5668\u548c\u547d\u4ee4\u884c\u5de5\u5177\u3002\u867d\u7136\u5b83\u4eec\u7684\u6280\u672f\u6808\u76f8\u5bf9\u8001\u65e7\uff0c\u4f46\u4f5c\u4e3a\u5b66\u4e60\u8d44\u6599\u548c\u5386\u53f2\u53c2\u8003\u4ecd\u7136\u6709\u4ef7\u503c\u3002\u5728\u5b9e\u9645\u65b0\u9879\u76ee\u4e2d\uff0c\u5efa\u8bae\u6839\u636e\u5e73\u53f0\u548c\u9700\u6c42\u9009\u62e9\u66f4\u73b0\u4ee3\u7684\u66ff\u4ee3\u65b9\u6848\u3002\n\n---\n*modbus.cn*\n"