MODBUS
Embedded Experts spricht das Kommunikationsprotokoll MODBUS.
Embedded Experts spricht das Kommunikationsprotokoll MODBUS.
MODBUS ist ein Anfrage / Antwort-Protokoll, bei dem verschiedene Funktionen eine Reihe standardisierter Dienste bereitstellen und bei Bedarf um anwendungsspezifische Dienste erweitert werden können. Die standardisierten Dienste umfassen ein vordefiniertes Datenmodell, das für den Austausch von analogen und digitalen Informationen geeignet ist.
MODBUS ist auf Stufe 7 des Open Systems Interconnection (OSI)-Modells positioniert. Es unterstützt die Client / Server-Kommunikation zwischen Geräten, die an RS485 / RS422- oder TCP / IP-Netzwerken angeschlossen sind. Mit den MODBUS-Stacks von SILA Embedded Solutions können Sie Ihren Geräten innerhalb weniger Wochen MODBUS-Funktionalität hinzufügen. Unsere Netzwerkstacks sind schnell, portabel und einfach zu integrieren und enthalten eine große Auswahl an Beispielen für verschiedene Plattformen.
Um Ihre Investitionen zu schützen, wird der Stack als ANSI C-Quellcode ohne Lizenzgebühren und mit sechs Monaten kostenlosen Support ausgeliefert. Um Entwicklungszeiten weiter zu reduzieren, können wir Ihnen auch bei der Integration unserer MODBUS-Stacks in Ihre Hardware- / Software-Plattform behilflich sein. Dadurch können sich Ihre Ingenieure auf Ihr spezifisches Anwendungsproblem konzentrieren und die Markteinführungszeit Ihres Endprodukts verkürzen.
Eigenschaften
Eigenschaften:
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 |