## 3 Concept for a Smart Control Service
### Control Classification  
To assess the I40 capabilities of a PLC controller, categories were introduced which divide an industrial controller according to its abilities: service ability (SA) and control locality (CL). The propertiesare divided according to class C (Controller) = <SA><CL>. With the proposed methodology, I40 control classes can be defined and structural configurations for a PLC as a smart industrial control service (SICS) can be indicated (Table 1). Looking at a PLC as a CPS component, the traditional IEC 61131 control program (CP) can be divided into three parts:  
* Basic functional program part (CP basic--CPb);
* A program part which performs superior, administrative and/or user interface functions (CP supervisory--CPs);
* Critical part of the program regarding real-time and security (CP critical--CPc). In order to evaluate the I40 capabilities of a PLC or a control system, this 3-part structuring of the control program is used. Figure 1 shows the structure of such a PLC. If the control system, as shown in Figure 1, is used as the basis, and modified as a result of the increasing displacement of the control programs into a cloud as services, it leads to the evolution of a PLC as a CPS component Industrial Control, as shown in Figure 2.  
Three types of CPS components (Figure 2) are produced according to the aforementioned disassembly of the PLC program into three parts:  
* The controller hardware only implements the program components CPb and CPc. The traditional runtime environment of a PLC is still required. * For safety reasons, only the CPc program parts are implemented in the controller hardware. The classic PLC runtime machine can be used but this is not mandatory. The implementation of the CPc could also be carried out with specific embedded program parts (e.g., in C). * The controller hardware no longer contains a control part, but only sensors and actuators. All control programs are distributed as smart services in the network. \begin{table}
\begin{tabular}{c l l} \hline \hline
**Class** & **Service Ability (SA)** & **Control Locality (CL)** \\ \hline
0 & No service & All control programs are encapsulated locally in the PLC \\ \hline
1 & Services only for non-critical and & Some control programs that include non-critical and \\  & overarching functionalities & overarching functionalities are not located on the local \\  & overarching functionalities & hardware but are instead distributed to other systems (for \\  & example, in the network). \\ \hline
2 & Services for most functions & Most control programs are distributed in the network. Control \\  & available & programs which are critical in terms of time and safety remain \\  & in the local PLC hardware. \\ \hline
3 & All control functions as services. & All control programs are distributed in the network. Third \\  & instances can access all the control algorithms in real time. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Industry 4.0 (I40) Capability of a PLC controller. Figure 1: Structure of a PLC as a cyber physical systems (CPS) component. The Service Ability considers the ability of a controller to utilize control functionalities (control programs) as services. According to Table 1, the program parts CPb, CPs and CPc can be distributed unequally. In a class C11 controller, for example, the uncritical and overlapping functionalities (CPs) are not located on the local PLC hardware, but distributed on other systems in the network (corresponds to a traditional, distributed control system). However, part of the control programs could also be used as a service from the cloud. As the focus of the research is on cloud-based control services, work is focused on C3x controllers, in particular C33 (Figure 3). With this I40 control class, the complete control program, with all program parts (including the PLC runtime), is outsourced as services to a cloud or to any server in the network. The control hardware consists only of sensors and actuators connected to an IP network (see Figure 2, type c).