Create a Windows Modbus Master Program using Microsoft .NET
4.6 (150 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
760 students enrolled

Create a Windows Modbus Master Program using Microsoft .NET

Create your own custom Windows Modbus Master and Basic Human Machine Interface (HMI) using Microsoft .NET programming
4.6 (150 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
760 students enrolled
Created by Emile Ackbarali
Last updated 10/2019
English
English [Auto-generated]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 2 hours on-demand video
  • 2 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Have an understanding of the Visual Studio 2017 Integrated Development Environment
  • Create a Windows Forms application
  • Write VB.NET program code to communicate with a Modbus Server via TCP/IP
  • Write VB.NET program code to communicate with a Modbus Slave via a Serial Connection
  • Display data values read via Modbus within the Windows Application
  • Design user input to allow a user to set data values in a Modbus Server/Slave via the Windows Application
  • Implement basic graphical objects in the Windows Application for display of data
  • Build a very basic but custom Human Machine Interface
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 "BASIC" programming language
Description

If you design and implement projects in the area of Process Automation or SCADA, you will know from your experience that "one size does not fit all" when it comes to data acquisition and Human Machine Interfaces (HMIs). There is always some type of customization to be done. Always some feature that the standard HMI software does not offer. 

And sometimes, using a very expensive HMI with all sorts of bells and whistles for a small project can just be overkill. There are times when you just need a very simple application that acquires a few data points from a Modbus network and displays them on a computer screen.

These are the reasons for this course!

I teach you how to use FREE TOOLS with some basic programming to create your own Modbus Master application and Human Machine Interface. 

If you apply yourself in this course and execute all that I ask you to do, then at the end, you would have a finished Windows Modbus Application that you can customize to your heart's content!

This is the start of your journey into a whole new area of Process Automation / SCADA and one that is increasingly in very high demand!

Looking forward to seeing you on the inside!

Who this course is for:
  • Electrical Engineers
  • Electrical Technicians
  • Electrical Tech or Engineering Students
  • Process Control Technicians and Engineers
  • Process Automation Engineers
  • Programmers working in the Process Automation field
Course content
Expand all 28 lectures 01:55:45
+ Introduction
2 lectures 04:07
Adjust This Setting For Best Video Quality
01:00
+ Downloading the Software Applications
4 lectures 11:30

Modsim32 is a Modbus slave simulation application. It will be used to provide data values that will be read by the Windows Modbus Master application.

Preview 01:44

This is a free .NET library which is used in the Modbus Master application and implements the Modbus protocol. It significantly reduces the amount of program code that has to be written.

Downloading the EasyModbusTCP .NET library
03:18

Virtual Serial Port kit is an application that creates virtual com ports in Windows. It creates the ports in pairs and ties them together in a null modem fashion.

Downloading Virtual Serial Port Kit
02:03

Microsoft Visual Studio Community IDE is the software that will be used to develop the Windows Modbus Master application. It is completely FREE for individual use. 

Downloading Microsoft Visual Studio Community IDE
04:25
+ Quick Start
5 lectures 20:56

The learning strategy of the quick start section will be to build a very basic program first, get it working and then explain how it works. 

The Learning Strategy - Let's Jump In
03:03

Modsim32 is configured as a Modbus TCP/IP Server. The Modbus Master application will read data from Modsim32. 

Preview 03:15

Visual Studio Community 2017 is briefly introduced and the first project is created and run!

Building our first Modbus Master Application - Part 2
04:45

Objects called Windows controls are placed on the main form in the application. Selected properties of the controls are then changed. 

Building our first Modbus Master Application - Part 3
04:04

The code that runs the application is inserted and the completed application is run. 

The Best Part - Running the Application!
05:49
+ Explaining the "Quick Start" Application
3 lectures 17:56

Windows forms programming involves the understanding of properties, methods and events. This lecture gives a basic and brief overview of the meaning of these terms and their usage.

Understanding Properties, Methods and Events
03:41

A look at the code that creates the EasyModbus object and forms the initial connection to the server.

Preview 07:01

A look at the code that performs the actual read of the holding register and displays the value returned.

Examining the Quick Start code - Part 2
07:14
+ Implementing Polling in our Application using a Timer
2 lectures 07:47

The Timer object is added to the form in the application. It's properties are then set so that the timer "ticks" every 3 seconds.

Adding the Timer object and setting it's Properties
03:53

The appropriate code is then added to the Tick event handler and the application is run. Testing is done by changing the value of the target holding register in Modsim32.

Adding code to the Timer Tick Event and Running the Application
03:54
+ Expanding the Application with additional Modbus Read/Write Functions
7 lectures 34:43

The Read Input Register Command is implemented in Code and tested.

Implementing the Read Input Register Command
06:21

Two label objects are added to identify the holding as well as the input register values being read.

Adding more Label Objects for Human Readability
02:13

The Read Input Status Command is implemented in Code and tested.

Implementing the Read Input Status Command
07:07

The Read Coil Status Command is implemented in Code and tested.

Implementing the Read Coil Status Command
04:19

Since the Timer object runs the reading of the Modbus data, there is no longer a need for the original Button that was used. It is therefore removed.

Removing the original Button Object
02:05

The Write Single Register Command is implemented in Code and tested.

Implementing the Write Single Register Command
07:13

The Write Single Coil Command is implemented in Code and tested.

Implementing the Write Single Coil Command
05:25
+ Modifying the Application for Serial Communication
2 lectures 08:36

Virtual Serial Port is started and configured. Modsim32 is then disconnected from the TCP/IP network and connected to COM5 created by Virtual Serial Port.

Setting up Virtual Serial Port and Modsim32 for Serial Communication
03:57

The Modbus Master is modified to communicate serially. It is connected to the COM4 port created by Virtual Serial Port. It is then run and tested using Modsim32.

Modifying the Modbus Master for Serial Communication
04:39
+ Creating a Release Version of the Application
3 lectures 10:10

A release version is created.

Building the Application as a Release Version
01:55

A text box object is programmed to change colour when the input status changes. 

Adding a Graphical object to represent an Input Status (Discrete)
04:23

A progress bar object is programmed to change fill based on the value in the input register.

Adding a Graphical object to represent an Input Register (Analog)
03:52