FreeMODBUS - A Modbus ASCII/RTU and TCP implementation


latest release v1.4 - 28 March 2008
 

Free MODBUS master stack

Embedded Solutions now offers a free version of its popular MODBUS MASTER stack for WIN32 for no charge. It comes as a WIN32 dll with a complete example and is available for download on the website.

About

FreeMODBUS is a free implementation of the popular Modbus protocol specially targeted for embedded systems. Modbus is a popular network protocol in the industrial manufacturing environment. A Modbus communication stack requires two layers. The Modbus Application Protocol which defines the data model and functions and a Network layer. In its current version FreeMODBUS provides an implementation of the Modbus Application Protocol v1.1a and supports RTU/ASCII transmission modes defined in the Modbus over serial line specification 1.0. Since version 0.7 FreeModbus also supports Modbus TCP defined in Modbus Messaging on TCP/IP Implementation Guide v1.0a. It is licensed under the BSD[1] which permits its usage in commercial environments. The following Modbus functions are currently supported:
  • Read Input Register (0x04)
  • Read Holding Registers (0x03)
  • Write Single Register (0x06)
  • Write Multiple Registers (0x10)
  • Read/Write Multiple Registers (0x17)
  • Read Coils (0x01)
  • Write Single Coil (0x05)
  • Write Multiple Coils (0x0F)
  • Read Discrete Inputs (0x02)
  • Report Slave ID (0x11)
The implementation is based upon the most recent standards and should be fully standard compliant. Receiving and transmitting of Modbus RTU/ASCII frames is implemented as a state machines which is driven by callbacks from the hardware abstraction layer. This makes porting to new platforms easy. If a frame is complete it is passed to the Modbus Application Layer where its content is inspected. Hooks are available in the Application Layer to add new Modbus functions.
If Modbus TCP is used the porting layer must send an event to the protocol stack if a new frame is ready for processing. The protocol stack then calls a function which returns the received Modbus TCP frame and processes it. If valid a response is created and the porting layer is supplied with the Modbus response. It should then send the response back to the client.

[1]:This excludes the demo applications which might be licensed differently.

News

  • Monday, September 5, 2007:Commerical support is now fully available from Embedded Solutions. You can contact Embedded Solutions directly by email at cwalter at embedded-solutions dot at our simply visit our website http://www.embedded-solutions.at.
  • Wednesday, September, 2007: Commercial support for FreeMODBUS is now also available as well as an upgrade path to our commerical MODBUS stacks. If you have any questions or are interested in options please contact us at cwalter at embedded-solutions dot at
  • Tuesday, August 21, 2007: A commerical version of a MODBUS slave stack is now available. The slave stack is written in ANSI C and supports multiple instances. Licenses are royality free and pricing starts at 500$ for a full source code license with support included. If you are interested contact cwalter at freemodbus dot org.
  • Monday, August 6, 2007: A commerical version of a MODBUS master stack is now available. The master stack is written in ANSI C and supports multiple master instances. Licenses are royality free and pricing starts at 500$ for a full source code license with support included. RTU/ASCII ports are available for AVR, ARM7 and Linux and TCP ports are on the way. If you are interested contact cwalter at freemodbus dot org.


FreeMODBUS library and web page maintained by Christian Walter [wolti at sil dot at]
BerliOS Logo
FreeMODBUS is sponsored and provided by embedded solutions embedded solutions
Low on development resources? Try freelancer and find new skilled people for your projects. IT Projekte und Freelancer

Valid HTML 4.01 Strict