# Increasing Resilience of Production Systems by Integrated Design
## 2 Materials and Methods
### Rapid Response to Changing Requirements Using Skill-Based Control Systems and Virtual Commissioning  
To implement the methods of workflow management and process execution to increase the resilience of production systems, it is necessary to increase flexibility and modularity on the station level and below. This can be achieved by designing the control device, field device, and product accordingly. The modular design of the control device reduces the development time and expenses even for smaller batch sizes. In addition, this modularity enables flexible and individual adaptation of the control device to the application. The focus of this section lies on the control device and its interaction with a digital representation of the production station, represented as digital twin. This combination is a key enabler in bringing production systems towards more resilience in production and is also beneficial in the development phase. Details will be given in two subsections for the controller and digital twin. Modular and flexible production stations require new design [23] and new ideas of power and information supply [24] as well as a new paradigm of PLC programming. Only if the flexibility and adaptability in hardware is transferred into flexibility in the design of automation solutions can a true and holistic flexibility in manufacturing be reached. However, state-of-the-art programmable logic controllers (PLC), which are the common solution, e.g., for robot cells, are a cyclic processing comprising the steps:  
* Input scan (reading all inputs and memory states);
* Execution of a problem-oriented automation program (PLC-program) to generate output and memory values;
* Output update (writing values to outputs and memory). Up until today, the core of the PLC program has been defined by the automation task. Until now, this has usually been developed, implemented, tested, and maintained on a task-specific basis by an automation technician of the machine/unit manufacturer [25]. Due to the fact that the task defines the code, necessary modification, adaptation or addition of command sequences, and positions, process sequences are usually not easily possible, even for minimal changes to the automation task. The effort required for programming, testing, and commissioning control software is growing disproportionately with the increase in the scope and complexity of control functionality [26]. In addition, monolithic, task driven programs are mostly only changeable by specifically educated PLC programmers, which often result in long maintenance breaks. Hence, this paradigm must be changed due to the stated request for increased flexibility and modularity of production to realize an extended resilience. An alternative is the plug-and-produce concept. Although this was originally developed for hardware and connectivity in automation systems, it enables the flexible configuration and partial self-organization of production processes at the runtime of the system. Individual functional components can be combined and/or exchanged in a flexible manner in order to adapt the production system to changing products or boundary conditions. The basic idea of plug-and-produce is that hardware components make their functions available based on a self-description, including all of the necessary information for the higher-level automation system. Thanks to a uniform interface, new components can be easily connected and used by the control device [14]. Several solutions are already available, mainly using the OPC Unified Architecture (OPC UA) standard for data exchange [27]. This was developed as a platform-independent, service-oriented architecture. However, most of the existing solutions are still manufacturer dependent or limited to several, specified use cases [28]. One basis for implementing the plug-and-produce concept at the level of control devices is to structure the functional components of an automation solution into modules.