IIoT is changing the way industries work by improving connections, real time monitoring, and decision-making based on data. In this tutorial, we will explore important aspects of IIoT software, like how it gathers and stores data, communication protocols, and more.
Data aggregation is the process of collecting information from different sources into one big set of data. Once the aggregation process is complete, the data is placed in a central repository where team members can easily access and use it for analysis, marketing campaigns, and decision-making.
It’s like a data warehousing.
As we know in IIoT we collect data from different sources in the industrial process for storing in the cloud or visualization and analysis, So we can say that IIoT is based on collecting data.
Let's delve into some IIoT Software platforms and see how they collect data.
IIoT Software Platforms
Node-RED is an open source flow based development tool designed for visual programming of IoT applications. Developed by IBM. It provides a browser based editor with a focus on simplifying the “wiring together” of code blocks to carry out tasks. It uses a visual programming approach that allows Developers to connect predefined code blocks, known as “nodes”, together to perform a task. The connection of different nodes make up a “flow”.it can install locally on PC, Raspberry Pi, and AWS and Azure Cloud.
Let’s see how we can implement Node-RED in IIoT and collecting data:
We can connect different PLCs to Node-RED for collecting data using different protocols like Modbus TCP/IP, S7 connecting for Siemens PLCs, OPC UA, and MQTT.
In the figure above we connect the PLC S7-1200 with Node-RED through S7_Connecting then we can get data from PLC and visualize it on Node-RED’s dashboard, also by using MQTT we can transmit data to the cloud or to mobile for visualization too.
Note | we can open the Node-RED’s flow and dashboard also using mobile directly by opening the port which the Node-RED start on and make sure the device that Node-RED run on and Mobile connect with the same Network so we can run Node-RED on the mobile using “Device IP:port” as in the below figure.
Now let’s see a simple architecture for using OPC UA with Node-RED:
In the figure above, we use three PLCs as OPC UA Server and Node-RED as OPC UA Client so data can be transmitted from any of 3 PLCs or any device using an OPC UA to Node-RED and Node-RED as the Client can transmit any data to any of 4 devices.
Note | Node-RED can be OPC UA Client and OPC UA Server.
Now let’s answer the question of whether Node-RED can store data in a database without sending it to cloud?, The answer is Yes, we can store data in database such as MySQL using Node-RED , by using some node to establish connection between them next we can use different queries for insert data into the database.
Now let’s see in brief some of Node-RED’s Strengths:
- Visual Programming: simplifying the design of complex data collection workflows.
- Device Connectivity: Supports different devices and protocols commonly used in the industrial Operations.
- Real time Processing: Ensures real time data processing through its event driven architecture, critical for industrial operations.
- Cloud Support: allowing you to store and manage data in the cloud.
- Protocols Support: supports popular industrial protocols like OPC UA and MQTT, ensuring compatibility with a wide range of devices and systems.
Note | We can publish Node-RED dashboards and flows for external access by using CloudFlare.
Ignition, introduced by Inductive Automation in January 2010, stands as an innovative Integrated Software Platform for SCADA systems. Rooted in a SQL Database centric architecture, Ignition transforms industrial operations with its cross-platform web based deployment using Java Web Start technology.
Ignition is a universal software platform for developing industrial applications such as SCADA, MES,ERP, condition monitoring and more.
Let’s see a demo.
In the figure above we can see there is a User Management, a dashboard and analysis for all processes and an Alarm section on the left side.
Now, in overview and other sections, we can find a SCADA system.
Ignition is odular so you can choose modules based on plant SCADA needs, add them as needed like apps on a smartphone.
All modules in a trial mode (Two hours can be reset) so All License is “Trial”.
Now, let’s see a sample for connection with OPC UA and MQTT and databases such as MySQL.
In figure above, 3 OPC UA servers’ connections, one is an Ignition OPC UA Server and this mean we can create an OPC UA server in Ignition and a Client too, other two servers one is Using Node-RED as Server and another one is a Simulation Server running on The PC and we can add more and more connections.
In figure above, 2 MQTT connections, they are two Aedes MQTT broker.
Also we can add more and more connections.
Now let’s talk in brief about interesting module and it is Perspective Module:
Perspective is the next generation visualization system for industrial applications, optimized specifically for mobile devices. Perspective puts the power of your plant floor in the palm of your hand by empowering you to create beautiful, mobile responsive industrial applications that run natively on any mobile device and web browser. The Perspective module has full HMI and SCADA capabilities and marks the beginning of truly mobile optimized, touch responsive, easily accessible applications for monitoring, control, analysis and data gathering in industrial systems.
The following are some key features of the Perspective module:
- Responsive Design: Perspective is mobile responsive so it responds to changes in screen size and orientation, giving users a personalized view into their processes that are automatically optimized for whatever device they are on.
- Browser-based: Perspective lives in a browser instead of a Java client. No mobile module is required.
- Device Compatibility: Designers can create applications that run on any device that can support a modern web browser using any major operating system: Windows, macOS, and Linux. The native App runs on both iOS and Android devices.
- Designed for Touch: Perspective employs multi-touch technology to work with touchpad and touch-screen interfaces allowing users to utilize commonly used gestures such as pinching, panning, zooming, and scrolling.
- Sensor Information: Perspective is able to take advantage of cameras and GPS information that are natively provided by mobile devices.
- Cascading Style Sheets HTML5/CSS3 technology: Enables users to control their application on any device type such as smartphones, tablets, touchscreens, laptops, and desktop computers.
- Transforms: Let you easily take the value coming into a binding, manipulate it even further, and then transform it to the output of your choice.
Let’s see a simple example:
We have a simple Perspective project for reading/Writing to OPC UA Server. We can use perspective session launcher from the ignition gateway to run it or using Ignition Perspective mobile app to connect with the ignition gateway and run our simple project.
Now, let’s see some Ignition Architectures
Now let’s see in brief some of Ignition’s Strengths:
- Straightforward Licensing Model: Affordability and Scalability: Ignition adopts a simplified licensing model that sets it apart from traditional SCADA software. With Ignition, users enjoy unlimited clients, tags, and connections with a single server license. This cost effective approach eliminates the constraints associated with traditional licensing models, allowing for unlimited growth and innovation without escalating software costs.
- Real time Data Insight and Analysis: Ignition departs from traditional historian software by utilizing SQL databases for real time data logging and storage. This approach eliminates the separation between time series data and the rest of the enterprise data, enabling users to analyze and contextualize real-time and historical data in milliseconds. The platform's ability to provide ad-hoc real-time trends and cross referencing enhances data driven decision making.
- Scalability: Scales effortlessly to meet the growing demands of industrial operations, from small projects to enterprise level solutions.
- Edge Computing: Supports edge computing, allowing for data processing closer to the source for reduced latency and improved efficiency.
- Security Features: Implements robust security features to protect against cyber threats and ensure the integrity of industrial data.
- Extensive Driver Support: Offers a wide range of drivers for seamless connectivity with various industrial devices and protocols.
- MES and ERP Integration: Ignition breaks down the silos between SCADA, Manufacturing Execution Systems (MES), and Enterprise Resource Planning (ERP). Its modular architecture and compatibility with modern IT technologies enable effortless integration with MES and ERP systems. This integration streamlines data flow throughout the organization, fostering efficiency and connectivity across the entire enterprise.
We can talk and delve into Ignition in detail in the future tutorials.
ThingsBoard, an open-source IIoT platform for data collection, processing, visualization, and device management, enables device connectivity via industry-standard IIoT protocols, and supports both cloud and on premises deployments. ThingsBoard combines scalability, fault tolerance and performance so you will never lose your data.
Let’s see a demo for it.
And this is sample for what we can add to the dashboard
ThingsBoard has a Rule engine which is an easy to use framework for building event based workflows. There are 3 main components:
- Message: any incoming event. It can be incoming data from devices, device life cycle events, REST API events, RPC requests, etc.
- Rule Node: a function that is executed on an incoming message. There are many different Node types that can filter, transform or execute some action on incoming messages.
- Rule Chain: nodes are connected with each other with relations, so the outbound message from rule node is sent to next connected rule nodes.
Now let’s see in brief some of ThingsBoard’s Strengths:
- Provision and manage devices and assets: Provision, monitor and control your IoT entities in a secure way using rich server side APIs. Define relations between your devices, assets, customers or any other entities.
- Collect and visualize data: Collect and store telemetry data in scalable and fault tolerant way. Visualize your data with built in or custom widgets and flexible dashboards. Share dashboards with your customers.
- Process and React: Define data processing rule chains. Transform and normalize your device data. Raise alarms on incoming telemetry events, attribute updates, device inactivity and user actions.
- Microservices: Construct your ThingsBoard cluster and get maximum scalability and fault tolerance with Microservices architecture. ThingsBoard also supports both cloud and on premises deployments.
- SQL, NoSQL and Hybrid database: Supports various database options and ability to choose where to store main entities and where to store telemetry data.
LineView is a manufacturing efficiency software that helps companies improve their bottling and packaging operations. It offers a browser based interface with role based logins, allowing users to access it from any connected device. LineView provides real time feedback, flagging urgent problems like machine stoppages for immediate corrective action.
Also it’s easy to configure and maintain, with a drag and drop interface. It also provides configurable Maintenance KPI (MTBF, MTTR, etc.) to track Mean Time between Failure and To Repair of each machine on the line, and compare SKUs, teams, shifts, OEMs, and more. The software supports automated data capture direct from a PLC or remote I/O, and supports OPC, Modbus standards, and SQL.
Let’s see a demo
- Guarantee a minimum 10% OEE gain in 6 months or less.
- Monitors every machine in the line and is scalable.
- PLC fault code tracking at machine level.
- Web based visible from anywhere on your network.
- Integrated reporting.
Cloud Studio IoT
Cloud Studio is an IoT software company that developed an IoT platform which enables monitoring, control and automation of facilities. This platform is code less and highly customizable, allowing enterprise and government entities to easily manage it in their unique way. It empowers the creation of virtually any kind of industrial application including SCADA, IIoT, Asset Tracking, Tank Monitoring, reporting, alarming, and more.
Let’s see a demo
Some of its Features:
- White Labeling: ensures product security and maintenance, allowing you to focus on expanding your business using:
- Your Logo’s.
- Your own URL.
- Customize your notification templates.
- MQTT Broker: it offers an embedded MQTT broker which enables you to easily integrate devices and control them with a simple interface that allows for payload decoders and downlinks.
- Multi Tenancy: With the multi tenancy feature of the Cloud Studio’s IoT platform, you can create individual spaces for your clients at the touch of a button. Create unlimited Tenants for your Clients, and manage users, groups and permissions for each of them, so they can access only the features they need and nothing else. This way, you can keep your customers safe and secure while still giving them the flexibility they need to get their work done.
- Cloud and LoRaWAN Network Servers: it can run in any environment servers on premise, or cloud servers. It also runs with a variety of different LoRaWAN network servers, including The Things Network, Actility, and many more. It also lets you build your own template using a scripting tool for any device you choose.
- Mobile app: Supports mobile apps for iOS or Android that makes it easy to manage your devices and enables you to see how they’re performing in real time.
Others IIoT Platforms
There are other software available to provide IIoT solutions, such as:
- Tatsoft's FactoryStudio SCADA.
- SIMATIC WinCC OA.
Now let’s talk about Data Storage.
Data Storage is a concern which deals with where and how you store information in a digital system. We can store data in 2 different mechanisms: Datafiles and Databases. So basically database means how you store your file.
We will delve into Databases so what is Databases?
A database is an organized collection of structured information, or data, typically stored electronically in a computer system. It’s usually controlled by a database management system (DBMS). Together, the data and the DBMS are referred to as a database system, often shortened to just a database.
Data within the most common types of databases in operation today is typically modeled in rows and columns in a series of tables to make processing and data querying efficient. The data can then be easily accessed, managed, modified, updated, controlled, and organized. Most databases use structured query language (SQL) for writing and querying data.
And what is SQL?
In briefly, SQL is a programming language used by nearly all relational databases to query, manipulate, and define data, and to provide access control. So let’s discuss Relational databases and some other types of databases.
It’s a type of database that stores and provides access to data points that are related to one another. Relational databases are based on the relational model, an intuitive, straightforward way of representing data in tables. In the table, each row is a record with a unique ID called the key, and the columns hold attributes of the data, and each record usually has a value for each attribute, making it easy to establish the relationships among data points.
Some of its DBMS:
- Microsoft SQL Server.
Time Series Databases
A time series database (TSDB) is a database optimized for time stamped or time series data. Time series data are simply measurements or events that are tracked, monitored, down sampled, and aggregated over time. This could be server metrics, application performance monitoring, network data, sensor data, events, clicks, trades in a market, and many other types of analytics data.
So it’s used to store and retrieve data records that are part of a “time series,” which is a set of data points that are associated with timestamps.
Popular Open Source Time Series Databases:
We can talk more in detail about InfluxDB and how to use it in IIoT in another tutorial.
NoSQL database technology stores information in JSON documents instead of columns and rows used by relational databases. To be clear, NoSQL stands for “not only SQL” rather than “no SQL” at all. This means a NoSQL JSON database can store and retrieve data using literally “no SQL.” Or you can combine the flexibility of JSON with the power of SQL for the best of both worlds. Consequently, NoSQL databases are built to be flexible, scalable, and capable of rapidly responding to the data management demands of modern businesses.
The following defines the four most-popular types of NoSQL database:
- Document databases: are primarily built for storing information as documents, including, but not limited to, JSON documents. These systems can also be used for storing XML documents, for a NoSQL database example.
Some of these databases types:
- Azure Cosmos DB.
- Key-value: stores group associated data in collections with records that are identified with unique keys for easy retrieval. Key-value stores have just enough structure to mirror the value of relational databases (as opposed to non-relational databases) while still preserving the benefits of the NoSQL database structure.
Some of these databases types:
- Oracle NoSQL Database.
- Riak database.
- Wide-column databases: use the tabular format of relational databases yet allow a wide variance in how data is named and formatted in each row, even in the same table. Like key-value stores, wide-column databases have some basic NoSQL structure while also preserving a lot of flexibility
Some of these databases types:
- Google Cloud Data store.
- Graph databases: use graph structures to define the relationships between stored data points. Graph databases are useful for identifying patterns in unstructured and semi-structured information.
Some of these databases types:
Note | we can find Azure Cosmos DB supports different database types so any examples of each database type we talk about you may find they also support another database type..
A cloud database is a database that is built, deployed, and accessed in a cloud environment, such as a private, public, or hybrid cloud to help organize, store, and manage data within an organization. Cloud databases can be offered as a managed database as a service (DBaaS).
Also Cloud databases can classified into two types:
- Relational cloud databases.
- Non-relational cloud databases.
Some clouds for databases service:
- Amazon Web Service.
- Microsoft Azure.
- Google Cloud Platform.
- IBM DB2.
- MongoDB Atlas.
Now let’s talk briefly about some of the IIoT protocols.
Most Popular IIoT Protocols
IIoT relies on robust communication protocols to ensure seamless data exchange between devices, systems, and applications. These protocols facilitate efficient and secure communication, enabling real time monitoring, control, and analysis in industrial settings. Here are some and important IIoT protocols:
MQTT (Message Queuing Telemetry Transport)
MQTT, is a standards based messaging protocol designed for efficient machine to machine communication. Widely used in IIoT, MQTT facilitates the transmission of data between resource constrained devices and the cloud, offering ease of implementation and efficient communication capabilities.
MQTT operates on a publish subscribe model which allows devices to send messages on specific topics, while other devices can subscribe to those topics to receive the messages.
OPC UA, or OPC Unified Architecture, is a machine to machine communication protocol for industrial automation, ensuring secure and standardized connectivity. Developed by the OPC Foundation, OPC UA employs a platform independent service oriented architecture, simplifying integration across diverse devices and systems. Its benefits include ease of device connection, automatic accommodation of device capabilities, scalability through multiple gateways, and secure, encrypted connections. It finds applications in various industries, such as industrial connectivity for processes like baking, enhancing automation and reducing waste.
For operation we have a device with Data having an OPC UA server and another device that needs to get the data from the first device so it operates as an OPC UA Client to connect with OPC UA Server next to get the data.
We will discuss them in more detail in another tutorial.
In summary, IIoT creates an interconnected environment that enhances efficiency, collaboration, and data-driven decision-making across the industrial enterprise. Continued technological advancements promise to enhance IIoT's impact on industrial operations further.