Learn about MODBUS, DNP3, SCADA technologies used for electrical system control

By: (plus.google.com) +David Herron; Date: June 17, 2016


One area where the MODBUS, DNP3 protocols, and SCADA methodologies, are used is in electrical system devices. MODBUS is a communications protocol widely used for industrial machines, in which a device exposes its current status as "registers" which can be queried over a MODBUS connection, and its current behavior can be modified by storing values in some of those registers. DNP3, a.k.a. Distributed Network Protocol, a.k.a. IEEE 1858, is a set of communications protocols used between components in process automation systems. SCADA, a.k.a. "Supervisory control and data acquisition", is a control system architecture that uses computers, networked data communications and graphical user interfaces for high-level process supervisory management, along with other peripheral devices such as programmable logic controllers and discrete PID controllers to interface to the process plant or machinery.

What I'm currently studying in my work is renewable energy systems - photovoltaic solar panel arrays, inverters, energy storage units, production monitoring systems, and the capability to control these systems with centralized systems. Electricity system engineers are working to develop a new control system paradigm at the core of which are inverters we control using MODBUS, and electrical-utility-owned SCADA systems controlling distributed energy systems using either DNP3 or IEEE 2030.5 (a.k.a. SEP2) protocols.

The following is a list of resources I've found for learning about these systems.

Smart Grid

Smart Grid, Utilities, and Internet Protocols (www.youtube.com) https://www.youtube.com/watch?v=zB4-mBQPd7k An in-depth overview of smart grid protocols and the use of Internet protocols in the back-end of the energy grid.

Robert Raesemann lecture series:

  • Lecture 1 - Smart Grid Fundamentals - Part 1 https://www.youtube.com/watch?v=0hAIseb9oLA
  • Lecture 1 - Smart Grid Fundamentals - Part 2 https://www.youtube.com/watch?v=x_Ixnl0Aong
  • Lecture 1 - Smart Grid Fundamentals - Part 3 https://www.youtube.com/watch?v=9ePfGXLpuGE
  • Lecture 2 - Telemetry - Part 1 https://www.youtube.com/watch?v=62HIdnAtPrE
  • Lecture 2 - Telemetry - Part 2 https://www.youtube.com/watch?v=osGyYBf5NZI
  • Lecture 2 - Telemetry - Part 3 https://www.youtube.com/watch?v=rkV35bdnO9Q
  • Lecture 3 - Instrumentation - Part 1 https://www.youtube.com/watch?v=FlmMrXkVXEg
  • Lecture 3 - Instrumentation - Part 2 https://www.youtube.com/watch?v=XGLHLeRDqWE
  • Lecture 3 - Instrumentation - Part 3 https://www.youtube.com/watch?v=tFsPhRsIiq4
  • Lecture 3 - Instrumentation - Part 4 https://www.youtube.com/watch?v=lP-McUUGIyE
  • Lecture 4 - SCADA Concepts - Part 1 https://www.youtube.com/watch?v=szXCj4iQOQM
  • Lecture 4 - SCADA Concepts - Part 2 https://www.youtube.com/watch?v=xcwRu1RFp04
  • Lecture 05 Netwokring and Communications Protocols Part 01 https://www.youtube.com/watch?v=tWunHpQHZF0
  • Lecture 05 Netwokring and Communications Protocols Part 02 https://www.youtube.com/watch?v=YgZ_AvjPpvg
  • Lecture 05 Netwokring and Communications Protocols Part 03 https://www.youtube.com/watch?v=VK3t1FREDhk
  • Lecture 06 System Integration Part 01 https://www.youtube.com/watch?v=KQGMOpcHzUc
  • Lecture 06 System Integration Part 02 https://www.youtube.com/watch?v=BMJ_pvuCp3A
  • Lecture 07 Time Series Data and Data Historians Part 01 https://www.youtube.com/watch?v=er68uuXd4UE
  • Lecture 07 Time Series Data and Data Historians Part 02 https://www.youtube.com/watch?v=Ggr9W63nlvE
  • Lecture 08 Data Historians The PI System https://www.youtube.com/watch?v=LXs0B0LhP0A


