Industry 4.0 and Cyber Security

Hans-Petter Halvorsen

1 Introduction

Industry 4.0 and Cyber Security (YouTube) + PowerPoint (PDF)

Cloud services and IoT solutions are becoming increasingly popular.  Even the industry embrace IoT as Industrial Internet of Things (IIoT), which is part of the next generation Automation Systems. Industry 4.0 is the new buzzword for the combination of industry, automation and the current Internet of Things (IoT) technology. We will focus on Web Technology and modern Cloud Platforms like Microsoft Azure.

Topics: Control Engineering, OPC, Industry 4.0, Industrial Internet of Things (IIoT), DAQ, Database Systems (SQL Server), Web Technology and ASP.NET Core, Cloud Platforms and Cloud Services (Microsoft Azure), Cyber Security.

You may go through some of the resources (tutorials, videos, examples, exercises, etc.) below or you may start directly on the final delivery. Then you can use these resources if you need help solving some of the different tasks within the delivery.

 

1.1 Hardware

You will need the following IoT hardware and components:

All hardware will be available in the laboratory.

1.2 Software

You will need some of the following software:

 

 

2 Industry 4.0

IIoT – Industrial use of IoT Technology. Industrial Internet of Things (IIoT) is another word for Industry 4.0. You could say that IoT is consumer oriented with applications like Smart Home, Home Automation, etc., while IIoT has more industrial focus and applications. The term "Industrie 4.0" was first used in 2011 in Germany. Industry 4.0 is also called the fourth industrial revolution.

 

Resources:

Industry 4.0 (YouTube)

Data Logging and Monitoring (YouTube) + PowerPoint (PDF)

Cloud-based Data Logging, Monitoring and Analysis (YouTube) + PowerPoint (PDF)

A Practical Guide for Connecting LabVIEW to the Industrial IoT (Website)

 

 

3 Control Engineering

Basic Control Engineering is still the foundation for the Next Generation Control Systems and the Industry 4.0 era.

LabVIEW:

LabVIEW in Automation (Web Site)

 

Visual Studio/C#:

Simulation and Control with C# and WinForms (YouTube) + PowerPoint (PDF)

 

Python:

Python for Control Engineering (Textbook, PDF)

Python for Control Engineering (YouTube) + PowerPoint (PDF)

Transfer Functions with Python (YouTube) + PowerPoint (PDF)

Simulation and Control with Python (YouTube) + PowerPoint (PDF)

 

3.1 Frequency Response and Stability Analysis

Python:

Frequency Response with Python (YouTube) + PowerPoint (PDF)

MATLAB:

Frequency Response and Stability Analysis with MATLAB Examples (PDF) - Here you also see an example using the Ziegler–Nichols Frequency Response method

 

3.2 Air Heater Control System

Control System with Python - Simulations (PDF) + Control System with Python - Real System (PDF)

 

 

4 DAQ

DAQ (Data Acquisition) is needed and used in all IoT/IIoT applications, which is about getting data from the sensors.

4.1 DAQ with LabVIEW

LabVIEW is powerful tools and hardware for DAQ applications. Here you can learn LabVIEW Fundamentals.

Resources:

DAQmx in LabVIEW (YouTube) + PowerPoint (PDF) - Communicate with NI DAQ Devices in LabVIEW. The tutorial shows different ways to use the DAQmx functionality in LabVIEW with practical LabVIEW examples.

LabVIEW DAQ and I/O Modules (Website)

 

4.2 DAQ with Visual Studio/C#

Resources:

Visual Studio/C# and DAQ (YouTube) + PowerPoint (PDF) - Communicate with NI DAQ Devices in LabVIEW. The tutorial shows different ways to use the DAQmx functionality in LabVIEW with practical LabVIEW examples.

Visual Studio/C# and DAQ (Website)

 

4.3 DAQ with Python

Resources:

DAQ with Python (YouTube) + PowerPoint (PDF) - Exemplified by reading Temperature Data using NI USB TC-01 Thermocouple

DAQ with I/O Modules in Python (YouTube) + PowerPoint (PDF) - Exemplified by using NI USB-6008 I/O Module

Sensors and Actuators with Python (YouTube) + PowerPoint (PDF) - Exemplified by using NI USB-6008 I/O Module and using Sensors and Actuators like LED, TMP36 Temperature, Thermistor, Push Button/Switch and Light Sensor

 

 

