The important part of SCADA is the connection to the technological layer. This connection is crucial for data forwarding to the higher layers of the factory architecture. Therefore, we propose an IoT gateway connecting the physical devices and the higher layers of the Information and Control System (ICS). Regular and stochastic changes occur in a real word environment and the IoT gateway must adapt to the changes. The gateway’s main role is the development of a virtual representation of the physical world enabling data collection and forwarding. The gateway’s functionality must be robust to fulfill the requirements of all layers in the factory architecture (Fig. 3).
The IoT gateway distinguishes between the physical device and its virtual representation. That enables implementation of device management in the cases of failure or for saving energy when redundant measurements are taken. Additionally the virtual representation of the devices simplifies the connection between the cloud application and the physical devices (sensors/actuators). The gateway offers a unified connection to the virtual representations of the devices so that any application may use it.
The virtual representation of a device does not simply mirror the state of the device. Functionality for enhanced description of the device, its properties and measurements is added. [9, 10]. The IoT gateway provides a complex representation of the instances.
We have defined the main tasks the IoT gateway will perform to reach the best QoS:
Data forwarding – the gateway is responsible for data forwarding from the technological layer to the higher layers of the factory architecture .
Gateway management – the gateway is a key integration element in the entire factory architecture. A fixed and no-manageable gateway will cause fewer problems with adaptivity and implementation .
Device management – enables runtime configuration of devices, setting the statuses, functionality modes, errors acknowledgements and other .
Data analysis – the IoT gateway monitors and analyses data in real time using statistics and artificial intelligence. This module cooperates with the device management to maintain QoS, reliability and fault tolerant operation. The faults are detected and the faulty devices are substituted by the available redundant devices. Data analysis with the device management enable self-configuration, adaptive and robust behavior with regard to the technological layer connected to the IoT gateway. The goal is to achieve autonomous management of devices without the need of human intervention aided by M2M communication.
Diagnostics – the IoT gateway detects errors and faults in the entire technological layer and in the IoT gateway itself.
The operation of the proposed IoT gateway is divided into the management and runtime parts.
4.1 Management Part of the IoT Gateway
Management part of the IoT gateway detects, identifies and networks new devices in real-time. The IoT gateway creates a virtual instance of a device after having detected it. A definition of the device is needed to create the virtual instance. The definition may contain measurement ranges, device’s location and power management information, lists of fault states, error states and error messages. If the definition of the virtual instance is inferred from the physical device it is uploaded to the device database . The device manager will then create the virtual instance and forward it to the runtime.
The virtual instance communicates with the device in the runtime. The data exchanges are based on events to reduce the communication load. However, the devices in Industry 4.0 should be manageable; at least the device’s status must be settable.
This industrial solution enables to contact new devices. The contacted devices must provide metadata describing themselves to be correctly recognized. The IoT gateway creates the virtual instances based on the metadata. The virtual instances are frequently refreshed based on the corresponding events. The inactive physical devices are set to idle state by the device manager. Additional functionality is the management of the running virtual devices. This implies additional ability to update the physical and virtual instances in real time. The management part provides additional information to the data access point of the IoT gateway and the access point provides it to the higher layers (to MES, for example). The access point also collects information on configuration of virtual and physical instances from SCADA layer.
The diagnostics module enables management of the physical devices, the virtual instances and of the IoT gateway to ensure reliable control of the devices and data transfers from and to the technological layer. The diagnostics module also enables problem identification and invokes events describing the critical or the alarm states (Fig. 4).
4.2 The Runtime Part of the IoT Gateway
Runtime part operates with the virtual instances created for the physical devices by the management part. Runtime part is responsible for finding new devices and updating the virtual instances. The virtual instances are easily accessible via the unified connection interface of the IoT gateway.
In the case of a fault occurring on the physical device the virtual instance may link itself to another redundant physical device or self-reconfigure. The functionality of the faulty device is substituted by functionality of another device. The runtime part runs an event manager that keeps the physical devices and the virtual instances synchronized.