MODBUS
Embedded Experts speaks MODBUS.
Embedded Experts speaks MODBUS.
MODBUS is a request/response protocol where multiple functions provide access to standardized services. The standardized services include a predefined data model based on discrete bits and registers suitable for representing analog and digital information. If not sufficient this services can be extended using custom function code and application specific data models.
MODBUS is located at layer 7 of the Open Systems Interconnection (OSI) model. It supports master / slave communication between devices attached on RS485/RS422 or TCP/IP networks. Add MODBUS to your devices with SILA Embedded Solutions MODBUS stacks within a couple of weeks. Our network stacks are fast, portable and easy to integrate. Furthermore the stack is provided with demo applications for numerous platforms. To protect your investment the stack is delivered as ANSI C sourcecode without any runtime royalties and 6 months of free support.
To further reduce integration time we can also integrate our stack into your hardware and software platform. This services is especially suitable such that your engineers can focus on your application specific problem resulting in a faster time to market.
Properties
Properties:
Demo application for EE modbus MASTER stack on ATXMEGA-128A4U using ATMELSTUDIO
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 1 |
Register 0 is an incrementing counter.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2014-03-09 |
Demo application for EE modbus MASTER stack on AVR-ATMEGA using ATMELSTUDIO
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 10 |
This demo demonstrates one slave instance and one master instance of the stack running simultaneously.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2008-12-06 |
Demo application for EE modbus MASTER stack on AVR-ATMEGA using ATMELSTUDIO
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 15 |
1 | Input | 0x0002 | 4 |
Register 0 is an incrementing counter.
Reads holding register from address 5 - 10, increment them by one and store them at address 10.
Reads the input registers from address 2 - 5 and write them to the holding registers at address 1 - 4.
Led is turned on/off depending on the value of the variable bTurnOn.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2007-06-23 |
Demo application for EE modbus MASTER stack on AVR-ATMEGA using ATMELSTUDIO
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 15 |
1 | Input | 0x0002 | 4 |
Register 0 is an incrementing counter.
Reads holding register from address 5 - 10, increment them by one and store them at address 10.
Reads the input registers from address 2 - 5 and write them to the holding registers at address 1 - 4.
Led is turned on/off depending on the value of the variable bTurnOn.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2007-06-23 |
Demo application for EE modbus MASTER stack on AVR-ATMEGA using ATMELSTUDIO
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 15 |
1 | Input | 0x0002 | 4 |
Register 0 is an incrementing counter.
Reads holding register from address 5 - 10, increment them by one and store them at address 10.
Reads the input registers from address 2 - 5 and write them to the holding registers at address 1 - 4.
Led is turned on/off depending on the value of the variable bTurnOn.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2007-06-23 |
Demo application for EE modbus MASTER stack on AVR-ATMEGA using ATMELSTUDIO
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 15 |
1 | Input | 0x0002 | 4 |
Register 0 is an incrementing counter.
Reads holding register from address 5 - 10, increment them by one and store them at address 10.
Reads the input registers from address 2 - 5 and write them to the holding registers at address 1 - 4.
Led is turned on/off depending on the value of the variable bTurnOn.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2007-06-23 |
Demo application for EE modbus MASTER stack on LPC-1758 using LPCXPRESSO
Master # | Slave # | Registers | Start | Length |
---|---|---|---|---|
1 | 192.168.0.200:502 | Holding | 0x0000 | 10 |
2 | 1 | Holding | 0x0000 | 10 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2011-01-02 |
Demo application for EE modbus MASTER stack on MSP430-F169 using IAR-EW
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 15 |
1 | Input | 0x0002 | 4 |
Register 0 is an incrementing counter.
Reads holding register from address 5 - 10, increment them by one and store them at address 10.
Reads the input registers from address 2 - 5 and write them to the holding registers at address 1 - 4.
Led is turned on/off depending on the value of the variable bTurnOn.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2010-11-28 |
Demo application for EE modbus MASTER stack on PIC18 using MPLAB-X
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 15 |
1 | Input | 0x0002 | 4 |
Register 0 is an incrementing counter.
Reads holding register from address 5 - 10, increment them by one and store them at address 10.
Reads the input registers from address 2 - 5 and write them to the holding registers at address 1 - 4.
Led is turned on/off depending on the value of the variable bTurnOn.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2008-02-26 |
Demo application for EE modbus MASTER stack on RENESAS-S5D9 using E2STUDIO
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 10 |
Using SSP 1.7.5.
Register 0 is an incrementing counter.
Reads holding register from address 0 - 9, increment them by one and store them at their same address.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2019-07-11 |
Demo application for EE modbus MASTER stack on STM32-L072 using CUBEMX
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Input | 0x0002 | 4 |
Reads the input registers from address 2 - 5
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | 1 Warning | OK | 2016-08-27 |
Demo application for EE modbus MASTER stack on X86-64 using VS2019
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Input | - | - |
1 | Holding | - | - |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2008-07-20 |
Demo application for EE modbus MASTER stack on X86-64 using VS2019
Master # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 2 |
2 | Holding | 0x0000 | 2 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2008-07-20 |
Demo application for EE modbus MASTER stack on X86-64 using VS2019
For both masters: | Slave # | Registers | Start | Length |
---|---|---|---|---|
1 | Holding | 0x0000 | 2 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2008-10-29 |
Demo application for EE modbus MASTER stack on X86-64 using VS2019
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 1 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2016-06-09 |
Demo application for EE modbus MASTER stack on X86-64 using VS2019
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 11 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2008-10-29 |
Demo application for EE modbus MASTER stack on X86-64 using VS2019
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 11 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2009-12-19 |
Demo application for EE modbus MASTER stack on X86-64 using VS2019
Slave # | Registers | Start | Length |
---|---|---|---|
255 | Holding | 0x0001 | 10 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2011-11-17 |
Demo application for EE modbus MASTER stack on X86-64 using VS2019
Slave # | Registers | Start | Length |
---|---|---|---|
1 | Holding | 0x0000 | 26 |
1 | Input | 0x0002 | 4 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2008-10-29 |
Demo application for EE modbus MASTER stack on X86-64 using VS2019
Slave # | Registers | Start | length |
---|---|---|---|
255 | Holding | 0x0001 | 10 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | - |
Demo application for EE modbus SLAVE stack on ATXMEGA-128A4U using ATMELSTUDIO
Registers | Start | Length |
---|---|---|
Input | 0x0000 | 16 |
Holding | 0x0000 | 16 |
Holding register 0x0000 will be reset to 0 if written, others keep their values.
Input registers 0x0000 contains 0x4545, others will contain 0x0000.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2014-03-09 |
Demo application for EE modbus SLAVE stack on AVR-ATMEGA using ATMELSTUDIO
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Discrete and Input registers are mirrored.
Led 0 is turned on/off when holding register 1 has a value > 0.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2010-08-19 |
Demo application for EE modbus SLAVE stack on AVR-ATMEGA using ATMELSTUDIO
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Discrete and Input registers are mirrored.
Led 0 is turned on/off when holding register 1 has a value > 0.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2020-04-23 |
Demo application for EE modbus SLAVE stack on AVR-ATMEGA using ATMELSTUDIO
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Discrete and Input registers are mirrored.
Led 0 is turned on/off when holding register 1 has a value > 0.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2020-04-23 |
Demo application for EE modbus SLAVE stack on AVR-ATMEGA using ATMELSTUDIO
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Discrete and Input registers are mirrored.
Led 0 is turned on/off when holding register 1 has a value > 0.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2010-08-19 |
Demo application for EE modbus SLAVE stack on AVR-ATMEGA using ATMELSTUDIO
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Discrete and Input registers are mirrored.
Led 0 is turned on/off when holding register 1 has a value > 0.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2010-08-19 |
Demo application for EE modbus SLAVE stack on KE06 using KDS
Registers | Start | Length |
---|---|---|
Input | 0x0000 | 32 |
Holding | 0x0000 | 32 |
For adapting to a specific platform the following steps have to be
taken :
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2019-07-14 |
Demo application for EE modbus SLAVE stack on LPC-1758 using LPCXPRESSO
Registers | Start | Length |
---|---|---|
Holding | 0x0200 | 3 |
Input | 0x0100 | 16 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2010-12-19 |
Demo application for EE modbus SLAVE stack on MSP430-F169 using IAR-EW
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Discrete and Input registers are mirrored.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2008-09-21 |
Demo application for EE modbus SLAVE stack on PIC18-F45K22 using MPLAB-X
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Discrete and Input registers are mirrored.
Led 0 is turned on/off when holding register 1 has a value > 0.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2010-12-08 |
Demo application for EE modbus SLAVE stack on PIC18-F8722 using MPLAB-X
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Discrete and Input registers are mirrored.
Led 0 is turned on/off when holding register 1 has a value > 0.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2010-12-08 |
Demo application for EE modbus SLAVE stack on PIC32-MX using MPLAB-X
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Discrete and Input registers are mirrored.
Led 0 is turned on/off when bTurnOn variable has a value > 0.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2010-11-14 |
Demo application for EE modbus SLAVE stack on PIC32-MX using MPLAB-X
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 32 |
Holding | 0x0200 | 32 |
Led is regularily toggled. Device acts as gateway.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2011-05-01 |
Demo application for EE modbus SLAVE stack on STM32-F429ZI using ZEPHYR
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 16 |
Install Zephyr-SDK using:
https://docs.zephyrproject.org/latest/getting_started/
Compile with:
west build -p auto ./
Flash with:
west flash
Running on other boards:
change set(BOARD nucleo_f429zi) in CMakeLists.txt to your board
change prj.conf for UART support on the new board
change port/mbportserial.c:86 to the correct UART label
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2020-09-25 |
Demo application for EE modbus SLAVE stack on STM32-L072 using CUBEMX
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 16 |
Please use ARM Compiler Toolchain V4.0.677 or later!
The project is reinitialized when a 0 value is written in holding register 0.
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2016-08-27 |
Demo application for EE modbus SLAVE stack on X86-64 using VS2019
Registers | Start | Length |
---|---|---|
- | - | - |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2016-03-22 |
Demo application for EE modbus SLAVE stack on X86-64 using VS2019
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 128 |
Holding | 0x0200 | 128 |
Coils | 0x0000 | 16 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2016-03-22 |
Demo application for EE modbus SLAVE stack on X86-64 using VS2019
For both slaves: | Registers | Start | Length |
---|---|---|---|
Input | 0x0100 | 16 | |
Holding | 0x0200 | 3 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2016-03-22 |
Demo application for EE modbus SLAVE stack on X86-64 using VS2019
For both slaves: | Registers | Start | Length |
---|---|---|---|
Input | 0x0100 | 16 | |
Holding | 0x0200 | 3 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2016-03-22 |
Demo application for EE modbus SLAVE stack on X86-64 using VS2019
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2016-03-22 |
Demo application for EE modbus SLAVE stack on X86-64 using VS2019
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 16 |
Holding | 0x0200 | 3 |
Discrete | 0x0100 | 16 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2016-03-22 |
Demo application for EE modbus SLAVE stack on X86-64 using VS2019
Registers | Start | Length |
---|---|---|
Input | 0x0100 | 128 |
Holding | 0x0200 | 128 |
Discrete | 0x0100 | 128 |
Project | Compile | Linking | Tested on Target |
---|---|---|---|
OK | OK | OK | 2016-03-22 |