How to Program an Arduino as a Modbus TCP/IP Client & Server
4.6 (5 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
78 students enrolled
Wishlisted Wishlist

Please confirm that you want to add How to Program an Arduino as a Modbus TCP/IP Client & Server to your Wishlist.

Add to Wishlist

How to Program an Arduino as a Modbus TCP/IP Client & Server

Learn how to create your own Modbus TCP/IP Client and Server Device using the Arduino Uno Development System
4.6 (5 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
78 students enrolled
Created by Emile Ackbarali
Last updated 6/2017
English
Current price: $10 Original price: $75 Discount: 87% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 2 hours on-demand video
  • 12 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand the Arduino Uno and Ethernet Shield from a Hardware persepctive
  • Connect an Arduino Ethernet Shield to an Arduino Uno
  • Connect an Arduino Uno to a Hitachi HD44780 LCD display
  • Use the Arduino IDE to develop applications for the Arduino Uno
  • Write an Arduino Sketch application to display messages on an LCD display
  • Write an Arduino Sketch application to implement a Modbus Client
  • Test an Arduino Modbus master using the Modsim32 Modbus server simulator
  • Write an Arduino Sketch application to implement a Modbus Server
  • Test an Arduino Modbus slave using the Modscan32 Modbus client application
View Curriculum
Requirements
  • Basic working knowledge of the Modbus RTU protocol.
  • Familiarity with the installation of software applications on the Windows OS platform
  • Elementary understanding of the "C" programming language
  • Basic understanding of elementary electronics
Description

If you work in the Automation Industry, you will know that automation equipment is very expensive. And many a time, especially for small applications, you simply cannot justify the use of very expensive equipment. 

This is where the Arduino comes in! 

The Arduino development board allows you to create very simple, but very powerful, Modbus client or server devices through the use of relatively simple "C" programming. With the Arduino, you have full custom control over the program design allowing you to create very lean and very efficient devices for very specific purposes. 

Put simply, mastering Modbus on the Arduino is going to take your skill level and value in the Automation Industry to a whole new level. 

That is what this course is going to do. At the end of the course, you will know how to:

1. Choose the appropriate Arduino hardware.

2. Interconnect Arduino hardware with other add-on hardware.

3. Write "C" applications to implement Modbus master and slave functionality.

4. Use software and hardware to test each application that you write.

All of the programs written in the course are freely downloadable and give you a perfect starting point for further development. At the end of the course, you will have the knowledge to create your own products, your own custom Modbus client and server hardware.

Looking forward to seeing you on the inside!

Who is the target audience?
  • Electrical Engineers
  • Electrical Technicians
  • Electrical Tech or Engineering Students
  • Process Control Technicians and Engineers
  • Process Automation Engineers
  • Programmers working in the Process Automation field
Students Who Viewed This Course Also Viewed
Curriculum For This Course
27 Lectures
02:08:30
+
Introduction
1 Lecture 05:53
+
The Hardware We Will Be Using
5 Lectures 19:07

The hardware that is used in the course is listed and their purpose given

Preview 03:29

An overview of the Arduino Uno.

The Arduino Uno
05:32

An overview of the Ethernet shield for Arduino Uno.

The Ethernet Shield for Arduino Uno
04:03

An overview of the simple network connection we will be using in all examples.

Network Connection Overview
03:26

A look at the physical hardware set up.

Hardware Setup on my Workbench
02:37
+
The Software We Will Be Using
3 Lectures 10:33

This lecture shows where to go on the web to download and install the free Arduino programming software.

The Arduino Programming Software
02:24

Modbus libraries are used to simplify the implementation of the Modbus protocol on the Arduino.

The Modbus Libraries
05:25

Modsim32 is a Modbus TCP Server simulation application. Modscan32 is a Modbus TCP Client application.

Modscan32 and Modsim32
02:44
+
Quick Start - Creating our First Arduino Modbus TCP Server Application
6 Lectures 36:12

The Arduino IDE is briefly introduced.

A look at the Programming Software - Arduino IDE
06:20

An application is written to send the words "Hello World" serially to the serial monitor.

Preview 04:19

The code is modified to display the value of a variable via serial comms.

Using Serial Comms to display the value of a Variable
03:56

Additional code is added to send data values serially only when there is a change in those values.

Additional Code to support Modbus TCP Server Operation
06:43

The libraries and code that implement the Modbus TCP Server functionality are included in the application.

Adding Code to Implement Modbus TCP Server Functionality
09:12

Using the laptop with Modscan32 as a Modbus TCP Client, the Arduino application is run and tested.

Running our First Arduino Modbus Server TCP Application
05:42
+
Extending the Arduino Modbus TCP Server Application
3 Lectures 21:43

Code is added and the application updated to be able to read a holding register.

Adding Code to Read a Holding Register
08:20

Code is added and the application updated to be able to read an input status.

Adding Code to Read an Input Status
06:48

Code is added and the application updated to be able to read a coil.

Adding Code to Read a Coil
06:35
+
Programming the Arduino to be Modbus TCP Client
8 Lectures 32:42

An overview of what will be done in the section is given and the goal in relation to the last two sections is given.

Understanding the Modbus TCP Client Operation
03:32

The Modbus TCP Client library is configured to be used in the Arduino IDE.

Configuring the Modbus TCP Client Library in the Arduino IDE
02:00

The latest application from the last section is used with the code that implements the Modbus TCP server services removed.

Removing the Modbus TCP Server Code from the Existing Application
03:52

Setup code is added to the application to configure the network settings and create the Modbus TCP Client object.

Writing Setup Code to Support the Modbus TCP Client Services
05:38

Code is written to read a single input register from the Modbus TCP Server (Modsim32). 

Writing the Code to Poll a Single Register in the Modbus TCP Server
07:42

The Modbus TCP client application is tested - Modsim32 is set up with a single input register that the Modbus TCP Client will read.

Testing the Initial Modbus TCP Client Application
02:27

Code is added to the application to read a holding register, input status and coil.

Writing the Code to Read the Other Modbus Register Types
04:06

The expaned Modbus TCP client application is tested - Modsim32 is set up with a single input register that the Modbus TCP Client will read.

Testing the expanded Modbus TCP Client Application
03:25
+
Conclusion
1 Lecture 02:20
The End - Where To Go From Here
02:20
About the Instructor
Emile Ackbarali
4.5 Average rating
1,021 Reviews
2,481 Students
13 Courses
Software Developer, Systems Integrator and Entrepreneur

I have been working in the fields of Software Development, Software Systems Integration and Process Automation since 1996. In 2003, I stepped out on my own and started working for myself providing software development and systems integration services to small and medium businesses.

I am also associated with a great company called Mora Systems Limited that under the leadership of it's Managing Director has produced innovative and outstanding products and services in the fields of GIS and Cellular based SCADA.

Teaching has always been a passion for me. I have taught at the tertiary level for many years on the subjects of programming, control systems as well as systems integration. In the last few years I found myself incorporating more and more videos into the curriculum with amazing results.

When I heard of uDemy I just could not help but sign up. With teaching in a classroom, you can reach only so many students, but with uDemy you can reach the world! I plan to publish and promote as many courses as I possibly can on the uDemy platform.