5 Data Communication Protocols

Popular Data Communication protocols are OPC, MQTT, Modbus, REST, AMQP, WebSocket, etc. See more details below.

5.1 OPC

OPC is a standard that defines the communication of data between devices from different manufactures. OPC UA is the "Next Generation OPC", and the OPC UA protocol is used in many IoT/IIoT applications.

 

OPC with LabVIEW

LabVIEW has built in features for OPC DA, while for OPC UA you need a separate Toolkit.

Download LabVIEW OPC UA Toolkit

Tutorials:

OPC UA in LabVIEW (YouTube) + PowerPoint (PDF)

 

OPC with Visual Studio/C#

There exists lots of software that can be used to create OPC connectivity in Visual Studio and C#.

For OPC DA connectivity, you can use the Measurement Studio add on, but lots of other possibilities exists.

Tutorials:

OPC DA in Visual Studio/C# using Measurement Studio (YouTube) + PowerPoint (PDF)

OPC UA with Visual Studio and C# (YouTube)+ PowerPoint (PDF)

 

OPC with Python

Both OPC DA and OPC UA libraries are available for Python.

 

5.2 MQTT

Message Queueing Telemetry Transport (MQTT) is an IoT protocol MQTT is used in applications with thousands of sensors. MQTT is efficient in terms of bandwidth, battery, and resources. MQTT uses a publish/subscribe model. MQTT has become the defacto IoT communication protocol. This means if you want to work with IoT projects, you will sooner or later need to use this protocol.

MQTT (YouTube) + PowerPoint (PDF)

MQTT with Python (YouTube) + PowerPoint (PDF)

MQTT with LabVIEW (YouTube) + PowerPoint (PDF)

 

5.3 Modbus

Modbus is a serial communications protocol. It is mainy used for connecting industrial electronic devices. Many PLCs and other process equipment have built-in support for Modbus.

Modbus with Practical LabVIEW Examples (YouTube) + PowerPoint (PDF)

 

5.4 REST

REST and REST APIs is popular in IoT applications and it is an easy way to transfer data over internet.

 

 

6 Database Systems

A Database System is the corner stone of any IoT or IIoT solution.

Introduction to Database Systems (YouTube) + PowerPoint (PDF)

 

Tutorials:

Structured Query Language (SQL) (PDF)

SQL Tutorial - Basic SQL Training from w3schools.com (Recommended!)

 

6.1 SQL Server

SQL Server is a Database System from Microsoft. SQL Server comes in different editions, for basic, personal use SQL Server Express is recommended because it is simple to use and it is free.

Tutorials:

Introduction to SQL Server (YouTube) + PowerPoint (PDF)

SQL Server Express Installation (YouTube) + PowerPoint (PDF)

Database Views and Stored Procedures (YouTube) + PowerPoint (PDF)

 

LabVIEW and SQL Server:

Database Communication using LabVIEW (YouTube) + PowerPoint (PDF)

LabVIEW Database Connectivity Toolkit is included with LabVIEW professional, but it is cumbersome to use. We should use the LabVIEW SQL Toolkit instead. This Toolkit is very simple to use.

 

Python and SQL Server:

Python and SQL Server (YouTube) + PowerPoint (PDF)

 

Visual Studio/C# and SQL Server:

SQL Server with C# Windows Forms App (YouTube) + PowerPoint (PDF) - This Tutorial goes through how to create a basic Windows Forms Database Application in Visual Studio/C# that communicates with an SQL Server.

Datalogging using SQL Server with C# (YouTube) + PowerPoint (PDF) - This Tutorial goes through how to create a basic Datalogging Windows Forms Application in Visual Studio/C# that Save Data inside a SQL Server Database.

 

 

7 Web Programming and ASP.NET Core

Learning Web Technology is essential today because Internet has become the number one source to information, and many of the traditional software applications have become Web Applications. Web Applications have become more powerful and can fully replace desktop application in most situations. Web and Web Technology is part of any IoT/IIoT solution. Thats why you need to know basic Web Programming, including HTML, CSS and JavaScript, and a server-side framework like ASP.NET Core.

ASP.NET Core is open source web framework, created by Microsoft, for building web applications and web services.

 

Web Programming Resources:

Web Programming Overview (YouTube) + PowerPoint (PDF)

