├── .gitattributes ├── .gitignore ├── Arduino_ESP8266_ Modbus_Industrial_Applications ├── 1. Arduino MEGA 2560 Master Modbus │ ├── Arduino Master Modbus RTU │ │ └── Ard Master Modbus RTU │ │ │ └── Arduino_Modbus_RTU │ │ │ └── Arduino_Modbus_RTU.ino │ ├── Arduino mega modbus rtu MEJORADO.jpg │ └── Library Modbus RTU │ │ └── Modbus │ │ ├── Doxyfile │ │ ├── LICENSE.md │ │ ├── MODBUS library 0.01b.txt │ │ ├── ModbusRtu.h │ │ ├── README.md │ │ ├── config │ │ ├── documentation │ │ ├── html │ │ │ ├── _modbus_rtu_8h.html │ │ │ ├── _modbus_rtu_8h_source.html │ │ │ ├── annotated.html │ │ │ ├── bc_s.png │ │ │ ├── bdwn.png │ │ │ ├── class_modbus-members.html │ │ │ ├── class_modbus.html │ │ │ ├── classes.html │ │ │ ├── closed.png │ │ │ ├── doxygen.css │ │ │ ├── doxygen.png │ │ │ ├── dynsections.js │ │ │ ├── files.html │ │ │ ├── ftv2blank.png │ │ │ ├── ftv2cl.png │ │ │ ├── ftv2doc.png │ │ │ ├── ftv2folderclosed.png │ │ │ ├── ftv2folderopen.png │ │ │ ├── ftv2lastnode.png │ │ │ ├── ftv2link.png │ │ │ ├── ftv2mlastnode.png │ │ │ ├── ftv2mnode.png │ │ │ ├── ftv2mo.png │ │ │ ├── ftv2node.png │ │ │ ├── ftv2ns.png │ │ │ ├── ftv2plastnode.png │ │ │ ├── ftv2pnode.png │ │ │ ├── ftv2splitbar.png │ │ │ ├── ftv2vertline.png │ │ │ ├── functions.html │ │ │ ├── functions_func.html │ │ │ ├── functions_vars.html │ │ │ ├── globals.html │ │ │ ├── globals_defs.html │ │ │ ├── globals_enum.html │ │ │ ├── globals_eval.html │ │ │ ├── globals_vars.html │ │ │ ├── group__buffer.html │ │ │ ├── group__discrete.html │ │ │ ├── group__loop.html │ │ │ ├── group__register.html │ │ │ ├── group__setup.html │ │ │ ├── index.hhc │ │ │ ├── index.hhk │ │ │ ├── index.hhp │ │ │ ├── index.html │ │ │ ├── modules.html │ │ │ ├── nav_f.png │ │ │ ├── nav_g.png │ │ │ ├── nav_h.png │ │ │ ├── open.png │ │ │ ├── pages.html │ │ │ ├── structmodbus__t-members.html │ │ │ ├── structmodbus__t.html │ │ │ ├── sync_off.png │ │ │ ├── sync_on.png │ │ │ ├── tab_a.png │ │ │ ├── tab_b.png │ │ │ ├── tab_h.png │ │ │ ├── tab_s.png │ │ │ ├── tabs.css │ │ │ └── todo.html │ │ ├── latex │ │ │ ├── Makefile │ │ │ ├── _modbus_rtu_8h.tex │ │ │ ├── annotated.tex │ │ │ ├── class_modbus.tex │ │ │ ├── doxygen.sty │ │ │ ├── files.tex │ │ │ ├── group__buffer.tex │ │ │ ├── group__discrete.tex │ │ │ ├── group__loop.tex │ │ │ ├── group__register.tex │ │ │ ├── group__setup.tex │ │ │ ├── modules.tex │ │ │ ├── refman.tex │ │ │ ├── structmodbus__t.tex │ │ │ └── todo.tex │ │ └── rtf │ │ │ └── refman.rtf │ │ ├── examples │ │ ├── MODBUSslave │ │ │ └── MODBUSslave.pde │ │ ├── RS485_slave │ │ │ └── RS485_slave.ino │ │ ├── advanced_master │ │ │ └── advanced_master.ino │ │ ├── advanced_slave │ │ │ └── advanced_slave.ino │ │ ├── simple_master │ │ │ └── simple_master.ino │ │ └── simple_slave │ │ │ └── simple_slave.ino │ │ ├── keywords.txt │ │ ├── modbus.h │ │ ├── modbusDevice.cpp │ │ ├── modbusDevice.h │ │ ├── modbusRegBank.cpp │ │ ├── modbusRegBank.h │ │ ├── modbusSlave.cpp │ │ └── modbusSlave.h ├── 2. ESP8266 Slave Modbus TCP │ ├── Arduino mega modbus rtu final.jpg │ ├── ESP8266 Bridge Modbus TCP Modbus RTU FINAL.jpg │ ├── ESP8266ModbusTCPSlave │ │ └── ESP8266ModbusTCPSlave.ino │ ├── Leeme.txt │ ├── Library Modbus TCP Slave │ │ └── ModbusTCPSlave │ │ │ ├── Keywords.txt │ │ │ ├── ModbusTCPSlave.cpp │ │ │ ├── ModbusTCPSlave.h │ │ │ └── examples │ │ │ ├── ModbusCC3300Slave │ │ │ └── ModbusCC3300Slave.ino │ │ │ ├── ModbusESP8266Slave │ │ │ └── ModbusESP8266Slave.ino │ │ │ └── ModbusEthernetSlave │ │ │ └── ModbusEthernetSlave.ino │ └── Readme.txt └── 3. ESP8266BridgeMBSlaveTCP-RTU │ ├── ARDUINO ESP8266 MB TCP MB RTU FINAL.jpg │ ├── Arduino mega modbus rtu final.jpg │ ├── ESP8266 Bridge Modbus TCP Modbus RTU FINAL.jpg │ ├── ESP8266BridgeMBSlaveTCP-RTU │ └── ESP8266BridgeMBSlaveTCP-RTU.ino │ ├── Library Modbus RTU │ └── Modbus │ │ ├── Doxyfile │ │ ├── LICENSE.md │ │ ├── MODBUS library 0.01b.txt │ │ ├── ModbusRtu.h │ │ ├── README.md │ │ ├── config │ │ ├── documentation │ │ ├── html │ │ │ ├── _modbus_rtu_8h.html │ │ │ ├── _modbus_rtu_8h_source.html │ │ │ ├── annotated.html │ │ │ ├── bc_s.png │ │ │ ├── bdwn.png │ │ │ ├── class_modbus-members.html │ │ │ ├── class_modbus.html │ │ │ ├── classes.html │ │ │ ├── closed.png │ │ │ ├── doxygen.css │ │ │ ├── doxygen.png │ │ │ ├── dynsections.js │ │ │ ├── files.html │ │ │ ├── ftv2blank.png │ │ │ ├── ftv2cl.png │ │ │ ├── ftv2doc.png │ │ │ ├── ftv2folderclosed.png │ │ │ ├── ftv2folderopen.png │ │ │ ├── ftv2lastnode.png │ │ │ ├── ftv2link.png │ │ │ ├── ftv2mlastnode.png │ │ │ ├── ftv2mnode.png │ │ │ ├── ftv2mo.png │ │ │ ├── ftv2node.png │ │ │ ├── ftv2ns.png │ │ │ ├── ftv2plastnode.png │ │ │ ├── ftv2pnode.png │ │ │ ├── ftv2splitbar.png │ │ │ ├── ftv2vertline.png │ │ │ ├── functions.html │ │ │ ├── functions_func.html │ │ │ ├── functions_vars.html │ │ │ ├── globals.html │ │ │ ├── globals_defs.html │ │ │ ├── globals_enum.html │ │ │ ├── globals_eval.html │ │ │ ├── globals_vars.html │ │ │ ├── group__buffer.html │ │ │ ├── group__discrete.html │ │ │ ├── group__loop.html │ │ │ ├── group__register.html │ │ │ ├── group__setup.html │ │ │ ├── index.hhc │ │ │ ├── index.hhk │ │ │ ├── index.hhp │ │ │ ├── index.html │ │ │ ├── modules.html │ │ │ ├── nav_f.png │ │ │ ├── nav_g.png │ │ │ ├── nav_h.png │ │ │ ├── open.png │ │ │ ├── pages.html │ │ │ ├── structmodbus__t-members.html │ │ │ ├── structmodbus__t.html │ │ │ ├── sync_off.png │ │ │ ├── sync_on.png │ │ │ ├── tab_a.png │ │ │ ├── tab_b.png │ │ │ ├── tab_h.png │ │ │ ├── tab_s.png │ │ │ ├── tabs.css │ │ │ └── todo.html │ │ ├── latex │ │ │ ├── Makefile │ │ │ ├── _modbus_rtu_8h.tex │ │ │ ├── annotated.tex │ │ │ ├── class_modbus.tex │ │ │ ├── doxygen.sty │ │ │ ├── files.tex │ │ │ ├── group__buffer.tex │ │ │ ├── group__discrete.tex │ │ │ ├── group__loop.tex │ │ │ ├── group__register.tex │ │ │ ├── group__setup.tex │ │ │ ├── modules.tex │ │ │ ├── refman.tex │ │ │ ├── structmodbus__t.tex │ │ │ └── todo.tex │ │ └── rtf │ │ │ └── refman.rtf │ │ ├── examples │ │ ├── MODBUSslave │ │ │ └── MODBUSslave.pde │ │ ├── RS485_slave │ │ │ └── RS485_slave.ino │ │ ├── advanced_master │ │ │ └── advanced_master.ino │ │ ├── advanced_slave │ │ │ └── advanced_slave.ino │ │ ├── simple_master │ │ │ └── simple_master.ino │ │ └── simple_slave │ │ │ └── simple_slave.ino │ │ ├── keywords.txt │ │ ├── modbus.h │ │ ├── modbusDevice.cpp │ │ ├── modbusDevice.h │ │ ├── modbusRegBank.cpp │ │ ├── modbusRegBank.h │ │ ├── modbusSlave.cpp │ │ └── modbusSlave.h │ └── Library Modbus TCP Slave │ └── ModbusTCPSlave │ ├── Keywords.txt │ ├── ModbusTCPSlave.cpp │ ├── ModbusTCPSlave.h │ └── examples │ ├── ModbusCC3300Slave │ └── ModbusCC3300Slave.ino │ ├── ModbusESP8266Slave │ └── ModbusESP8266Slave.ino │ └── ModbusEthernetSlave │ └── ModbusEthernetSlave.ino ├── Leeme.txt └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /Arduino_ESP8266_ Modbus_Industrial_Applications/1. Arduino MEGA 2560 Master Modbus/Arduino mega modbus rtu MEJORADO.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JhonControl/Arduino_ESP8266_Modbus_Industrial_Applications/93b2f149df79f256bf9ba05a8bcbc076ed5da12f/Arduino_ESP8266_ Modbus_Industrial_Applications/1. Arduino MEGA 2560 Master Modbus/Arduino mega modbus rtu MEJORADO.jpg -------------------------------------------------------------------------------- /Arduino_ESP8266_ Modbus_Industrial_Applications/1. Arduino MEGA 2560 Master Modbus/Library Modbus RTU/Modbus/MODBUS library 0.01b.txt: -------------------------------------------------------------------------------- 1 | Beta 2 | Written by Jason Vreeland [CodeRage] 3 | Released 3/7/2010 under GNU license -------------------------------------------------------------------------------- /Arduino_ESP8266_ Modbus_Industrial_Applications/1. Arduino MEGA 2560 Master Modbus/Library Modbus RTU/Modbus/README.md: -------------------------------------------------------------------------------- 1 | README.txt 2 | 3 | libmodbus is a library that provides a Serial Modbus implementation for Arduino. 4 | 5 | A primary goal was to enable industrial communication for the Arduino in order to link it to industrial devices such as HMIs, CNCs, PLCs, temperature regulators or speed drives. 6 | 7 | LIBRARY CONTENTS 8 | ================================================================= 9 | LICENSE.txt GNU Licence file 10 | keywords.txt Arduino IDE colouring syntax 11 | 12 | /documentation 13 | Library documentation generated with Doxygen. 14 | 15 | /examples 16 | Sample sketches to implement miscellaneous settings: 17 | 18 | /examples/advanced_slave Modbus slave node, which links Arduino pins to the Modbus port. 19 | /examples/RS485_slave Modbus slave adapted to the RS485 port 20 | /examples/simple_master Modbus master node with a single query 21 | /examples/simple_slave Modbus slave node with a link array 22 | 23 | INSTALLATION PROCEDURE 24 | ================================================================= 25 | Refer to this documentation to Install this library: 26 | 27 | http://arduino.cc/en/Guide/Libraries 28 | 29 | Starting with version 1.0.5, you can install 3rd party libraries in the IDE. 30 | 31 | Do not unzip the downloaded library, leave it as is. 32 | 33 | In the Arduino IDE, navigate to Sketch > Import Library. At the top of the drop down list, select the option to "Add Library". 34 | 35 | You will be prompted to select this zipped library. 36 | 37 | Return to the Sketch > Import Library menu. You should now see the library at the bottom of the drop-down menu. It is ready to be used in your sketch. 38 | 39 | The zip file will have been expanded in the libraries folder in your Arduino sketches directory. 40 | 41 | NB : the library will be available to use in sketches, but examples for the library will not be exposed in the File > Examples until after the IDE has restarted. 42 | 43 | 44 | KNOWN ISSUES 45 | ================================================================= 46 | It is not compatible with ARDUINO LEONARDO and not tested under ARDUINO DUE and newer boards. 47 | 48 | TODO List 49 | ================================================================= 50 | Common to Master and Slave: 51 | 52 | 1) Implement other Serial settings: parity, stop bits, ... 53 | 54 | 2) End frame delay, also known as T35 55 | 56 | 3) Test it with several Arduino boards: UNO, Mega, etc.. 57 | 58 | 4) Extend it to Leonardo 59 | 60 | Master: 61 | 62 | 1) Function code 1 and 2 still not implemented 63 | 64 | 2) Function code 15 still not implement 65 | 66 | 3) Other codes under development 67 | 68 | -------------------------------------------------------------------------------- /Arduino_ESP8266_ Modbus_Industrial_Applications/1. Arduino MEGA 2560 Master Modbus/Library Modbus RTU/Modbus/documentation/html/annotated.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
![]() ![]() | Arduino class library for communicating with Modbus devices over USB/RS232/485 (via RTU protocol) |
![]() ![]() | Master query structure: This includes all the necessary fields to make the Master generate a Modbus query. A Master may keep several of these structures and send them cyclically or use them according to program needs |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
![]() ![]() |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
![]() |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
This is the complete list of members for modbus_t, including all inherited members.
55 |au16reg | modbus_t | |
u16CoilsNo | modbus_t | |
u16RegAdd | modbus_t | |
u8fct | modbus_t | |
u8id | modbus_t |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
![]() ![]() | Arduino class library for communicating with Modbus devices over USB/RS232/485 (via RTU protocol) |
![]() ![]() | Master query structure: This includes all the necessary fields to make the Master generate a Modbus query. A Master may keep several of these structures and send them cyclically or use them according to program needs |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
![]() ![]() |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
![]() |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |
This is the complete list of members for modbus_t, including all inherited members.
55 |au16reg | modbus_t | |
u16CoilsNo | modbus_t | |
u16RegAdd | modbus_t | |
u8fct | modbus_t | |
u8id | modbus_t |
20 | Modbus Master and Slave for Arduino
21 | 1.2
22 |
23 | Arduino library for implementing a Modbus Master or Slave through Serial port
24 | |
25 |