(fave.co) Learn SCADA from Scratch - Design, Program and Interface: This course teaches principles of SCADA systems. The material focuses on PLC devices (Programmable Logic Controllers) being used to automate devices typical in factories, like conveyor belts or paint mixing systems. In such an application a PLC will be connected using MODBUS to devices, and then configured using "ladder logic" to take actions like filling paint mixing tanks to the appropriate level for the desired paint recipe.

One thing I came away with is that SCADA is a huge broad topic area. In this course it means you're going to get a comprehensive training, but you will get an excellent overview. The course exposes you to PLC devices, and programming specific PLC devices using a particular PLC-programming application. Along the way you're exposed to terminology and general automation strategies.

Open Source SCADA - Using PVBrowser with Modbus/TCP Driver (www.youtube.com) https://www.youtube.com/watch?v=jrsd8HFj8WQ Using an open source SCADA thingy - http://pvbrowser.org

(www.amazon.com) Handbook of SCADA Control Systems Security


(fave.co) Mastering Modbus RS485 Network Communication: This course teaches the fundamentals of MODBUS communication. The material focuses on some specific MODBUS devices and a pair of Windows applications that act as MODBUS client or server devices. In part of the course the student is asked to use these applications together to create a virtual MODBUS network within their computer. Later they're shown how to interface with an actual MODBUS controller device.

(modbus.org) MODBUS Technical Resources and Specification: Unlike some "open standards", the complete MODBUS specification is downloadable from (modbus.org) modbus.org. Additionally, there are lots of free or open source software tools listed on that page. This makes it very easy to get up to speed with MODBUS, and find tools to use in developing products.

Raspberry Pi Node-RED Tutorial with Modbus & MQTT (www.youtube.com) https://www.youtube.com/watch?v=fV78MQks6BI Using NODE-RED to interface with a WAGO MODBUS device, and also use MQTT to send data to another device.

PLC Devices

(fave.co) PLC Programming From Scratch (PLC I), (fave.co) Practical PLC Programming (PLC II), (fave.co) Process Visualization with HMI / SCADA (PLC III): Three courses on PLC programming and Human-Machine-Interface (HMI) creation.

PLC I: Using the Rockwell software RSLogix 500 and FactoryTalk View Studio, the course covers such topics as general controls, digital and analog IO, ladder logic programming, alarm / notification handling, HMI, emulation, best practices and more.

PLC II: A hands-on course using RSLogix 500, RSLinx and RSLogix 500 Emulate in which the student is given a series of descriptions / specifications for programs to implement. This is an in-depth, hands-on, practical course with almost no hand-holding. You must have taken PLC I before attempting this course.

PLC III: Using Wonderware, EasyBuilder 5000, AdvancedHMI, and other HMI tools, explore the art of creating human-machine-interface's for a PLC program.

Raspberry Pi Codesys PLC w\ WAGO Remote IO (www.youtube.com) https://www.youtube.com/watch?v=_MeQBfQObgk Using the Codesys platform to use a Raspberry Pi as a PLC device.

