emModbus
Modbus software
emModbus, SEGGER's implementation of the Modbus protocol, supports communication via UART (ASCII, RTU), Ethernet (Modbus/TCP and Modbus/UDP), and is capable to communicate with any Modbus compliant device.
Overview
emModbus supports building master and slave devices which can even be combined in the same product. Also, multiple interfaces in the same product are supported. Each interface can be configured at runtime, making it possible to build a pretested library to be deployed in multiple projects for embedded solutions.
Key features
- Easy to integrate
- Low memory footprint
- ANSI-C code is completely portable and runs on any target
- Follows the SEGGER coding standards: Efficient and compact, yet easy to read, understand, and debug
- Supports ASCII, RTU and Modbus/TCP (and UDP) protocol
- Sample applications for all protocols included
- Kernel abstraction layer: can be used with or without any RTOS
- Works out-of-the-box with embOS
- Modbus/TCP can be used with standard socket interface and any TCP/IP stack
- Works out-of-the-box with emNet
- Project for executable on PC for Microsoft Visual Studio available
Available shipments
SEGGER offers emModbus in two distinct shipments: emModbus Master and emModbus Slave.
Feature | Master | Slave |
---|---|---|
Master API (including samples for ASCII, RTU and Modbus/TCP) | ||
Slave API (including samples for ASCII, RTU and Modbus/TCP) | ||
ASCII frame encapsulation | ||
RTU frame encapsulation | ||
Modbus/TCP frame encapsulation (also supports Modbus/UDP) | ||
Kernel abstraction layer for embOS and Windows | ||
Modbus master application for Windows (binary) | ||
Modbus master application for Windows (source) | ||
Modbus slave application for Windows (binary) | ||
Modbus slave application for Windows (source) |
Supported
Not supported
Requirements
TCP/IP stack
For usage of Modbus/TCP, emModbus requires a TCP/IP capable stack. emModbus can be used with any TCP/IP stack that supports BSD Standard Sockets.
Multi-tasking
Although emModbus can be used completely without a RTOS, it is recommended to use emModbus in a multi-tasking system, at least when implementing a Modbus master.
Resource usage
Memory Footprint
ROM usage | RAM usage |
---|---|
emModbus requires approximately 2.5 KBytes of ROM for a master device and approximately 3 KBytes of ROM for a slave device. | emModbus requires approximately 30 Bytes of RAM for the stack itself and approximately 300 Bytes of RAM for each channel added |
Licensing
emModbus is available under various Embedded Software License models and delivered in source code packages. With a wide range of licensing options, emModbus can fulfill commercial requirements as well as technical requirements. All licenses are one-time payments. emModbus is royalty-free and not subscription-based. This makes the software a part of the equipment expenses, keeping the costs static.
* Applies to second seat/product and all additional seats/products of the Single Product License and Single Developer License.