NModbus is a C# 3.0 implementation of the Modbus protocol.

Provides connectivity to Modbus slave compatible devices and applications. Supports serial ASCII, serial RTU, serial over USB ASCII, serial over USB RTU, TCP, and UDP protocols.

Bugs can be submitted through the project's issue tracker.

Feature requests and usage questions are encouraged and welcome at the NModbus google group. Subscribe to the mailing list to receive updates.

Recent News:

May 2, 2009
Version 1.11 - Added support for compact framework, added extensions project for vendor specific utilities (e.g. Enron Modbus), fix for Issue 38.
March 8, 2009
Version 1.10 - Updated .NET 2.0 branch. Implemented IDisposable for IStreamResource types.
February 16, 2009 - blueSCADA 0.1.0.0 Beta launch
Checkout blueSCADA, a free tool for logging and debugging PLC values on a Windows computer using the NModbus communication library.
December 13, 2008
Version 1.9 - Improved response validation. Fixes for issues - 38, 39, 40
July 2, 2008
Version 1.8 - Improved exception handling for ModbusTransport. NModbus master is now thread safe. Refactored NModbus master decoupling the physical transport (TCP, Serial) from the message structure (IP, RTU, ASCII). Added support to the FtdUsbPort for methods - OpenEx, SetFlowControl, and GetDeviceInfoDetail.
May 19, 2008
Version 1.7 - DataStore is now thread safe when using the NModbus API modify its contents (e.g. ReadCoils). If you need to modify the collections directly you can lock on the DataStore.SyncRoot property. Signed Modbus and FtdAdapter assemblies.
March 10, 2008
Version 1.6 - Added DataStoreReadFrom and DataStoreWrittenTo events to the DataStore class.
Dec 3, 2007
Version 1.5 - Converted source to C# 3.0, added ModbusSlaveRequestReceived event to ModbusSlave. Fixed Issue 21
Sept 14, 2007
Version 1.4 - Added support for custom messages, extend NModbus now!