RaspberryPi to PLC Codesys step by step (controling GPIO's) (www.youtube.com) https://www.youtube.com/watch?v=tdges9sFhH4 Step-by-step process to use the Raspberry Pi as a PLC using Codesys.


(www.amazon.com) Practical Modern SCADA Protocols: DNP3, 60870.5 and Related Systems An old book - 2004 - about DNP3 etc.

Introduction to DNP3 (www.youtube.com) https://www.youtube.com/watch?v=DLTzqHcrcU0&list=PL9hVZbOOYU1XbJPZv8NKnz4tJ1Bvl_Bs1 Basic overview of DNP3 from a principle vendor of DNP3 software and related tools.

WAGO Telecontrol With DNP3 Tutorial (www.youtube.com) https://www.youtube.com/watch?v=XdtsNuooA7k Using WAGO 750-880/025-001 PLC device to communicate with the DNP3 protocol. Shows configuring the PLC device with a few variables and a simple program, and using a free DNP3 "master" to test the device.

Triangle Microworks has a long list of other interesting videos: (www.youtube.com) https://www.youtube.com/channel/UCVl167s1EyCAQpbuCbxx5Gg

Another series of videos covers mapping 61850 object models to DNP3

  • https://www.youtube.com/watch?v=GlQlCaj9hC8&t=12s
  • https://www.youtube.com/watch?v=nvzztwQwzlQ
  • https://www.youtube.com/watch?v=v3IecQAJv2U
  • https://www.youtube.com/watch?v=iSKI8d5_ik8
  • https://www.youtube.com/watch?v=Ao0WBpzbJfw
  • https://www.youtube.com/watch?v=DLTzqHcrcU0&t=4s
  • https://www.youtube.com/watch?v=GD1SPo-hmGA
  • https://www.youtube.com/watch?v=TJgB-Qf9700
  • https://www.youtube.com/watch?v=ovfAKcqWaXY
  • https://www.youtube.com/watch?v=3YrZa6CfUiI
  • https://www.youtube.com/watch?v=SznUIGjTuAc
  • https://www.youtube.com/watch?v=eFAok7For3c&t=257s


(mqtt.org) http://mqtt.org/ - MQ Telemetry Transport MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. The design principles are to minimise network bandwidth and device resource requirements whilst also attempting to ensure reliability and some degree of assurance of delivery. These principles also turn out to make the protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of Things” world of connected devices, and for mobile applications where bandwidth and battery power are at a premium.

What is MQTT? (www.youtube.com) https://www.youtube.com/watch?v=EH3GOzKvdZw MQTT is a light weight and efficient protocol for the Internet of Things. This is an introductory video for MQTT.

Getting started with MQTT (www.youtube.com) https://www.youtube.com/watch?v=-KNPXPmx88E MQTT is a connectivity protocol designed for machine-to-machine (M2M). It is an extremely lightweight publish/subscribe messaging transport that is ideal for connecting small devices connected on networks with minimal bandwidth.

Home Automation with Node.js and MQTT (www.youtube.com) https://www.youtube.com/watch?v=80DxfDmoZUI

MQTT + Node MCU ( Controlling appliances over Internet using your SMART Phone) (www.youtube.com) https://www.youtube.com/watch?v=ekav8Le5a7U This video will let you know about the most used transport protocol i.e. MQTT protocol. And also how to use that protocol with your ESP8266 12e development board. I have explained this project by controlling my home appliances with my SMART phone. Getting Started with Node MCU(ESP8266 12e development Board) (www.youtube.com) https://www.youtube.com/watch?v=I6qo_2USF6o


Open Source SCADA: Node-RED, OPC UA & MySQL on Raspberry Pi (www.youtube.com) https://www.youtube.com/watch?v=LaUmhhMdoyY A video using NODE-RED, an open source platform for building rich applications that interface with hardware. It implements a bit of a SCADA system using OPC - a different protocol - on Raspberry Pi interfacing with some PLC hardware from Wago. Data is logged to a MySQL database.

Raspberry Pi Node-RED Tutorial with Modbus & MQTT (www.youtube.com) https://www.youtube.com/watch?v=fV78MQks6BI It's easy to add MODBUS and MQTT support to NODE-RED. Once that's available it's easy to wire up a user interface that works with MODBUS devices.

Get Started With Node-Red (www.youtube.com) https://www.youtube.com/watch?v=O-FDqkhCryA An introductory video on NODE-RED.

GPIO - Easy as PI... part 1 of 2 - intro to my first Node-Red program (www.youtube.com) https://www.youtube.com/watch?v=41Up52t3G9E GPIO - Easy as PI part 2 of 2, Construct your first Node-Red program (www.youtube.com) https://www.youtube.com/watch?v=RUeYnq4WWxc&t=1654s -- A two-part video series on GPIO programming using NODE-RED.


CodeSys, Raspberry Pi, PiFace, and CanaKit Demos (www.youtube.com) https://www.youtube.com/watch?v=k_d-pYd_Fvk A very good introduction to using Codesys tools to program a Raspberry Pi

« Fixing 'Enter passphrase for /dev/fd/63' in a Gitlab CI job The simple cure if a Wordpress custom content type doesn't display, but gives a 404 page not found »
2016 Election Acer C720 Ad block AkashaCMS Amazon Amazon Kindle Amiga Android Anti-Fascism Apple Apple Hardware History Apple iPhone Apple iPhone Hardware April 1st Arduino ARM Compilation Astronomy Asynchronous Programming Authoritarianism Automated Social Posting Ayo.JS Bells Law Big Brother Big Finish Black Holes Blade Runner Blogger Blogging Books Botnet Botnets Cassette Tapes Cellphones Christopher Eccleston Chrome Chrome Apps Chromebook Chromebooks Chromebox ChromeOS CIA CitiCards Citizen Journalism Civil Liberties Clinton Cluster Computing Command Line Tools Computer Hardware Computer Repair Computers Cross Compilation Crouton Curiosity Rover Cyber Security Cybermen Daleks Darth Vader Data backup Data Storage Database Database Backup Databases David Tenant DDoS Botnet Detect Adblocker Developers Editors Digital Photography DIY DIY Repair DNP3 Docker Doctor Who Doctor Who Paradox Drobo Drupal Drupal Themes DVD E-Books E-Readers Early Computers Election Hacks Electric Bicycles Electric Vehicles Electron Emdebian Energy Efficiency Enterprise Node EPUB ESP8266 Ethical Curation Eurovision Event Driven Asynchronous Express Facebook Fake News Fedora VirtualBox File transfer without iTunes FireFly Fraud Freedom of Speech Gallifrey git Gitlab GMAIL Google Google Chrome Google Gnome Google+ Government Spying Great Britain Heat Loss Hibernate Home Automation HTTPS I2C Protocol Image Analysis Image Conversion Image Processing ImageMagick InfluxDB Infrared Thermometers Insulation Internet Internet Advertising Internet Law Internet of Things Internet Policy Internet Privacy iOS Devices iPad iPhone iPhone hacking Iron Man Iternet of Things iTunes Java JavaScript JavaScript Injection JDBC John Simms Journalism Joyent Kindle Marketplace Lets Encrypt LibreOffice Linux Linux Hints Linux Single Board Computers Logging Mac OS Mac OS X MacOS X setup Make Money Online MariaDB Mars Matt Lucas MEADS Anti-Missile Mercurial Michele Gomez Micro Apartments Military Hardware Minification Minimized CSS Minimized HTML Minimized JavaScript Missy Mobile Applications MODBUS Mondas MongoDB Mongoose Monty Python MQTT Music Player Music Streaming MySQL NanoPi Nardole NASA Net Neutrality Node Web Development Node.js Node.js Database Node.js Testing Node.JS Web Development Node.x North Korea Online advertising Online Fraud Online Journalism Online Video Open Media Vault Open Source Governance Open Source Licenses Open Source Software OpenAPI OpenVPN Personal Flight Peter Capaldi Photography PHP Plex Plex Media Server Political Protest Postal Service Power Control Privacy Production use Public Violence Raspberry Pi Raspberry Pi 3 Raspberry Pi Zero Recycling Remote Desktop Republicans Retro-Technology Reviews Right to Repair River Song Robotics Rocket Ships RSS News Readers rsync Russia Russia Troll Factory SCADA Scheme Science Fiction Season 1 Season 10 Season 11 Security Security Cameras Server-side JavaScript Shell Scripts Silence Simsimi Skype Social Media Warfare Social Networks Software Development Space Flight Space Ship Reuse Space Ships SpaceX Spear Phishing Spring Spring Boot SQLite3 SSD Drives SSD upgrade SSH SSH Key SSL Swagger Synchronizing Files Telescopes Terrorism The Cybermen The Daleks The Master Time-Series Database Torchwood Total Information Awareness Trump Trump Administration Ubuntu UDOO Virtual Private Networks VirtualBox VLC VNC VOIP Web Applications Web Developer Resources Web Development Web Development Tools Web Marketing Website Advertising Weeping Angels WhatsApp Window Insulation Wordpress YouTube