HTML and CSS (YouTube) + PowerPoint (PDF)

W3 Schools (Website) - Web Development Tutorials

 

ASP.NET Core Resources:

ASP.NET Core - Introduction (YouTube) + PowerPoint (PDF)

ASP.NET Core - Get Data from Database (YouTube) + PowerPoint (PDF) - Here you learn the basics when it comes to how to get/retrieve data from a SQL Server database.

ASP.NET Core - Database Communication (YouTube) + PowerPoint (PDF) - Here you learn how to get/retrieve data from a SQL Server and present the data in a table in a webpage. You also learn how we can put the Connection String into the cinfiguration file appSettings.json.

ASP-NET Core - Charts (YouTube) + PowerPoint (PDF) - Here we will use Google Charts to present data from the database in a Chart/Plot on your webpage.

 

 

8 Cloud Computing and Hosting

There are 3 large Cloud Platform providers, namely Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure.

Here you can rent Cloud based services like Virtual Machines (Computers with OS running in the Cloud), Web Server, Database Systems, etc. based on a monthly fee.

 

8.1 Microsoft Azure

Microsoft Azure is a Cloud Computing and Hosting Platform from Microsoft. You could say Microsoft Azure is "Windows running in the Cloud".

Microsoft Azure for Students - Students and staff at the University can get free (but limited) access to Microsoft Azure through the Microsoft Azure Dev Tools for Teaching.

 

Resources:

Microsoft Azure (YouTube) + PowerPoint (PDF)

Python MQTT, SQL Server and Microsoft Azure (PDF)

ASP.NET Core - Azure Deployment (YouTube) + PowerPoint (PDF)

 

Azure Data Studio

Azure Data Studio is a lightweight multi-platform (Windows, macOS and Linux) version of SQL Server Management Studio.

You can use it to create or manage your Databases created in Azure.

Download Azure Data Studio

 

 

9 IIoT and Cyber Security

IIoT (Industrial Internet of Things) solutions and Data Security? How can we make sure our applications and data are safe? Security is crucial in IoT/IIoT Applications. Read more about Cyber Security.

Cyber Security Overview (PDF)

Cyber Security (Textbook) (PDF)

 

Additional Cyber Security Resources:

Cyber Security Tutorial (Website)

Cyber Security Tutorial Library (Website)

Kali Linux (Software) - Kali Linux has hundreds of pre-installed software hacking tools and penetration-testing tools.

 

9.1 SQL Injection

SQL injection is a code injection technique that might destroy your database or expose information, such as passwords, etc. SQL injection is one of the most common web hacking techniques.

SQL Injection (YouTube) + PowerPoint (PDF)

 

9.2 Cyber Security in IACS Systems

IACS – Industrial Automation and Control Systems.

IEC62443 – Cyber Security standard for IACS systems.

Delivery

In this Assignment we will create the Next Generation Industry 4.0 Control System using OPC UA, MQTT and Cloud Services like Microsoft Azure, Cloud Computing and Analysis using modern Web Technology, including ASP.NET Core. Industry 4.0 is the new term for the combination of industry, automation and the current Internet of Things (IoT) technology. Industry 4.0 is also referred to as Industrial Internet of Things (IIoT).

We will use the Air Heater system, which is a small-scale industrial process.

 

The following Tasks should be done as part of the delivery:

Part 1: Industry 4.0 Control System

Note! The GUIs should be userfriendly and intuitive, and the code should be well structured. See the video LabVIEW Programming Guidelines (much of the contents are general and not only valid for LabVIEW). We have focused a lot on this in other courses, so this must be in place in order to get this part approved. If you make a C# Desktop Application, you can use, e.g., ScottPlot for creating charts.

Make also be sure to discuss your choice of programming language and choice of communication protocol.

Part 2: ASP.NET Core and Microsoft Azure (or another Web framework and Cloud service if you prefer)

You should start your work by creating a System sketch. In that way you will get an overview of the system you are going to create. Make System Sketch in PowerPoint (YouTube).

Note! All parts and tasks should finally be put together and presented as one final working system. Pretend you make this for a given customer/client.

Feel free to Explore! Make sure to Add Value and Creativity to your Applications! Try to add some extra value and be creative compared to the simplified examples given by me, in that way you learn so much more.

Note!:

"Explore and Add Value" Examples (Voluntary, if you have some spare time):