WSMBT Modbus Master TCP/IP Control for .NET

WSMBT is a powerful and simple to use .Net control that makes it easy to access data from a Modbus slave device connected to the PC's Ethernet network. Simply drop the control on your form and talk to your device with your VB.NET, C# or Managed C++.
See the Quick Start Guide.

Download trial version
The trial version is a full featured version with a 30 min connection limit.

You may redistribute the wsmbt.dll assembly with your application program unlimited without any royalty.

Supported protocol variants:

  • Modbus TCP/IP
  • Modbus UDP/IP
  • Modbus RTU Over TCP/IP
  • Modbus ASCII Over TCP/IP


  • 01: Read coil status
  • 02: Read input status
  • 03: Read holding registers
  • 04: Read input registers
  • 05: Force single coil
  • 06: Preset single register
  • 15: Force multiple coils
  • 16: Preset multiple registers
  • 17: Report Slave ID. (RTU/ASCII Over TCP/IP mode only)
  • 22: Mask write register
  • 23: Read/Write registers

User defined functions:

  • Read User Defined Coils
  • Read User Defined Registers
  • Write User Defined Coils
  • Write User Defined Registers


Int16[] Registers = new Int16[10];
WSMBT.Result Result;
Result = wsmbtControl1.ReadHoldingRegisters(1, 0, 10, Registers);

Visual Basic
Dim Registers(10) As Short
Dim Result As WSMBT.Result
Result = WsmbtControl1.ReadHoldingRegisters(1, 0, 10, Registers)

array<Int16>^ Registers = gcnew array<Int16>(10);
WSMBT::Result Result;
Result = wsmbtControl1->ReadHoldingRegisters(1, 0, 10, Registers);