Mastering Modbus RS485 Network Communication

Learn how to design, implement and manage the most popular automation networking system in the world.
4.6 (175 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.
1,054 students enrolled
$19
$50
62% off
Take This Course
  • Lectures 86
  • Length 4 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 8/2013 English

Course Description

The Modbus protocol is the oldest and still by far the most popular automation protocol in the field of process automation and SCADA. Knowing how to create Modbus based networks that run on the RS485 serial communication standard is essential for any electrical technician and engineer working in these fields. Being able to integrate devices from different manufacturers is a skill that is in demand and will ultimately make you more valuable and marketable in the industry.

This course gives you the theory behind the Modbus Protocol as well as RS485. It then goes on to show you how they work together to create a Modbus RS485 network. Two freeware applications are then used to create a Modbus network right on your PC so you can see the communication in action. 

After completing this course, you will be able to integrate devices from the same manufacturers and different manufacturers, that are Modbus compliant, to form a complete seamless network.

What are the requirements?

  • Working knowledge of the process control devices in a typical Process Automation or SCADA system

What am I going to get from this course?

  • Understand the difference between Modbus and RS485
  • Modbus Protocol theory
  • RS485 theory
  • Modbus Messaging Structure and Configurations
  • Creation of a virtual software based Modbus network
  • Troubleshoot any Modbus network

What is the target audience?

  • Electrical Engineers
  • Electrical Technicians
  • Electrical Tech or Engineering Students
  • Process Control Technicians

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction
If you did the "The 1-Hour Modbus RS485 Primer" Course
Preview
00:33
01:44

The Modbus protocol is the widest used fieldbus protocol in the automation industry. Almost every piece of intelligent device supports the Modbus protocol, which means that a thorough working knowledge of it is essential to knowing how to interconnect devices from the same and different manufacturers together.

Our course goal is simple: To give you the knowledge that will allow you to interconnect devices from various manufacturers using the Modbus protocol over an RS485 network.

We strongly feel that this skill will make you very valuable and marketable in the field of SCADA and Process Automation.

Section 2: Some History
03:25

Many have used the Modbus protocol for years without understanding the reason for it's existence. In this lecture we look at exactly why and how the Modbus protocol was created. Lecture outline:

Distributed Control Systems - expensive to purchase, operate and maintain
The advent of the PLC from Modicon Corporation
The need for PLC interconnection - the birth of Modbus
Modbus as a simple and open fieldbus
The rapid adoption and spread of Modbus
01:57

The precursor to USB was RS232. Besides being used in the computer industry, RS232 found many uses in the automation industry. Efforts to improve on RS232 for automation purposes lead to RS485. In this lecture we will look at:

The original use of RS232
Drawbacks of RS232 for automation
RS485 standard solves RS232 drawbacks
RS485 advantageous properties
01:33

Because the Modbus protocol is frequently implemented using an RS485 network, many believe that they depend on one another. This is simply not true. Both RS485 and Modbus can stand on their own in various applications. In this lecture we look at:

Modbus and RS485 key misconception
Modbus Protocol vs. RS485 Electrical Standard
Modbus used over multiple types of media
Why they are frequently implemented together
Section 3: Course Problem to be Solved
02:30

Learning new concepts is always easier and much more effective when we can apply that concepts to a particular problem situation.

That is what we are going to do in this lecture.

In fact, from this point onward, we will refer to this problem at the end of each section of the remainder of this course, each time solving more and more of it until we completely solve it at the end.

The problem involves the interconnection of three PLC's via Modbus RS485 for the purpose of transferring data from two of them into a single one. The latter will then be responsible for transmitting the data wirelessly to a central point.

Section 4: The Modbus Protocol Memory Map
01:01

When the Modbus protocol was developed, the specification implemented two different modes of operation: Modbus RTU and Modbus ASCII. In this lecture we will cover:

Modbus RTU vs. Modbus ASCII
Advantages of RTU over ASCII
Very high prevalence of Modbus RTU over ASCII
01:56

Devices that support the Modbus protocol have three things in common. They are the:

1. Microprocessor or Central Processing Unit
2. Modbus Memory
3. Communication Interface
02:54

Before we get into the specific way that Modbus memory is arranged, there are a few basic concepts about electronic memory in general that we must cover in this lecture. Lecture outline:

Memory divided into Memory Blocks
Memory Blocks have different sizes
Memory Address vs. Memory Value
PLC Memory block example to illustrate
02:17

Memory blocks can come in different sizes. They are designed in different sizes mostly according to their purpose within the device in which they are used. We look closely at the various sizes and uses of Memory blocks. Lecture outline:

Memory block size measured in Bits
Bit = binary digit, binary counting system
1-bit to 32-bit sizes
Typical uses of different sizes
Illustration of use through an example
03:17

Within every Modbus compliant device there will be a portion of the memory that will be dedicated to Modbus. This portion is known as the Modbus memory area or Modbus memory map. Lecture outline:

Modbus memory divided into 4 areas
Coils, Inputs, Input and Holding Registers
Memory area ranges and sizes
Purposes of each memory area
How the areas are linked to device I/O
01:59

Modbus memory is usually linked to the device I/O. However, more sophisticated devices will use memory for calculations and storage of cumulative or calculated values. This lecture looks at an example of this and explains why this evolution has taken place.

01:50

Many of the devices that are Modbus compliant that you will come across will most likely have some form of direct connection to physical parameters in the real world.

It could be anything, motor speed, pressure, temperature, switch or breaker position. These devices would most likely be tied to some form of sensor or actuator that would be interacting with the real world.

Now even though the Modbus memory areas of coils, inputs, input registers and holding registers would be the same from device to device, the usage of the individual memory blocks will most likely be different.

And this is where the device documentation will come in.

02:41

Now that we have covered Modbus memory mapping, we will look again now at our design challenge from Lecture 5 and see how Modbus memory applies to it and how we can start on our way toward the solution.

Section 5: Modbus Protocol Network Messaging
01:45

In the previous section we learned all about how Modbus memory is arranged in devices that are Modbus compliant. In this lecture we will start a look at how the actual Modbus communication takes place among devices. Lecture outline:

Request - Respond system
Master/Slave architecture
Single Master - Multiple Slave system
Modbus master permanence
04:04

The Modbus Unit ID is a unique identifier given to every Modbus complaint device that is connected to a Modbus network. This Unit ID is essential to the proper operation of the network. Lecture outline:

Modbus Unit ID purpose
Role in network communication
Role in master/slave system
Illustration through example network
01:13

The Modbus master device on the network is the one that sends request messages to the slave devices on the network. All request commands, however, are not the same.

In this lecture we are going to look at the major types of request commands that a modbus master device can send to a slave.

Lecture outline:

Read Coil Status
Read Input Status
Read Holding Registers
Read Input Registers
Force Single Coil
Preset Single Register
03:15

In this lecture we look at the request commands in detail and explore the concept of block reads. Block reads is the particular way in which Modbus reads data. Lecture outline:

Data read in consecutive blocks only
Master start block and number of blocks
Illustration of block reads - Example
02:37

Now that we have covered Modbus messaging, we will look now again at our design challenge from Lecture 5 and see how Modbus messaging applies here and carry the solution still further toward being completely solved.

Section 6: The RS485 Serial Communication Standard
01:46

RS485 is not a protocol but rather a Serial Communication Standard. In this lecture we will look at the characteristics of RS485 and it's physical connection arrangement. Lecture outline:

RS485 port details
Multi-drop connection arrangement
Two wire interconnection style
03:12

Every RS485 communications port has configuration parameters associated with it. In this lecture we take a look at these common communication parameters and their meanings. Lecture outline:

Baud Rate
Number of data bits
Number of stop bits
Parity error checking
01:24

Now that we have covered the RS485 standard, we will look now again at our design challenge from Lecture 5 and see how RS485 communication applies here.

This will bring us to the complete solution to our Modbus RS485 network problem.

Section 7: The Query-Response Cycle
01:22

At this point in the course, we are going to move from a theoretical understanding of Modbus to a more practical view of it. 

04:14

The Query-Response cycle is the core of all Modbus communications. Almost all Modbus communication follows the format of the Query-Response cycle. To use the Modbus software tools to their fullest capacities, you must know the Query-Response cycle very well. 

06:19

Here we will be looking at the various sections that make up the Query as well as the Response byte streams. Each section will be identified and it's purpose explained. 

00:58

This is a short lecture making you aware of the notation that will be used for the rest of the course to describe a single byte in a byte stream. 

01:41

In this lecture we set up, using our application design problem, a scenario for an example where the Read Input Registers command must be used. In the lectures to come, we will use this example to create both the Query and Response byte streams.

01:44

In this lecture, we begin the process of building the query byte stream for the Read Input Registers example.

04:00

In this lecture, we continue the process of building the query byte stream for the Read Input Registers example.

02:52

In this lecture, we complete the process of building the query byte stream for the Read Input Registers example.

01:33

In this lecture, we begin the process of building the response byte stream for the Read Input Registers example.

03:26

In this lecture, we complete the process of building the response byte stream for the Read Input Registers example.

02:10

In this lecture we set up, using our application design problem, a scenario for an example where the Read Input Status command must be used. In the lectures to come, we will use this example to create both the Query and Response byte streams.

02:20

In this lecture, we build the query byte stream for the Read Input Status example.

04:10

In this lecture, we build the response byte stream for the Read Input Status example.

Section 8: Introduction to Modbus Software Tools
Basic Guidelines
01:33
01:02

The 3 Modbus software tools are identified are their purposes given.

03:40

This lecture identifies the websites from which the Modbus software tools can be downloaded.

03:02

This lecture introduces Virtual Serial Port that allows the creation of a virtual Modbus network on your computer.

04:29

This lecture introduces the Modbus Master simulator known as Modscan32. 

02:48

This lecture introduces the Modbus Slave simulator known as Modsim32. 

03:35

The Modbus software tools are used to simulate a master slave query response cycle involving the Read Input Registers Command.

03:42

The mode of Modscan32 is switched to examine the actual byte streams simulated by the Modbus software tools.

02:36

The Modbus software tools are used to simulate a master slave query response cycle involving the Read Input Status Command.

02:40

The mode of Modscan32 is switched to examine the actual byte streams simulated by the Modbus software tools.

Section 9: Simulation of Modbus Commands
02:59

The Modbus software tools are used to simulate a master slave query response cycle involving the Read Holding Registers Command.

02:44

The mode of Modscan32 is switched to examine the actual byte streams simulated by the Modbus software tools.

01:24

The Modbus software tools are used to simulate a master slave query response cycle involving the Read Coils Status Command.

03:14

The mode of Modscan32 is switched to examine the actual byte streams simulated by the Modbus software tools.

01:28

The two remaining Modbus commands are write commands.

01:26

Where to go to get the CAS Modbus Scanner.

03:19

Using Modscan32 to view the data traffic in hexadecimal format.

02:42

In this lecture, two more instruments are added to the application design problem.

04:01

A look at the expected query-response cycle for the force single coil example from our application design problem,

04:20

Using the CAS Modbus Scanner and Modsim32 to simulate the force single coil command.

02:45

A look at the expected query-response cycle for the preset single register example from our application design problem,

02:38

Using the CAS Modbus Scanner and Modsim32 to simulate the preset single register command.

Section 10: Modbus Exception Codes
Introduction
01:01
Exception Codes
03:29
The Query-Response Cycle for an Exception Response
03:33
Simulating an Exception Response
03:44
Section 11: Floating Point Data
01:40

The limitation of the 16-bit memory block data type representation.

00:47

Single Precision and Double Precision floating point forms.

02:30

The sign/exponent/mantissa representation used in Floating Point values.

02:43

An online tool that is invaluable when dealing with Modbus related Floating Point communication.

05:50

Using Modscan32 and Modsim32 to simulate an actual Master-Slave Floating Point data exchange.

04:32

The challenge with Floating Point and Swapped Floating Point compatibility.

Section 12: Configuration of the Direct Logic DL05 PLC for Modbus Communication
01:08

Moving from Modbus simulation to a live physical device.

03:06

A look at the different physical characteristics of the Direct Logic 05 PLC.

03:24

All devices share these 2 common steps in their configuration for Modbus.

01:03

I show you my Direct Logic PLC and how it is powered and connected as it resides on my desk.

02:52

A look at the part of the documentation that deals with Modbus Port Configuration.

03:02

Using the DirectSoft 6 Configuration Software to configure Modbus

03:53

A look at how the native memory address and I/O map to standard Modbus addresses.

00:45

Switching the Communications Cable from Port 1 to Port 2

02:02

Closer look at the Modbus Mapping within the PLC.

03:02

Using Modscan32 to Read/Write for Coils.

03:13

Using Modscan32 to Read Input Statuses

Section 13: In Conclusion
Summary
00:47
Section 14: Course Support Documentation
Modbus History and Overview
2 pages
Modbus RTU vs ASCII
2 pages
Modbus Message Structure
1 page
Modbus Serial Transmission Modes
1 page
Modbus Addressing
1 page
Modbus Function Codes
5 pages
RS485 Serial Communication Standard
7 pages

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Emile Ackbarali, 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.

Ready to start learning?
Take This Course