0% found this document useful (0 votes)
7 views

Software Architecture and Framework For Programmable Automation Controller

This thesis examines software architectures for programmable automation controllers. It conducts a systematic literature review of existing industrial control system architectures and identifies common patterns and challenges. It then presents a case study of developing an automation control solution for a printing house based on a proposed software architecture model for PAC systems.

Uploaded by

agam.tx
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Software Architecture and Framework For Programmable Automation Controller

This thesis examines software architectures for programmable automation controllers. It conducts a systematic literature review of existing industrial control system architectures and identifies common patterns and challenges. It then presents a case study of developing an automation control solution for a printing house based on a proposed software architecture model for PAC systems.

Uploaded by

agam.tx
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 155

Master of Science in Software Engineering

May 2018

Software Architecture and Framework for


Programmable Automation Controller: A
Systematic Literature Review and A Case
Study
Hao Chen, Luyang Xu

Faculty of Computing, Blekinge Institute of Technology, 371 79 Karlskrona, Sweden


This thesis is submitted to the Faculty of Computing at Blekinge Institute of Technology in
partial fulfilment of the requirements for the degree of Master of Science in Software
Engineering. The thesis is equivalent to 20 weeks of full time studies.

The authors declare that they are the sole authors of this thesis and that they have not used any
sources other than those listed in the bibliography and identified as references. They further
declare that they have not submitted this thesis at any other institution to obtain a degree.

Contact Information:
Author(s):
Hao Chen
E-mail: [email protected]

Luyang Xu
E-mail: [email protected]

University advisor:
Panagiota Chatzipetrou
Department of Software Engineering

Industrial advisor:
Jie Xiang
DinCare AS
Faculty of Computing Internet : www.bth.se
Blekinge Institute of Technology Phone : +46 455 38 50 00
SE-371 79 Karlskrona, Sweden Fax : +46 455 38 50 57
᷆ᴼ㒈㝤Ⱦ᷆ᴼ㒈㝤Ⱦ
ABSTRACT
Background. PAC controller is a strengthened version of PLC controller. Its function is very
similar, but its essence and construction are different. PLC and PAC have many successful
applications in the field of industrial automation control. There is a lot of literature about the
software architecture of PLC control system. However, there is almost no relevant literature on
software architecture based on PAC control system. A well-performing and stable automatic
control system is indispensable to the design and development of suitable software architecture.
The quality and pattern of software architecture can even affect the stability and efficiency of
the control system.
Objectives. Based on these problems, we defined two primary objectives. The first is to
investigate the architecture of some existing large industrial control systems, to analyze and
summarize the scenarios and advantages and disadvantages of these architectural patterns. The
second, based on the results of effort for the first objective, we want to propose and design a
set of automated control solution architecture model based on PAC control system, which is
implemented and applied in a printing house. In the process, we sum up the challenges and
obstacles encountered in implementing the solution and provide some guidance or reference for
those involved in the field.
Methods. For the first objective, we used a systematic literature review to collect data about
existing ICS architecture. Concerning the second objective, a case study was conducted in a
printing house in Karlskrona Sweden, in the study, we proposed a software architecture model
suitable for PAC automation control system. Then, we developed and tested the automation
control system and summarized some challenges and obstacles in the process of the
implementation.
Results. The existing ICS (Industrial Control System) architecture models and critical problems
and challenges in the implementation of ICS are identified. From the existing literature, we
have summarized five commonly used large industrial control system architecture models,
which are mainly using composite structures, that is, a combination of multiple architecture
patterns. Also, some critical problems in the industrial control system, such as information
security, production reliability, etc. are also identified. In the case study, we put forward an
automatic control solution for Printing House based on SLR results. We designed the hardware
deployment architecture of the system and the software control architecture. Generally speaking,
this architecture is based on C/S architecture. In the development of client, we adopt the popular
MVC architecture mode. In the longitudinal view of the whole system, an extended hierarchical
architecture model is adopted. In the core control system, we adopt the modular architecture
design idea. The whole control system is composed of 6 parts, four subsystems of PAC terminal,
one server-side program and one client program. After a long time, development and test, our
system finally goes online for the production, and its production efficiency is improved
compared with the old system. Its expansion functions, such as Production Report and Tag Print,
are deeply satisfying for the customers.
Conclusions. In this research, we summarize and compare the advantages and disadvantages
of several commonly used industrial control systems. Besides, we proposed a software

3
architecture model and developed an automation control system based on PAC. We fill the gap
that there is a lack of studies about the software architecture about the implementation of the
automation control system based on PAC. Our result can help software engineers and
developers in ICS fields to develop their own PAC based automation control system.

Keywords: PAC, ICS, Automation control, software architecture.

4
CONTENTS
ABSTRACT ........................................................................................................................................................... 3
CONTENTS........................................................................................................................................................... 5
LIST OF FIGURES .............................................................................................................................................. 7
LIST OF TABLES ................................................................................................................................................ 8
1 INTRODUCTION ........................................................................................................................................ 9
2 BACKGROUND AND RELATED WORK ............................................................................................. 12
2.1 Background ........................................................................................................................................... 12
2.1 Related Work ......................................................................................................................................... 12
3 METHOD AND DESIGN OF THE STUDY ........................................................................................... 22
3.1 Rationale ................................................................................................................................................ 22
3.2 Aim and objectives ................................................................................................................................. 22
3.3 Research Questions ........................................................................................................................ 22
3.4 Research Methodology Analysis .................................................................................................... 24
4 SYSTEMATIC LITERATURE REVIEW ............................................................................................... 26
4.1 OVERVIEW OF THE SLR PROCESS................................................................................................................ 26
4.2 SEARCH STRATEGY ..................................................................................................................................... 28
4.2.1 Keywords ............................................................................................................................................. 28
4.2.2 Search String ...................................................................................................................................... 28
4.3 INCLUSION/EXCLUSION CRITERIA ............................................................................................................... 30
4.4 QUALITY ASSESSMENT CRITERIA ................................................................................................................ 30
4.5 SNOWBALLING............................................................................................................................................. 31
4.6 APPLICATION OF SEARCH STRATEGY TO THE DATABASES ............................................................................ 32
4.7 DATA EXTRACTION AND SYNTHESIS ........................................................................................................... 33
4.7 SLR RESULTS .............................................................................................................................................. 34
4.8 SLR RESULTS ANALYSIS ............................................................................................................................. 38
4.9 VALIDITY THREATS OF SLR ........................................................................................................................ 47
5 CASE STUDY: AUTOMATION CONTROL SYSTEM SOLUTION AND SOFTWARE
ARCHITECTURE .............................................................................................................................................. 48
5.1 Case study description ........................................................................................................................... 48
5.2 SYSTEM REQUIREMENTS ANALYSIS ............................................................................................................ 50
5.3 THE DESIGN OF AUTOMATION CONTROL SYSTEM BASED ON PAC ............................................................. 50
5.4 SYSTEM ARCHITECTURE .............................................................................................................................. 55
5.4.1 System architecture ............................................................................................................................ 55
5.4.2 Software deployment architecture ...................................................................................................... 56
5.5 PAC CONTROL SYSTEM (LOWER LAYER CONTROL SYSTEM) ........................................................................ 58
5.5.1 Introduction of embedded real-time system ....................................................................................... 58
5.5.2 Framework model ............................................................................................................................... 59
5.5.3 PAC control system implementation .................................................................................................. 60
5.6 MAINCONTROLLER...................................................................................................................................... 66
5.7 UNIMAIL-CLIENT ......................................................................................................................................... 79
5.8 CASE STUDY RESULTS ANALYSIS ................................................................................................................ 85
5.9 VALIDITY THREATS OF CASE STUDY ........................................................................................................... 93
6 CONCLUSION AND FUTURE WORK .................................................................................................. 95
6.1 CONCLUSION ............................................................................................................................................... 95
6.2 CONTRIBUTION ............................................................................................................................................ 96
6.3 FUTURE WORK ............................................................................................................................................. 96
REFERENCES .................................................................................................................................................... 98
APPENDIX I SLR REFERENCE ....................................................................................................................... 0
APPENDIX II SYSTEM REQUIREMENTS LIST ........................................................................................... 3

5
APPENDIX III PAC SIGNAL SCHEMA........................................................................................................... 7
APPENDIX IV ABBREVIATION INDEX ......................................................................................................... 9
APPENDIX V EXTRACTED DATA FROM THE SLR ................................................................................. 11
APPENDIX VI SYSTEM INSTRUCTION MANUAL ................................................................................... 17

6
LIST OF FIGURES
FIGURE 1-1 PAC INTEGRATION WITH MULTIPLE SYSTEMS ..................................................................................... 10
FIGURE 2-1 TRADITIONAL LAYERED ARCHITECTURE............................................................................................. 14
FIGURE 2-2 EXTENDED HIERARCHICAL ARCHITECTURE MODEL. ............................................................................ 15
FIGURE 2-5 C/S ARCHITECTURE ............................................................................................................................ 16
FIGURE 2-3 MVC ARCHITECTURE MODEL ............................................................................................................. 17
FIGURE 2-4 EMBEDDED SYSTEM STRUCTURE AND MODEL ..................................................................................... 19
FIGURE 4-1: THE SLR PROCESS ............................................................................................................................. 27
FIGURE 4-3: SELECTION OF PRIMARY STUDIES ...................................................................................................... 33
FIGURE 4-4 DISTRIBUTION OF PRIMARY STUDIES ................................................................................................... 29
FIGURE 4-5: YEAR-WISE DISTRIBUTION OF PRIMARY STUDIES .............................................................................. 30
FIGURE 4-6 SOURCE DISTRIBUTION OF PRIMARY STUDIES ...................................................................................... 35
FIGURE 4-7 THE ISA-95 STANDARD REFERENCE ARCHITECTURE MODEL .............................................................. 41
FIGURE 4-8: CISCO'S CPWE JOINT ARCHITECTURE ............................................................................................... 42
FIGURE 4-9: NIST'S INTELLIGENT MANUFACTURING ECOSYSTEM MODEL ........................................................... 42
FIGURE 4-12: RAMI 4.0 REFERENCE ARCHITECTURE ........................................................................................... 44
FIGURE 4-13: INDUSTRIAL INTERCONNECTION NETWORK ARCHITECTURE ............................................................. 45
FIGURE 5-1 SYSTEM HARDWARE DEPLOYMENT ARCHITECTURE ............................................................................ 54
FIGURE 5-2 AUTOMATION CONTROL SYSTEM ARCHITECTURE BASED ON PAC ...................................................... 55
FIGURE 5-3 SOFTWARE SYSTEM DEPLOYMENT ..................................................................................................... 57
FIGURE 5-4 FRAMEWORK MODEL FOR PAC EMBEDDED SYSTEM ........................................................................... 59
FIGURE 5-5 PERIPHERAL DRIVER ........................................................................................................................... 61
FIGURE 5-6 THE MAIN FUNCTION FLOW CHART OF LOADING ................................................................................. 64
FIGURE 5-7 RF_MIDDLEWARE COMPONENT ..................................................................................................... 65
FIGURE 5-8 MAINCONTROLLER WORKING PRINCIPLE DIAGRAM............................................................................. 66
FIGURE 5-9 THE HIERARCHY OF TCP/IP PROTOCOL............................................................................................... 67
FIGURE 5-10 THE COMMUNICATION FLOW CHART OF THE SOCKET ........................................................................ 69
FIGURE 5-11 PAC TERMINAL COMMUNICATION FLOW CHART ............................................................................... 70
FIGURE 5-12 SERVER-SIDE COMMUNICATION FLOW CHART ................................................................................... 71
FIGURE 5-13 FRAMEWORK DIAGRAM OF SERVICE PROGRAM ................................................................................. 72
FIGURE 5-14 THE FUNCTION CALL RELATION OF REPEATPROCESSOR.................................................................... 73
FIGURE 5-15 PROCESSTHEPROJECT FUNCTION FLOW CHART ................................................................................. 74
FIGURE 5-16 PROCESSALLPROJECT FUNCTION FLOW CHART................................................................................. 77
FIGURE 5-17 THE FUNCTION CALL RELATIONSHIP IN THE MINUTEPROCESSOR ...................................................... 77
FIGURE 5-18 MINUTEPROCESSOR FLOW CHART..................................................................................................... 78
FIGURE 5-19 CLIENT ARCHITECTURE BASED ON MVC ......................................................................................... 79
FIGURE 5-20 EXAMPLE MATCHING OF DATABASE MODEL AND REPORT VIEW PIECE .............................................. 80
FIGURE 5-21 MODULARIZED FORM LOADING MODE .............................................................................................. 81
FIGURE 5-22 MODEL/VIEW DISPLAY MODE .......................................................................................................... 82
FIGURE 5-23 DATABASE DISPLAY PROCESS ........................................................................................................... 82
FIGURE 5-24 THE EXECUTION FLOW OF THE SETDATABASE METHOD .................................................................... 83
FIGURE 5-25 MODEL INDEX DIAGRAM ................................................................................................................... 84
FIGURE 5-26 CLIENT PROGRAM EXECUTION FLOW................................................................................................. 84
FIGURE 5-27 PRODUCTION REPORT ........................................................................................................................ 86
FIGURE 5-28 LOADING SUMMARY REPORT ............................................................................................................ 87
FIGURE 5-29 PRODUCTION OVERVIEW ................................................................................................................... 88
FIGURE 5-30 QUALITY PROBLEM ANALYSIS PARETO CHART.................................................................................. 91

7
LIST OF TABLES
TABLE 3-1 RESEARCH QUESTIONS DEFINED IN THE CASE STUDY ......................................................................... 22
TABLE 4-1 RESEARCH QUESTIONS INTENDED TO BE SOLVED BY SLR .................................................................... 27
TABLE 4-2: KEYWORDS UTILIZED FOR THE FORMULATION OF THE SEARCH STRING............................................... 28
TABLE 4-3 PRIME SEARCH STRING ......................................................................................................................... 28
TABLE 4-4 RELATED ELECTRONIC DATABASES FOR SYSTEMATIC LITERATURE REVIEW......................................... 29
TABLE 4-5 SEARCH STRING FOR DIFFERENT DATABASES ....................................................................................... 29
TABLE 4-6 INCLUSION CRITERIA ............................................................................................................................ 30
TABLE 4-7 EXCLUSION CRITERIA ........................................................................................................................... 30
TABLE 4-8: QUALITY ASSESSMENT CRITERIA CHECKLIST..................................................................................... 31
TABLE 4-9 DATA EXTRACTION FORM..................................................................................................................... 33
TABLE 4-10 CHALLENGES IN IMPLEMENTATION OF INDUSTRIAL CONTROL SYSTEM .............................................. 37
TABLE 4-11 THE COMMON ICS ACHITECTURE MODELS ....................................................................................... 38
TABLE 5-1 FUNCTIONS IN LOADING.C.................................................................................................................... 62
TABLE 5-2 FUNCTION DESCRIPTION IN SOCKET CLASS ......................................................................................... 68
TABLE 5-3 REPEATPROCESSOR MAIN VARIABLES TABLE ....................................................................................... 74
TABLE 5-4 REPEATPROCESSOR MAIN FUNCTIONS TABLE ....................................................................................... 75
TABLE 5-5 DESCRIPTION OF THE NUMBER IN PRODUCTION OVERVIEW .................................................................. 88
TABLE 5-6 OVERVIEW OF THE MAIN SECTIONS OF THE CASE STUDY PROTOCOL .................................................. 49
TABLE 5-7 STATISTICS ON THE QUALITY PROBLEMS OF THE SYSTEM ..................................................................... 89
TABLE 5-8 ANALYSIS ON THE QUALITY PROBLEMS OF THE SYSTEM....................................................................... 90

8
1 INTRODUCTION
Nowadays, there are many automation control systems in the industrial, however, with the advent
of industrial 4.0 [8] and the rapid development of the Internet of things, they can no longer meet the
increasing demand changes. In particular, in the printing industry, many systems are the product of the
industrial 2.0 of 10 years ago. Obviously, in the trend of realizing industrial 4.0 in Germany, the
technology is out of date and will be eliminated by the market if it is not upgraded. At the time of
upgrading, most enterprises have two options, one is to carry out a comprehensive upgrade of hardware
devices, and these hardware manufacturers often provide a corresponding control system, and the two
is to upgrade the software control system and upgrade some hardware controllers, for example, use the
more powerful PAC (Programmable Automation Controller) to replace the PLC (Programmable Logic
Controller), then only need to rewrite the control system on the basis of PAC. If the choice of the first
kind is taken, the enterprise has to consider many factors, the price of all kinds of control machines in
the market is very high, which will bring huge capital expense, and the huge capital cost will bring
certain risks to the operation of the enterprise. The second is to rewrite the software control system based
on the selected controller and add new functional requirements according to the business needs. In
contrast, the second schemes cost less and bring lower risks. These controllers usually require specific
programs or software to drive them to achieve the goal of controlling industrial machinery and
equipment.
In recent years, Programmable Automation Controllers (PACs) are widely used in industrial
automation control system. PACs are the new generation of PLCs (Programmable Logic Controllers).
PACs are much more powerful than previous generations of PLCs [1,2]. Both PACs and PLCs are
special-purpose computers that are used for the control and automation of machinery and processes in
the industry [3]. PACs are programmed in programming languages specified by the IEC (International
Electro-Technical Commission) standard [4]. PAC combines the processor, memory, and software of
PC, and possess the stability, firmness, and distributed characteristic of PLC. Additionally, PAC takes
an open structure and uses COTS (Commercial off-the-shelf) [5]. Namely, it is a PAC platform made
up of the mature and available products from the market. Thus, PACs have several advantages compared
to some traditional controllers:
Reduce the development cost of the system as well as the running cost, using the general standard
architecture and network. PACs are compatible with different manufacturers regarding hardware, can
choose different parts of the system according to different requirements. Software and functional
flexibility and scalability provide a way to extend or transplanted to the user seamlessly.
Users have more control over their systems - PACs users have more flexibility and can choose
hardware or programming tools for different applications, as shown in Figure 1-1. The system can be
upgraded or expanded at any time as needed, and powerful communication capabilities can be designed
or programmed by users anywhere.

9
Figure 1-1 PAC Integration with multiple systems[1]

We searched “PAC” in online database e.g. IEEE, some control systems based on PAC controller
are mentioned. However, most of these control systems have single functions, simple control logic,
unreasonable architecture design, low efficiency, low maintainability and low scalability. In the past,
most traditional automation controllers were often programmed by people who have little or no formal
background in computer programming [1]. But nowadays, programs are usually written by people who
have a much better knowledge of computer programming, and have a good understanding of data
structures, object-oriented programming principles as well [3].
A lot of work has been done to apply software engineering principles to PAC software development,
for example, recognition of design patterns [5] and proposal of new, high-level graphical languages [6].
It is a good beginning and foundation for the future development. However, search the literature with
terms such as “PAC software architecture,” “scalable PAC software,” “PAC software system," "PAC
software framework," etc. results show almost no relevant literature. Even if there are several kinds of
literature mentioned "PAC," it is hard to apply these literatures to the implementation of PAC based
automation control system. Besides, we did some broader literature searches, for example, "PAC
software" or "PAC programming," the results are as same as before, some relevant literatures are too
complex to apply to actual practice.
Therefore, there is no theoretical guidance or literature help for these enterprises or companies that
need to use PAC to complete the system upgrade. At the very beginning, it will be very difficult.
Naturally, we want to use our knowledge and take advantage of the programming capabilities offered
by the latest ICS (Industrial Control System) production PAC to develop a more reliable, stable,
intelligent, and more efficient automation control system.
Hence, we think there is a need to close or decrease the gap between academia and industrial
practice. Recently, Sysdostpressarna, a printing house in Karlskrona (Sweden) commissioned our team
to completely develop a new automation control system that controls a major production line to replace
their old system. The old system is based on PLC-PC control model [8] and was developed by 15
years ago. The old system can only run on the Win XP operating system. However, Microsoft will not
provide any security updates or technical support for the Windows XP operating system anymore since
April 8, 2014. We did a research and found this phenomenon is common in the printing plant. The whole

10
printing industry is decaying and downhill. Both hardware and software system has been used for 20
years. There would be a security problem if they decided to continue using the old system. Hence, a new
control system is essential for the company. Our work is to propose and develop a new software
architecture based on PAC-PC control model, which means to combine PAC and PC to control the
whole production line, to replace the old system. On the basis, we can provide some guidance and help
to industrial plants that want to use PAC to implement automated control for the production line.

11
2 BACKGROUND AND RELATED WORK
2.1 Background
PAC technology is one of the latest techniques applied in the field of industrial automation.
Although PAC is now widely used in industrial plants for automation control, there is less research on
PAC software development technology in the academic field. Complex industrial process control
systems are real-time multitasking systems. And the PAC control software of these systems is usually
developed by the control engineers, and they often lack the latest theory of software engineering. This
restricts the improvement of the efficiency and quality of PAC software development. An appropriate
architecture for the PAC software is very important. The architecture can directly influence the
efficiency, extensibility, security etc. of the system.
Software architecture refers to the high-level abstract structures of a software system and the
documentation with the discipline of creating such structures. These structures are required to explain
the software system. Each structure comprises software elements, relations among them, and properties
of both elements and relations [18]. Software architecture is one of the critical means to control software
complexity, improve software quality, support software development and multiplexing. Software
architecture has been increasingly concerned by software researchers and practitioners since it was
proposed 漓 and it has become an important research field of software engineering[13]. With the
increasing scale and complexity of software system, the design and planning of the global structure of
the system are more important than the algorithm selection and data structure design. The overall
structure design and planning problems including global organization structure, global control structure,
communication and synchronization and data access protocol, the design elements of the composition,
physical distribution, scale, and performance, etc. [19]. These are the issues to be discussed in the
software architecture. It is widely convened that the design of a suitable architecture for the system is
the critical factor for the success of the software system [20].
Different software has different architecture; different architecture has different styles or patterns.
An architectural style sometimes refers to an architectural pattern, which is a set of principles that a
coarsely grained pattern that provides an abstract framework for a family of systems [22]. An
architectural style improves partitioning and promotes design reuse by providing solutions to commonly
occurring problems [23]. The typical architectural styles are Blackboard, Client-server (2-tier, 3-tier, n-
tier, cloud computing exhibit this style), Component-based, Data-centric, Event-driven (or Implicit
invocation), Layered (or Multilayered architecture), Microservices architecture, Monolithic application,
Peer-to-peer (P2P), Pipes and filters, Plugins, etc.
How to apply the academic research results to the actual software development has been a problem
that puzzles researchers. Although the practice of architecture has made an achievement software
engineering filed, it still relies mainly on the personal experience of the software architect in the actual
product development of PAC software.

2.1 Related Work


2.2.1 PAC Technology
The concept of PAC is put forward by Craig Resnick [1], a senior research fellow of ARC
consulting group. He thinks that PLC is quite active in the market, and develops well and has strong
vitality. However, PLC is continuously changing in many ways and increasing its functionalities.
Automation vendors are continually working on the development of PLC to meet the needs of the market
and users. The enhancement of the function has prompted the PAC's emerging. PAC is based on open
industry standards, possesses multi-domain functions, universal open platforms, and high performance.

12
ARC creates this word to help users define application needs and help manufacturers be clear when they
talk about their products. The concept of PAC is described as the centralization of the control engine,
covering a variety of needs of the PLC users, and the needs of the manufacturers of information. PAC
includes the primary functions of PLC, and it extends the control capabilities of PLC, as well as the
functions of the object based, open data format and network connection in PC-based control.
GE (the United States Ge Corp), as one of the world's leading manufacturers of PAC controllers,
which is also an old manufacturer of traditional PLC industry. The PAC is compatible with its Funac
system and adopts the standard embedded system architecture. It overcomes the shortcomings of the
long-term too closed and proprietary of the PLC/DCS and supports a variety of Fieldbus and
communication protocols. A variety of programming languages are used: ladder diagram, C language,
function block diagram, etc. It also supports new functions such as Ethernet remote programming and
maintenance. The representative products are Rx3i, Rx7i and so on.
NI (American national instrument), as a computer-based leader in measurement and automation
technology, provides 5 PAC platforms based on Lab VIEW: PXI, Compact Field Point, Compact Vision
System, Compact, and standard industrial computers. NI PAC integrates industrial real-time processors
and FPGA based hardware level wear to meet the needs of high-speed industrial control applications.
Also, NI provides a graphical programming software Lab VIEW as a software development platform
for PAC, which can meet the needs of users to advanced algorithm applications and connect with
existing industrial systems.
Bell et al. [11] said the ICS capabilities required not only advanced software but also some
increments in hardware capabilities of the controllers. Open, modular architectures that mirror industry
applications from machine layouts in factories to unit operations in process plants [11]. Traditional PLC
and PC-based control presented three challenges:
1) Stability: The operating system was running on PC often was not stable enough for control. Once
the operating system crashed, the whole control system crashed, that would bring damages to the
industrial plants.
2) Reliability: PCs can easily go to failure with rotating magnetic hard drives and non-industrially
hardened components, such as power supplies.
3) Unfamiliar programming environment: Industry plants operator need relevant abilities to
override the system for troubleshooting or maintenance. For example, they can manually force a coil to
the desired state quickly by using ladder logic. However, Using PC control system, the operators need
to learn much more and new advanced tools.
To overcome these challenges, PAC and PC based control is a better choice. PAC is stable enough to
process essential commands and communications. PAC software is designed to fit specific types of
applications such as motion, logic, and PID [12], and it also has flexibilities for custom applications
such as data logging, communication, and custom control algorithms.
Garlan et al. [20] analyzed and compared the architecture styles, design patterns, and objects, and
pointed out that the software architecture style is the common structure and semantic characteristics of
many systems. Garlan points out how architectural style guides organize modules and subsystems into
a complete system. Hence, choosing the appropriate architecture style will be directly related to the
reusability of the software.
Walters et al. [3] rewritten a PLC program for a food production line using a different software
architecture and framework. They did not change the PLC hardware and the production line equipment.
After they finished the project, the results show that the average number of cases of products produced
per production hour during the first ten months with the new program was 6.1% higher than before. This
paper shows that a good PLC program architecture can have a significant impact on production
efficiency in industrial plants.

13
2.2.2 Traditional three-layer software architecture
1. Layered architecture design philosophy [38]
Also, considering making our system get high cohesion and low coupling we decided to refer
to the design idea of layered architecture to divide our system into the functional hierarchy. However,
traditional three-tier architecture model could not meet the needs of our system architecture so that we
will expand by the three-layer architecture.
1) Presentation tier:
Located on the outermost (top level) of the system, which is closest to users. It is used to display
data and receive user input data, providing an interface for the software system to interact with users.
2) Application tier (business logic, logic tier, or middle tier)
Between the presentation layer and the data access layer, it is specifically [10] responsible for
processing the information entered by the user or sending the information to the data access layer for
storage or reading the data from the database through the data access layer. The layer can include some
code that describes the logic. The business logic layer is a bridge between presentation layer and data
access layer, which is responsible for data processing and transmission.
3) Data tier:
Only save and read the data. Data access includes accessing database systems, binary files, text
documents, or XML documents. The data access layer is only responsible for accessing and accessing
data.

Figure 2-1 Traditional Layered architecture

2. Extended three-layer software architecture [29]


To adapt the basic software architecture to the application of industrial control, we need to
expand it. After that, we add two new layers: the transport layer and the driver layer. The following are
the two new layers
1) Transport tier:
Under the data access layer, the main task is to transmit the information between the hardware
and the software through the universal protocol. The main objective of this layer is to convert the

14
common communication protocols of industrial control into common network communication protocols.
The general network protocols include UDP, TCP and so on.
2) Driver tier:
Under the transmission layer, it belongs to the bottom layer, and its function is mainly to realize
the transmission of common communication protocols in industrial control. Such communication
protocols include CAN protocol, serial port protocol and so on. The extended structural relationship is
shown in Figure 2-2

Figure 2-2 Extended hierarchical architecture model.

The user sets the parameters to the program at the presentation layer, that is, the UI interface
and the business logic layer gets the parameters into a specific format and transmits it to the data access
layer by conversion. The data access layer comes with parameter data to initiate access to data requests,
requests the request through the transport layer to package the request as a network transmission format
and forward it to the driver layer and unpack the data. The driving layer is transmitted to the hardware
after receiving the data; after the hardware is processed, the processing results are returned to the data
layer, and the data layer is repackaged and returned to the data access layer after the data layer is
transmitted to the transmission layer and unwrapped. The data access layer is transformed into a specific
format and forwarded to the business layer. After analyzing, the business layer is uploaded to the
presentation layer and displayed to the user results. Considering the whole control system, we adopt a 5
TIER hierarchical architecture mode. The purpose is to make the functions between each module clear
and make the whole system low coupling and high cohesion.

15
2.2.3 C/S Architecture [30]
The Client/Server architecture is Client/Server architecture. It is a well-known software system
architecture. By assigning the tasks to the Client end and the Server end, the communication overhead
of the system is reduced, and the client can be installed to manage the operation. The program is different
from the client side and the server side. The user's program is mainly on the client side. The server side
mainly provides data management, data sharing, data and system maintenance and concurrency control.
The client program mainly completes the specific service of the user. Using C/S architecture for the
development is relatively easy to operate, but the upgrading of application programs and maintenance
of client programs are more difficult. A simple diagram of the C/S architecture is shown in Figure 2-5.

Figure 2-5 C/S architecture

2.2.4 MVC Design Pattern [31]


MVC namely the abbreviation of the Model, View, and Controller, a pattern of software design,
to organize code with a separate method of business logic, data, and interface display, and to assemble
the business logic into a component. While improving and personalization interface and user interaction,
there is no need to rewrite business logic. MVC is uniquely developed to map traditional input,
processing and output functions in a logical graphical user interface structure. This design pattern
separations the front-end display and back-end data processing, which makes the logic of the software
architecture clear so that the logic of the software architecture is clear, and the maintainability and
extensibility of the software product are enhanced. The MVC architecture is shown in Figure 5-3

16
Figure 2-3 MVC Architecture model
The model in the MVC design pattern is the abbreviation of the "data model," which is the data
stored on the disk or in the memory. These data are stored in a certain structure so that the user can
access the data when it is needed. The view in MVC design pattern is the abbreviation of "user view."
It is the user interface to display the data in the model. It is rendered by a specific language so that the
data in the model are organized and presented by the wishes of the user. The controller in the MVC
design pattern is the abbreviation of the "model view display controller," which controls the display
mode of the data in the view more carefully. When the data in the model changes, the controller will
feed the model data that changes to the view actively. This ensures that the data displayed in the view
and the data in the model remain synchronous. In this article, the design of the Unimail-Client client
application is the MVC schema.

2.2.5 Software modularization [27]


Modular programming is to divide a large program into some small program modules by the
function of a program [34]. Each small program module completes a definite function, and establishes
the necessary connections between these modules, and completes the program design method of the
whole work energy through the cooperation of the modules. In the design of more complex programs,
the top-down method is generally used, the problem is divided into several parts, and each part is further
refined until it is resolved into a better solution.
Modular design, in a simple way, is that the writing of a program is not the beginning of the
entry of the computer statements and instructions, but first of the main program, subprogram, subprocess
and other frameworks to describe the main structure and process of the software. We define and debug
the input and output link relationships among different frameworks, and the result of progressive
refinement is to get a series of algorithm descriptions based on functional blocks. The method of
programming based on function blocks is called modularization. The purpose of modularization is to
reduce program complexity and simplify the operation of program design, debugging and maintenance.
Using function, it can not only modularize the program, make the program more simple and intuitive,
thus improve the readability and maintainability of the program, but also write some calculation or
operation often used in the program as a general function for the call at any time.
The research of modularized software development technology mainly focuses on two aspects,
one is the modularized development of the fine-grained level on the object-oriented code level, and the

17
other is the design and division of the reusable module oriented to the software function. These two
aspects of modularity can improve the efficiency of software development.
The purpose of the invention the embedded PAC controller is to facilitate the data acquisition
and automation control in the industrial field and use its powerful communication network to transmit
data to remote PCs or cloud servers. With the development and application of modern control theory,
such as intelligent control, adaptive fuzzy control and neural network technology, these intelligent
control algorithms, and embedded systems can be combined to achieve more complex, more precise and
stable industrial control.

2.2.6 The composition of the embedded system [26]


PAC control system, we also call it embedded PAC control system. Embedded system [30] is a
special computer application system, which includes two parts: hardware and software. The hardware
part of the embedded system consists of power supply module, embedded processor, memory (program
memory and data memory), programmable logic device, peripheral IC, various I/O interfaces, bus and
equipment. In some application scenarios, USB interface, I2C bus interface, SPI interface, CAN bus
interface, Ethernet interface and A/D, D/A and PWM interface are required. Therefore, the hardware of
the embedded system should be selected or clipped according to the actual application, to achieve stable
and reliable performance and meet the requirements of the application system. The software of
embedded system includes device driver layer, embedded operating system, application program
interface API and practical application layer. For simple embedded systems, there can be no embedded
operating system, only device drivers and application programs exist. For most of the complexity of
embedded systems and control needs, performance requirements are increasing. In the embedded system
hardware, the execution mechanism can be controlled directly or indirectly, and the data of the sensor
can be collected. The program written in the application software layer can allow the hardware layer
processor to execute the related commands, and then control the peripherals of the embedded system.
The embedded system structure and model are shown in Figure 2-4.

18
Figure 2-4 Embedded system structure and model

2.2.7 Pipe-filter
The architecture of pipe-filter mode is a data flow-oriented software architecture. Its most typical
application is in the compilation system. A common compilation system includes a series of processes
for processing source programs such as lexical analyzer, parser, semantic analysis and intermediate code
generator, optimizer, target code generator, etc. The compiler system can be regarded as a connector of
a series of filters and designed according to the pipeline filter architecture. In addition, this architecture
is widely applied in other fields. Therefore, it has become a prominent research field in software
engineering and software development.


19
Figure 2-5 Pipe-filter architecture pattern

As shown in Figure 2-5, in the pipe-filter architecture model, each component has a set of input,
output, and component read input data stream, after internal processing, output data flow is generated.
The process mainly completes input flow transformation and incremental calculation. The component
here is the filter, and the connection filter is the pipe, which transmits the result data flow of the last
filter to the next filter and performs other calculations.
It can be used in the scenario when the processing required by an application can be easily
decomposed into a set of discrete, independent steps. In addition, it can be adopted when the processing
steps implemented by the application have different scalability requirements. Pipe-filter has the
following advantages:
1) the components have good concealment, high cohesion and low coupling.
2) allowing the designer to regard the input / output behavior of the whole system as a simple
synthesis of the behavior of multiple filters;
3) support software reuse. It is important to provide data that is suitable for transmission between
two filters, and any two filters can be connected.
4) the system maintenance and enhancement system performance are simple. New filters can be
added to existing systems; old filters that can be improved can be replaced.
5) allow analysis of some attributes such as throughput and deadlock.
6) support parallel execution. Each filter is completed as a separate task, so it can be executed in
parallel with other tasks.
澳 澳
2.2.8 Blackboard
The blackboard pattern is a behavioral design pattern [77] that provides a computational framework
for the design and development of systems that integrate large and different specialized modules, and
implement complex, non-deterministic control strategies [77] [78]. Many different data processing
logics in the application interact and cooperate to complete data analysis and processing. It's like many
different experts communicate ideas on the same blackboard, each expert can get information written
by other experts on the blackboard and can also use his own analysis to update the information on the
blackboard to influence other experts.

The blackboard pattern provides an effective solution for the design and implementation of a
complex system, where heterogeneous modules must be dynamically combined to solve problems [77].
This provides non-functional properties, such as: Reusability, Mutability and Robustness [78].
There are two common implementations in practical applications:
1) Using a database
Using database as blackboard, different applications share information in database, and can update
data information. This is also the most common way to implement it. It facilitates the realization of
information query, filtering and statistics. In this respect, relational databases provide strong support for
SQL 92. However, it cannot be used for high real-time requirements, and this implementation is under
"pull mode", and high frequency access databases can cause serious system performance problems.
2) Using publish-subscribe patterns

20
This implementation usually uses message queuing as a blackboard, queues work in topic mode,
experts serve as a subscriber to the queue, and messages can be sent to the queue, and messages are
sent to all subscribers. The above process has realized the exchange of information between experts. It
can be effectively applied to systems with high real-time requirements. This implementation is in the
"push mode". However, it is difficult to realize the statistical analysis of information, which cannot be
supported by SQL as the way of implementation. These tasks must be done by the developers
themselves.

2.2.9 Finite-state machine (FSM)


A finite-state machine (FSM) or a state machine, is a mathematical computation model. It is an
abstract machine that can be placed in a finite number of states at any given time. FSM can be
transformed from one state to another in response to some external input; the behavior from one state to
another is called transition. FSM is defined by its status list, initial state and the conditions of each
transformation. There are two types of finite state machines: deterministic finite state machine and non-
deterministic finite state machine [76].

Figure 2-6 Carousel application using FSM[76]

As shown in Figure 2-6, it is an application example of carousel door using FSM. Consider the
model of the state of a carousel door (revolving door). A carousel is a large, smart rack that accepts
material through a doorway and stores the material according to a bar code ID on it. The door operates
with a single button.

21
3 METHOD AND DESIGN OF THE STUDY
3.1 Rationale
This study is to propose and develop a suitable and available software architecture based on PAC-
PC control model, this architecture will be applied in the development of automation control system in
a printing house, and the new system combines PAC and PC to control the whole production line, to
replace the old system. On the basis, this study aims to provide some guidance and help to industrial
plants that want to use PAC to implement automated control for the production line. There is limited
published research on the PAC software architecture and PAC software development, and the case study
aims to make some contribution to the research in this area.

3.2 Aim and objectives


Our research aims to propose and design a new software architecture for the PAC-Based control
system which can be applied to industrial plants. We decide to break down this aim with the following
objectives:

1) Investigate the existing PAC-Based control system

2) Investigate the difference between PAC-Based control systems and PLC-Based control systems

3) Investigate what are the advantages and disadvantages of these existing architectures

4) Propose and develop a suitable and available software architecture based on PAC-PC control
model; this architecture will be applied in the development of automation control system in a printing
house.

5) Investigate what functional/non-functional requirements the new architecture must support

6) Summarize the research and provide some guidance and help to industrial plants that want to use
PAC to implement automated control for the production line.

3.3Research Questions
The research questions of the case study are summarized in Table 3-1, showing a subset of the many
research questions that were conceived. The research questions need to be revisited when there is a need
to. There is a need to iterate back to research questions even in the reporting stage in a large study like
this. For example, when writing a scientific paper, especially in writing on a partial result of an analysis
chunk, there is a need to consider how a crisp formulation of research questions can give readers a better
understanding of the (sub)objectives of the reported study [28].
TABLE 3-1 Research Questions Defined in the Case Study
No Research Questions Motivation Research
Method

22
RQ1 What are the most in large-scale industrial plants, the development of Systematic
critical problems in the control system usually costs much money and Literature
implementation of an workforce, a lot of risks exist in such a large-scale Review
automation control project as well. Hence, there is a need to figure out (SLR)
what are the most critical problems to hinder or
system?
bring risks to the project. Besides, investigating
some challenges in this field and find out some
solutions to overcome these obstacles in advance,
to some extent, can avoid some problems emerging
and reduce the risk in the development of the
project. We want to know what is difficult in the
industrial control system at present, and we can
find out the relevant information in the existing
literature to help us to avoid these problems as
much as possible, or to find the best solution for the
practice control system.

RQ1.1 What types of software We want to know what architecture models or


architecture are theories have been adopted in some existing
presented in the industrial control systems. What are the
existing literature? advantages of these architectures?
RQ1.2 What functional/non- The first step in creating software architecture is
functional requirements to identify relevant requirements. Hence, we want
the new architecture to identify the functional/non-functional
must support. requirements that the new system must
support.
RQ2 What kinds of software we did a lot of search on some educational websites Case Study
architecture(s) is and could not find any relevant literature about the
available and suitable architecture of PAC software. We need to consider
for PAC software to all kinds of factors in the real industry that could
crush the automation control system. With these
implement automation
factors, we want to propose an available solution
control system? What
for the implementation of the control system based
are the key factors that on PAC and design an appropriate architecture for
affect the quality of the system. To implement it, we have to consider
PAC software? some software qualities such as stability,
reliability, and security that could ensure the
hardware runs well.

RQ3 To what extent the we want to the what exactly the benefits that the Case Study
objectives of the project new system can bring to the printing house, and we
are achieved? What are want to know to what extent the aim and objectives
the expected benefits of are achieved. We want to make some contributions
to this research field and give some guidance to
the new architecture
other industrial plants from our work and practice.
based on PAC?

23
3.4 Research Methodology Analysis
The common research methodologies used in software engineering are Survey, Systematic
Literature Review, Literature Review, System Mapping Study, Experiment, Action Research
and Case study [23]. The selection and rationale for an appropriate research method is done
based on the research questions.
“Survey is the collection of standardized information from a specific population, or some
sample from one, usually but not necessarily by means of a questionnaire or interview” [23].
The purpose of the survey is to draw conclusions from the samples considered and generalize
to a larger set of similar samples [71], which depend on the derived data [73]. A descriptive
question (RQ1) is the formulation of our research, the purpose of which is to investigate the
challenges the industrial environment, which requires deeper, richer interpretation and
observation. The survey did not provide abundant descriptive data or perceptual explanation
[72], so the survey was rejected as a research method for our research.
The experiment is a formal, strict, controllable study that is defined as "measuring the
influence of one variable on another variable" and "the subjects are randomly assigned to the
treatment" [23]. Thus, a controlled-based experiment was regarded as inappropriate for our
study. Because we do not have any controlled-based variables in our study.
Action Research is to “influence or change the certain aspects of subject of the research”
which is improving and qualitative in nature [23]. Action research is closely related to case
study, and the latter aims to solve and enhance problems in the industry. The former aims to
understand what measures are being used in collaboration with industry and academia and does
not provide improvements to the problem [23]. Therefore, this can be best understood from an
in-depth study of phenomena that can be generated from a case study [23].
According to the topic and research question, we think case study is the most appropriate
method for my research. A case study is a kind of in-depth investigation of a specific case or
some similar specific cases [14]. This method focuses on some specific phenomena in the real
world. A case study is a method for doing research which involves an empirical investigation
of a particular contemporary phenomenon in the real-life context using multiple sources of
evidence [17]. The objectives and research question are to get the results through multi evidence
and to investigate and collect relevant data in the real scrum team which has just transformed.
Hence, I choose case study as the primary research method for this study. We followed
guidelines by Runeson et al. [29] and followed their instructions for designing a case study.
Besides, we did a systematic literature review as part of preparations for the case study. We
searched some relevant literature by some keywords in both the online electronic libraries and Google
Scholar [10]. By this way, we did some search about software architecture in ICS, software architecture
and quality, PAC software, etc.
Systematic Literature Review (SLR) is a clear and strict strategy for evaluating, identifying and
deciphering the current research related to research issues, subject areas, or phenomena of interest [31].
SLR can propose a reasonable, fair and credible assessment research topic [31]. The reasons why
conducting a SLR are as followings:
1) To sum up the existing evidence about a solution.
2) To find the present research gaps with an aim of suggesting areas for future research work [31].
3) To propose a theory for new research areas [31].
4) To assist in the design of a new proposition [31].

24
The first two reasons are consistent with our aims and objectives and RQ1, therefore, we choose
SLR as one of the research methodologies in this study.

25
4 SYSTEMATIC LITERATURE REVIEW

4.1 Overview of the SLR Process


To investigate the current application of knowledge-driven methods in software archiving, this
paper adopts the method of the systematic literature review to study relevant literature. The method was
first introduced from the literature of the systematic research on medical problems in evidence-based
medicine [74]. In 2007, Kitchenhem introduced it to the field of software engineering and proposed a
guide to the implementation of SLR [75]. The systematic literature review method can be used to
identify, measure, explain and analyze the research literature. There are three main stages of system
evaluation, namely, planning the review, conducting the review and reporting the review. In the first
stage, the planning review describes the systematic review of the literature and the formulation of the
review protocol. The review protocol describes the purpose and process of system evaluation [39]. In
conducting systematic reviews, there is a need for a well-designed review protocol, which will help
researchers avoid reviewing [33] [39]. The second stage is first systematic assessment, including
primary research, quality assessment checklists, data extraction, and synthesis. In the third and final
stages, the results collected from the systematic reviews are reported and allocated to interested
participants, [33]. When a system is in place, a well-designed review protocol is needed.
The systematic literature review method has the following characteristics:
1. First, a review protocol is described, which can help identify the research questions that will be
resolved and conduct a review of the methodology.
2. To identify as many potential documents as possible based on the pre-designed search strategy.
3. The strategy is documented and is convenient for readers to assess the integrity and repeatability
of the whole process.
4. To evaluate each retrieval document using explicit criteria for inclusion and exclusion.
5. The final selected literature can be used as the basic data for quantitative analysis.

The methods of reviewing the systematic literature are as follows, and the process flow chart is
shown in Figure 4-1:
Planning stage: The main purpose of this phase is to develop a review agreement and determine
the steps to systematically review the document [33]. Determine the needs of SLR, study problems
clearly, formulate and evaluate the review agreement.
Implementation stage: using electronic retrieval, manual retrieval, and collection of primary
literature, through reading questions, reading abstracts, reading full text three steps to determine the
final selected literature, and the selected articles for data extraction, evaluation, and analysis.
Reporting stage: write research reports in standard format, review and publish.

26
Figure 4-1: The SLR process
In this study, we formulated three research questions that will be addressed by SLR. The details
of the research question have been discussed in the Research Questions section. We plan to use the
Systematic Literature Review (SLR) method to answer our initial RQ1 (1.1-1.2). Questions are shown
in Table 4-1:
Table 4-1 Research questions intended to be solved by SLR
RQ. Research Question Sub Research Brief Explanation of the research
No Question question
RQ What are the most critical We want to know what is difficult in
1 problems in the the industrial control system at present,
implementation of an and we can find out the relevant
automation control system information in the existing literature to
solution for large-scale help us to avoid these problems as much
industrial plants? as possible, or to find the best solution
for the practice control system.
RQ What types of We want to know what architecture
1.1 software architecture models, models, or theories have been
are presented in the adopted in some existing industrial
existing literature? control systems. What are the
advantages of these architectures?

27
RQ What functional/non- The first step in creating software
1.2 functional architecture is to identify relevant
requirements the new requirements. Hence, we want to
architecture must identify the functional/non-functional
support. requirements that the new system must
support.

4.2 Search Strategy


Effective search strategies include selecting major research from various electronic databases,
specific journals and conference records. It includes the definition of search conditions and helps
identify keywords that effectively formulate these search criteria [29]. Search string helps researchers
effectively find the valuable studies to address the research questions. In the following sections, we
discussed and defined the steps involved in the search string.
4.2.1 Keywords
Initially, a database search was conducted to obtain a primary study, and then snowballing
techniques were used to ensure that all relevant research was covered. Keywords are defined by research
questions and are generated by using the Boolean operators "and" and "or" to combine these keywords.
Synonyms for keywords are also added to the search string to ensure that all relevant research is obtained.

The keywords identified for this study are shown in Table 4-2:
Table 4-2: Keywords utilized for the formulation of the search string
Notation Keyword
A1 Automation Control
B1 System
B2 Software
B3 Application
B4 Project
B5 Program
C1 Design
C2 Architecture
C3 Development
C4 Implementation
C5 Solution

4.2.2 Search String


{A1} AND {B1 OR B2 OR B3 OR B5} AND {C1 OR C2 OR C3 OR C4 OR C5}
Table 4-3 Prime search string
Automation Control AND System AND Design
OR OR
Software Architecture
OR OR
Application Development
OR OR
Project Implementation
OR OR

28
Program Solution

4.2.3 Resources
The literature we searched mainly came from the following database resources. These
databases support the literature review process of the system by proving a lot of information
with our research. We have explored the following digital databases, because these databases
have potential articles related to our research
• ACM Digital Library
• IEEE Xplore
• Springer Links
• Scopus
• Inspec
• Google Scholar
Table 4-4 Related electronic databases for systematic literature review
Database Type
ACM Digital Library Digital
IEEE Xplore Digital
SpringerLink Digital
Scopus Digital
Inspec Digital
Google Scholar Open

According to our domain knowledge and supervisor’s suggestion, we used different search strings
for different databases, the reason is that search engines vary in their search syntax. Hence, to get more
relevant literatures, we made minor adjustments to the search strings on the basis that the semantics
remain unchanged. The specific string is shown in the following Table 4-5.

Table 4-5 Search string for different databases


NO Database Search String Articles Found
1 IEEE {A1} AND {B1 OR B2 OR B3 OR B5} AND 497
{C1 OR C2 OR C3 OR C4 OR C5}
2 ACM {A1} AND {B1 OR B2 OR B3 OR B5} AND 276
{C1 OR C2 OR C3 OR C4 OR C5}
3 Springer {A1} AND {B1 OR B2 OR B3 OR B5} AND 254
links {C1 OR C2 OR C3 OR C4 OR C5}
4 Scopus {A1} AND {B1 OR B2 OR B3 OR B5} AND 116
{C1 OR C2 OR C3 OR C4 OR C5}
5 Inspec {A1} AND {B1 OR B2 OR B3 OR B5} AND 112
{C1 OR C2 OR C3 OR C4 OR C5}
6 Google {A1} AND {B1 OR B2 OR B3 OR B5} AND {C1 198
Scholar OR C2 OR C3 OR C4 OR C5}
Total 1453

29
4.3 Inclusion/Exclusion Criteria
We defined the following inclusion / exclusion criteria to remove irrelevant and duplicated
research from database search results.

4.3.1 Inclusion Criteria

Table 4-6 Inclusion criteria


Sr. Stage Criteria Description
NO
1 Overall Selection Language = English
Full Text
Date of publication
Non-Duplicate
Published papers in conference/journal/ and workshop
proceedings
Peer-reviewed studies
2 Title and Abstract level Relevant to ICS, system architecture, or PAC control system

3 Introduction and The theme of the document is about industrial automation


conclusion level control system.

4 Full-Text level Papers must contain the empirical research work, and mainly
focus on ICS architecture.

4.3.2 Exclusion Criteria


Table 4-7 Exclusion criteria
Sr. NO Criteria Description
1 Studies that are not available in the English language.
2 If two papers illustrate the same research content, take the more mature one.
3 Studies that cannot get the full text.
4 The literature that has no positive support will be eliminated
5 Duplicate studies

4.4 Quality Assessment Criteria


The purpose of quality assessment in our research is to understand the limitations of each study
in synthetic data. The standard of quality assessment is mainly focused on eliminating unrelated articles
that do not involve our research field and helps to minimize the possibility that researchers have
deviations between the suitability and relevance of the paper and the research. It is used as a guide for
interpreting results. The quality standard is used to extract relevant data from selected studies. During
the main research quality assessment shown in Table 4-8 below, quality standards have been used as
checklists.

30
Table 4-8: Quality Assessment Criteria Checklist
Quality Assessment Criteria Yes/no/partial
Are the aims and objectives of the study clear?
Are the results of the study clear?
Are the conclusions of the research clearly described?
Is the research methodology clearly described?
Does the study report the challenges in implementing an industrial automation
control system?
Is the software architecture of the systems clearly stated in the study?
Does the study describe the various software architecture patterns and styles?
Does the study mention the threats to validity?
Does the study discuss the implementation of the automation control system?
Does the study discuss the benefits of different architecture pattern?
Are the citations appropriately stated?

4.5 Snowballing
Snowballing is another way to conduct searches to determine primary research. The main process
of snowball is to start with the literature that is in line with the study, and to search and collect the
original information according to the references behind these literatures. The main reason for choosing
to snowball together with the database search is that using the search string may not provide all relevant
research. Using a search string to perform a search in the database can produce a large amount of
unrelated, unnecessary research, sometimes even beyond the perspective [30] [31]. Database search
needs to create different search strings for different databases because the database is limited to a specific
search method. Variations in the search string may not provide all relevant literature, and the threat of
losing important documents needs to be mitigated. In his study, Waring [30] used an example to illustrate
the possibility of losing documents when performing a database search. He also explained that these
references could be found by using a snowball program. Therefore, taking into account the claims
submitted by Woern Lin [30], snowballing and database search methods were considered.
The snowball process is iterative until no new literature has been found. In order to get more
relevant literature, we carried out forward and backward snowballing. The method is implemented in
two stages to collect the relevant literatures.

Backward Snowballing: backward snowballing (BS) is viewed by referring to the references in the
study. The inclusion of reference literatures must comply with the following criteria:
1. Scan the titles of the referenced literatures;
2. Scan the abstracts of the referenced literatures;
3. Review the reference context in the literature.

Forward Snowballing: The forward snowballing (FS) is performed by looking at the citations
of the paper. The search is carried out in google scholar for each study. The inclusion of the
citing studies must comply with the following criteria.
Forward snowballing (FS) is done by looking at the citations of the literatures obtained through
SLR. And these citations references are searched in Google scholars. The inclusion of the
reference study must be in accordance with the following criteria:
1. Analyze the title of the cited literature.

31
2. Review the abstract of the cited literature.
3. Read the full text in the case of difficult judgment. For each iteration, the literatures included
will be added to the dataset. Snowballing (BS and FS) procedures are applied to continuous and
iterative research. This process continues until no new literatures are found.

As for snowball, we have explained the process of implementing this method in Figure 1. Snowball
sampling is defined as” A method of interviewing a man’s immediate social environment is to use the
socio-metric questions in the interview for sampling purposes” according to [3]. In this study, we
reviewed the references and cited preliminary studies to find more articles relevant to our research. The
snowball sampling methods used in our research is executed as follows:


Figure 4-15 Snowball sampling process

We take 30 documents from SLR as seed. Execute the forward and backward searching methods.
The execution flow chart is shown in the Figure 4-15. We got a lot of literature. These literatures were
screened by inclusion and exclusion criteria. Finally, the 3 studies were obtained, the 3 studies are [S32]
[S33] [S34].

4.6 Application of search strategy to the databases


In our research, we made forward and backward snowballs in the 31 studies obtained from the
inclusion/exclusion criteria for database search results [31]. After applying the snowball technology,
nine studies were identified after the application of inclusion/exclusion criteria. Most of references are

32
grey literature [45] and matched to the exclusion criteria. Hence, we obtain all the new studies in one
iteration. Figure 4-3 describes the process that how we got the studies after database search and snowball.

Figure 4-3: Selection of Primary Studies

4.7 Data Extraction and Synthesis


35 main studies were selected for the SLR. The data extraction table is designed according to the
guidelines specified by Kitchenham et al [31]. The data extraction form is mainly for extracting data
from preliminary research and helping to find data related to research issues [35]. The objective is to
collect the necessary and important information needed for the entire study by the data extraction form
[36]. If the information requires any manipulation or inference, the review agreement should specify the
appropriate verification process [37]. Data extraction form is shown in Table 4-9. Some of the data
extracted from these study are presented in the appendix.

Table 4-9 Data extraction form


Basic information about the research work/Articles

Title of Article Specify Name

33
Author(s) Specify Name(s)
Article Type Specify type
Publication Date Specify year

The aim of the study Specify if mentioned

The context of the study Strong/medium/weak

Citations Specify counts

Research method Case study/Experiment/Survey/Industry report/validation


research/evaluation research/solution proposal/opinion paper/
experience report.
Context description Specify if mentioned

Study design description Specify if mentioned

Type of architecture pattern C/S, B/S, Layer, Pipe-Filter, Blackboard, MVC, Peer to Peer,
etc..
Success factors discussed Specify if mentioned

Challenging factors Specify if mentioned


influenced the success of
automation control system
Benefits discussed Specify if mentioned

Study Conclusions Specify if mentioned

4.7 SLR Results


4.7.1 Type of article publication
The pie chart shows the distribution of selected articles according to the type of publication such
as Conference/ Journal/ Books/ Thesis/ Others [37]. The "others" group contains articles that are not
specified but are closely related to research. There are fifteen conference papers, nine journal papers,
one book publications, five thesis papers and four unspecified (Other).

34
Figure 4-4 Distribution of primary studies
4.7.2 Publication year
35 major studies have been identified in this study. The main research and their identifiers are
listed in Appendix A. After searching the database and snowball, 35 research related studies were
discovered. Most studies were published between 2010 and 2018, and 2 studies were published before
2010 and one study was published in 2010 and 2018 respectively. The following chart shows the annual
distribution of major research. In 2011, four studies were published, and four studies were published in
2012. It can be seen that the research of automatic control system has increased since 2012. In 2013,
four studies were published, six studies were released in 2014, 6 studies were released in 2015, five
studies were released in 2016, and three studies were released in 2017. In the 35 study, ten studies
reported that in a large industrial control system, a single system architecture model did not meet all
requirements. Seven studies used at least 3 or more architectural patterns, and five studies reported the
advantages and disadvantages of adopting different architectural patterns. The next section will analyze
the literature in detail. Follow the subject analysis to analyze the extracted data.

Year wise distribution of primary studies


8

0
<=2010 2011 2012 2013 2014 2015 2016 2017 2018

Year wise distribution of primary studies

Figure 4-5: Year-wise Distribution of Primary Studies


4.7.3 Source of publication
We obtained these studies from different electronic databases, which are IEEE Explore, ACM,
Inspec, Spring Links, Scopus, Google Scholar. These databases contain potential sources of peer review
studies related to this study [38]. We found that most studies were duplicated to the results in the
previous database after we applied the search string. Most studies were obtained from IEEE Explore
and ACM. And most of studies were deleted due to the repetition. The following Figure 4-6 shows the
distribution of the electronic source of the articles and the obtained them.

35
Figure 4-6 Source distribution of primary studies
4.7.4 Efficiency of the study
Based on the validation of the proposed method, the efficiency of the selected articles is
judged. Before relying on the results of the studies, any researcher should estimate the
efficiency of an article [65]. The pie chart below shows the distribution of obtained articles
based on high, middle and low. “High” represents the articles that are verified in the industrial
environment. The purpose of the article has been validated and verified clearly. It represents a
high efficient study. "Medium" represents articles that are verified in academic fields. The
purpose of the article is met to the academic requirements. It represents a reliable study. The
articles represented by "low" are not verified in industry or academia but are related to research.
The results are poorly verified and validated.

Efficiency of the study

High Medium Low

Figure 4-12 Efficiency of the study

4.7.5 Research Method used in the study


In the analysis of the articles, we observed that research questions were solved through
various research methods, such as SLR, case studies, experiments, survey etc. The following
chart shows the distribution of the articles based on the research methods employed in the study.

36
12

10

0
Case Study Experiment Literature Survey Experience Others
Review Report

Figure 4-13: Research method used in the study

4.7.6 Qualitative results


In these 35 articles, 10 of them illustrate the common ICS architecture, and summarized
their advantages and disadvantages. The rest of them present the challenges in the
implementation of an industrial control system. And 20 of them introduced the common
architecture patterns in the ICS.

1. We summarized the challenges mentioned in these studies, as shown in Table 4-10:

Table 4-10: Challenges in implementation of industrial control system


Category Challenges Reference
Difficult to integrate a new control module [S1] [S2] [S5] [S6] [S8]
Difficult to develop a new function [S1] [S2] [S4] [S6] [S9]
Low extensibility [S10]
Difficult to be compatible with new [S2] [S3] [S4] [S5]
hardware [S12] [S14]

Communication is unstable and data [S2] [S13] [S24] [S25]


packets are easily lost [S26] [S27]
The hidden defects in After interruption of communication, it may [S2] [S6] [S8] [S10]
communication be necessary to restart related equipment to [S13] [S14]
resume normal.
Slow data transmission and low efficiency [S2] [S22] [S23] [S12]
[S29] [S28]

The dependency of each class is high, and [S32] [S31] [S4] [S15]
the coupling between modules is high. [S22] [S34]
Poor optimization of Class or functional modules do not have a [S20] [S22] [S21] [S23]
system architecture single function [S27] [S28]

37
The architecture design is not clear enough [S21] [S23] [S24] [S25]
and is not detailed enough, resulting in [S32] [S33]
development difficulties.

Intranet interconnection, information [S12] [S13] [S23] [S15]


sharing, not independent, easy to be [S19] [S17]
Information security artificially modified.
problem Information sharing of the system makes [S18] [S19] [S20] [S25]
the connections between each system more [S26] [S30][ S35]
closely, and the connection between each
other is blurred
Firewall technology is not perfect [S23] [S24] [S31] [S5]
[S25] [S34] [S35]

2. We summarized the 5 common ICS architectures from these studies, as shown in Table 4-11:

Table 4-11 Common ICS architecture models


Architecture model Reference
The ISA-95 standard reference model [S1] [S2][S35]
CISCO's CPwE joint architecture [S3 [S4
NIST's intelligent manufacturing ecosystem model [S5[S6
RAMI 4.0 Reference Architecture [S7 [S8] [S9]
Industrial interconnection network architecture [S10] [S11]

4.8 SLR Results Analysis

4.8.1 RQ1. What are the most critical problems in the implementation of an automation
control system solution for large-scale industrial plants?
1. Low extensibility
Automation engineering control system is to put all functions into one processor. The control
system is relatively simple in operation, maintenance, and system design, while the requirements of the
control station are not high, but the shortcomings of the automatic control system are also very
prominent, that is, the overall operation speed of the processor is very slow, which is determined by its
system characteristics, because the centralized monitoring is monitored by a processor. The burden of
large numbers of objects is too heavy. Also, when the cable is increased, the host space decreases and
the cost of investment increases. Also, the interlocking of circuit breakers in the control system and
isolation devices in the isolation devices are hard wiring. Therefore, it is very difficult to perform the
functional expansion of the equipment. At the same time, the two wiring is quite complex, making it
difficult to repair and repair after the equipment failure. The planning scheme of an automation system
is very important, but because of the lack of standardization, the exchange of data between enterprises
and manufacturers is not consistent, which makes the exchange of information between enterprises is

38
not convenient. At the same time, the unification of the electrical automation control system is not
enough, and the construction of the electric automation control system cannot be carried out completely
from the demand of the customers, and the standardization and unification of the system still need to be
further strengthened.

2. The hidden defects in communication


A large part of the work of automatic control system is to carry on the transmission of information, but
in the current development of the industry, the problem of data loss occurs when information is
transmitted. This is a technical problem. The damage of information will lead to the wrong command of
the control system, which will affect production. Therefore, in the automatic control system, the
transmission of information also requires certain safety precautions. Also, there are hidden dangers in
the application of communication technology in industrial automation control system. Communication
technology in the industrial control system is an important part. With the continuous technological
upgrading of the system, the number of communication protocols has increased gradually, and
communication technology has also put forward higher requirements. The communication path is
complicated, and all kinds of bus technology are applied, which make the communication means varied,
such as Internet communication, information communication between databases, information transfer
between the control system and production site, information transmission between the internal modules
of the control system and so on. Because of the fuzzification of the boundaries between the subsystems
and the boundary between the system and the modules in the system design, the number of the
installation of the firewall and the lack of the location of the installation will result in the hidden danger
of security.

3. Poor optimization of system architecture


The industrial automation control system of the industrial control system has its safety problems. From
the stage of architecture design and development, the key work is implemented to the operation of
performance technology. In the process of design, the problem of system structure optimization is
considered more, and there is not much consideration for the security problem. In the manufacturing
process of the industrial automation system, the selection of equipment model is different, and different
manufacturers are different in the quality of the product, and there will be a problem that the product is
not compatible and the degree of standardization is not high. When entering the operation stage, it needs
to be debugged according to the work needs of the body. Do a good job in technical maintenance. From
the system's architecture design and development, manufacturing links do not pay attention to system
security problems; it will inevitably bring hidden dangers to the system operation. Therefore, for a large
industrial control system, optimizing the system architecture is indispensable.

4. Information security problem


While strengthening the automation operation of industrial enterprises, we must also realize that
the use of information technology will bring some risks to the industrial control system. The diversity
of the information system makes its compatibility increasing, including the automation system and
electronic commerce, and the functions of the system are fully integrated, and the information system is
no longer independent. This will inevitably affect the special performance of the control system. Based
on network technology, the data and information sharing of the system makes the connections between
each system more closely, and the connection between each other is blurred. This will inevitably produce
"boundary disputes," correspondingly, various security problems. The openness of the system is getting
higher and higher. To ensure the full play of the control function of the system, it is necessary to do a
good job of controlling the safety and isolation of the information. By establishing a clear dividing line,

39
the system can solve the security problem by itself, and the firewall technology can be used to control
the security problem of the border effectively. In view of the security problems existing in the operation
of the current industrial control system, it is necessary to formulate the solutions and establish the
defense system with computer technology to form a security system, so that the system can
simultaneously carry out intrusion detection and do a good job of system protection and improve the
security of the system. Protect the ability. The immune function of the industrial control system is
exerted through the computer control platform. The information security system is set up inside the
industrial control system, and the collection function, the information communication function and the
control model of the data information are brought into the system. With the operation of the system, all
the information security functions can be fully played. Through the computer operation control system,
the safe operation of the control system can be effectively maintained. The industrial control system
builds the information security system for a long time and continues while playing its daily safety
management function; it also needs to upgrade in real time, fill the loopholes in time, do a good job of
updating the anti-virus system, and improve the running quality of the control system.
To sum up, information technology is widely applied in the industrial field, especially in the
industrial automation control system. In the process of industrial automation, the operation of industrial
enterprises is smoother, and the operation program is optimized, but it also needs to face the security
problem of the industrial control system. If there are security holes in the automatic control system, it
will inevitably lead to higher risk coefficient of automation control, which brings challenges to the field
of automation control. Therefore, the automation of industrial control system should focus on safety
issues, to ensure the stable and reliable operation of the control system.

4.8.2 RQ1.1 What types of software architecture are presented in the existing literature?
The existing industrial control system architecture includes the reference model proposed by
ISA-95[5], the overall framework of information system of Cisco, CPwE (converged plantwide ethernet
architecture)[6], a model of intelligent manufacturing ecosystem[7] proposed by NIST (National
Institute of Standards and Technology), RAMI 4.0 (reference architecture model industry 4.0)[8],
MIIT(Ministry of Industry and Information Technology) and SAC (Standardization Administration of
the People’s Republic of China) in China jointly issued the national intelligent manufacturing standard
system construction guide (2015 Edition) (hereinafter referred to as "the construction guide") the
intelligent manufacturing system architecture [9] and the AII (Alliance of Industrial Internet) the
industrial interconnection network architecture [10].

1 The ISA-95 standard reference model


[S1] [S2] described the ISA-95 standard reference model, as shown in Figure 4-7, is divided
into five layers, and the MES (manufacturing execution system, manufacturing execution system)
remains in the middle layer between the enterprise business planning layer and the underlying control
layer. In which the zeroth layer represents the process, usually refers to the manufacturing or production
process; the first layer represents the manual or sensor, and the corresponding actuator used to monitor
and handle these processes; the second layer represents a manual or automatic control action that keeps
the process stable or under control; the third layer represents the production of the desired product.
Workflow activities, coordination and optimization of production processes, maintenance of production
records, etc., which is the scope of the management of manufacturing operations, that is, the scope of
MES's attention; the fourth layer represents the various business-related activities required by the
manufacturing organization and management, including the establishment of the basic workshop
scheduling, the determination of the storage level and the timely adaptation of the material. The quantity
is suitable for production. The interface between the third and fourth levels is usually the interface

40
between factory production planning and operation management and workshop coordination. MES is
concerned with the manufacturing execution of an enterprise whose main functional scope corresponds
to the manufacturing execution layer; MES also considers the information interaction between the
business planning layer and the system selected by the process control layer.

Figure 4-7 The ISA-95 standard reference architecture model [S1]

2 CISCO's CPwE joint architecture


[S3] [S4] described CISCO's CPwE joint architecture, as shown in Figure 4-8, is an end-to-end
architecture from plant equipment to MES and business systems, as well as users and partners, with
predictable performance and system flexibility, compatible with mainstream industrial standards
(including ISA-95 and ISA-99). The CPwE joint architecture consists of three main blocks: the control
area, isolation area, and enterprise area, a total of 6 levels (0~5 level). The enterprise is divided into
enterprise network (level fifth), business planning network and logistics network (level fourth). The
isolation zone does not contain any level, mainly providing caching area for application and data.
Sharing, control is divided into production operation and control (level third), regional control (level
second), basic control (level first) and process (level zeroth). CPwE can realize network real-time control
and traffic isolation and management based on Ethernet/IP (Industrial Protocol) between 0 and 2 levels,
implement site operation and control and security management of multi-service network at level third,
implement application and data sharing, access control and threat prevention in DMZ (demilitarized
zone, isolation area) And implement enterprise IT integration collaboration and application optimization
at 4~5 level. With the popularity of wireless technology, CISCO has added the most advanced wireless
technology to the CPwE architecture. With the help of wireless technology, the industrial standard Wi-
Fi can be used to extend it to control applications, and the wireless operation is realized in the bad
environment of the factory, and the production equipment can be viewed through the mobile plate
electroencephalograph. This is very beneficial to increase productivity and speed up response and save
money without using cable.

41
Figure 4-8: CISCO's CPwE joint architecture [S2]

3 NIST's intelligent manufacturing ecosystem model


[S5] [S6] described NIST's intelligent manufacturing ecosystem model, as shown in Figure 4-
9, shows the three main manufacturing lifecycle dimensions of the standard across products, production
systems, and commerce, showing the three-dimensional space of the entire manufacturing system. NIST
refers to the common ISA-95 reference model, which is divided into four layers: the device layer, the
SCADA layer, the MOM (manufacturing operations management, the manufacturing operation
management) layer and the enterprise layer. The device layer contains commonly used Fieldbus and
sensors and actuators, corresponding to the first layer of the ISA-95 reference model. The SCADA layer
follows a series of standards such as IEC 61512 batch control, which is used for the control of field
devices, which is equivalent to the second level in the ISA-95 reference model. The MOM layer is
equivalent to the third level MES layer in the ISA-95 reference model. The enterprise level is focused
on the manufacturing standards at the enterprise level. There are some cross-layer standards on the right
to define the security of the manufacturing system (ISA-99), the quality management process (ISO 9000),
the energy management (ISO 50001), and the environment management (ISO 14000).

42
Figure 4-9: NIST's intelligent manufacturing ecosystem model [S5]
4 RAMI 4.0 Reference Architecture
[S7] [S8] [S9] described the RAMI 4.0 which shows all the key elements involved in industrial
4.0 in a three-dimensional model. As shown in Figure 4-10, industry 4 concentrates on the whole process
of product development and production. RAMI 4 describes the model from 3 layers. From the
architecture of the IT perspective, the left vertical axis borrows the hierarchical concept of information
and communication technology, which is similar to the famous ISO OSI seven-layer model, each layer
implements the relatively independent function, at the same time, the lower layer provides the upper
interface, and the upper layer uses the lower layer service. The second dimensions of the RAMI 4 model
(left horizontal axis) describe the whole life cycle and its associated value stream. This dimension starts
from the architecture of the business process perspective. The process here refers to the process of
production, the complete lifecycle from the planning to the design, simulation, and manufacturing, to
sales and services. The third dimensions (the right horizontal axis) of the RAMI 4 model, based on the
architecture of the application perspective, mainly focus on the manufacturing process control and
management functions of the products in the industrial production environment, based on the ISA-95
and ISA-88. Further, as industrial 4.0 concerns not only factories, workshops, and machines that produce
products, but also the product itself and the inter-enterprise synergy outside the factory, the "product"
layer is added to the bottom of the factory, and the "interconnected world" layer is added to the top of
the factory.

43
Figure 4-10: RAMI 4.0 Reference Architecture [S7]

5 Industrial interconnection network architecture


[S10] [S11] described the industrial interconnection network architecture includes the factory
internal network and the factory external network. As shown in Figure 4-11, the factory internal network
has two-tier three-level structure. The is the network of the factory IT network and the two-layer
technology heterogeneous network of the factory OT network; the three-level refers to the division of
the factory management level based on the intelligent manufacturing system architecture of Figure 4-
10, and the network is also divided into 3 levels, the field level, the workshop level, the factory level /
the enterprise level, and the network configuration and management strategies among each layer are
independent of each other. StandDŽ The factory OT network is mainly used to connect the production
site controller (PLC, DCS, FCS, etc.), sensors, servers, monitoring devices and other components. The
realization technology of factory OT network is mainly Fieldbus and industrial Ethernet. The factory IT
network is mainly composed of IP network, and through the gateway, equipment to achieve
interconnection and security isolation with the Internet and factory OT network.

44
Figure 4-11: Industrial interconnection network architecture [S10]

The factory external network mainly emphasizes that the industrial production information
system and the Internet are moving towards deep synergy and integration, including the integration of
IT system with the Internet, that is, enterprises hosting their IT systems (such as ERP, CRM, etc.) in the
cloud service platform of the Internet, or using IT software services provided by SaaS service providers.

4.8.3 RQ1.2 What types of software architecture are presented in the existing literature?
We summarized the functional requirements and non-functional requirements the new
architecture must support, as shown in Table 4-12 and Table 4-13:

Table 4-12 Functional requirements


ID Category Description Reference
1 data acquisition Collect data for the implementation [S2][S5][S8]
of industrial equipment.
2 data storage The collected data or the data [S2][S5][S8]
calculated by the system are stored
in the database.
3 data display The appropriate data can be [S2][S5][S8]
displayed on the interface so that the
operator can know the operation of
the system.

45
4 Data processing and The necessary data processing [S2][S5][S8][S9]
communication enables production planning to
proceed smoothly to control
production and ensure system
operation
5 system log System log includes system [S19][S20]
operation log and production
information log. The data will be
archived.
6 System anomaly The industrial control system must [S19][S20]
detection have abnormal detection function
and self-examination function to
ensure the safety of the system
operation.
7 Real-time data The information of the environment [S1][2][3][4]
monitoring
and line of the dynamic control
mode is collected, and then the
automatic control mode of automatic
control is realized by transferring
information and postposition
analysis module.

Table 4-13 Non-functional requirements


ID Category Description Reference
1 Extensibility High-quality software architecture is [S17] [S18] [S19]
the first stage to achieve high-quality
system software. It is the mapping of
the software function to the software
implementation structure, which
determines the quality of the
software architecture is crucial to the
quality of the system software.
Software architecture should satisfy
two requirements at the same time:
high quality and multi-function.
2 Robustness When the system software is wrong [S17] [S18] [S19]
in the running process, the system
should give the user the
corresponding prompt information or
have the corresponding recovery
mechanism to tolerate the user's
error.
3 security Under the condition of multi-user, [S21] [S28] [S29]
system software must ensure the
security of user data storage. When
designing software architecture, we
should give full consideration to user
authentication mechanism, access
restriction, user privilege level and
so on.

46
4 Sustainability System software should consider the [S23] [S25] [S28]
characteristics of 7*24 hour
operation, and design data backup,
data recovery, and other functions.

4.9 Validity Threats of SLR


4.9.1 Internal Validity
In order to obtain the most extensive and relevant literature in this field, we conducted a
large number of database searches and snowballs and completed a systematic literature review.
The systematic literature review is to find useful literature related to our research area [54]. We
have chosen 6 Internet databases, namely IEEE, ACM, Spring Link, Inspec, Scopus, Google
Scholar. The database is selected by consulting our supervisor and other experienced people.
In database search, internal validity may be one of the major threats to our research. For this
reason, we have developed a search string to reduce this threat. The search string is verified by
our supervisor. After verification, we started the search process. We have defined different
internal search strings for different electronic databases. We obtained a large amount of related
literature after applying the search string. By applying exclusion and exclusion criteria,
documents that are not related to the field of research in the field are excluded, for example,
there is no concrete description of the structural model. In addition, we have snowball sampling
to avoid the risk of prejudice. The purpose of snowballing is to prevent any important
documents related to this study. The snowball process takes place in iterations. Despite the
inclusion and exclusion criteria, we still cannot guarantee that 100% of the screening literature
will have a reference value for our research. Therefore, we defined treatment assessment criteria
to further filter the literature obtained through database searches and snowballing. The entire
system review process is conducted under the supervision of the supervisor.

2.9.2 External Validity


The threat to the external validity of research involves the extension of research findings
[67]. We cannot guarantee that we have mastered all the materials in our research field, but we
have taken concrete measures to reduce the impact of this threat. In order to further improve
search quality and minimize the threat of missing related articles, a post-rolling snowball was
used, including a reference list of selected preliminary studies to identify further relevant studies
[68]. A total of four studies used post-rolling snowball technology. In order to ensure the
universality of the system evaluation results, the investigation results were verified. Another
issue to consider is that in the snowball game, the same author or the same research can be
found. To reduce this risk, these studies were excluded. Other threats that may arise are the
possibility of losing important information from the literature. When focusing on
documentation, we can skip the information in the literature, which may lead to the lack of
important research information. To avoid this threat, we retained an Excel that lists each
important data and major study separately, avoiding the uncertainty of finding information
when needed. Data extraction forms help authors list information.

47
5 CASE STUDY: AUTOMATION CONTROL SYSTEM SOLUTION
AND SOFTWARE ARCHITECTURE
5.1 Case study description
5.1.1 The case and its context
Sydostpressarna AB is a large-scale printing plant with 200 thousand copies of the daily
newspaper production. This company was registered in 1934, today its revenue reaches 87,855,000 SEK
each year, and Profit reaches 3,667,000 SEK each year, the number of employees is 30. Recently, this
company considered stopping using the whole automation control system for production instead of a
new system. The reasons are as follows:
1. Some hardware devices in this company, such as stacking machines and inkjet machines, have
been used for more than 15 years. And the old system that controls these machines can only run on Win
XP operating system. However, Microsoft will not provide any security updates or technical support for
the Windows XP operating system anymore since April 8, 2014. There would be a security problem if
they decided to continue using the old system.
2. There have been some changes in market demand in the past 15 years. The backwardness of the
old system to some extent make it cannot meet the change and irritation of the requirements anymore.
Sydostpressarna AB commissioned our team to completely develop a new automation control
system that controls a major production line to replace their old system. And our team is the software
development team of DinCare AS in Norway. DinCare AS is an automation control software company,
which has advanced technology and rich experience in the field of automation control. At present,
DinCare AS mainly provide automation control solutions for various product lines to meet the
customers' needs for production, tracking and distribution. Thanks to Sydostpressarna AB and DinCare
AS, we got the chance to do the case study in an industrial context.

5.1.2 The Units of Analyses


The company commissioned our team to develop a new automation control system to replace the
old the system, the implementation of the new system depends on the architecture we are going to
design. Hence it was natural to choose the architecture of the project as the unit of analysis.

5.1.2 Planning
1. Methods of Data Collection

Several methods of data collection will be used because of the different activities taking place
in the case study, for examples, we need to extract production information data from the documents of
the system, user experience, and feedback information data from the questionnaires and data about
requirements of the new system from interviews. Therefore, we will use multiple sources of data. (e.g.,
documents, interviews, and questionnaires)

2. Methods of Data Analysis

There could be different kinds of analysis methods taken during the various stages of the case
study. We chose qualitative data analysis to be the primary method. Qualitative data analysis can be
useful to conceptualize research as the process of reducing our uncertainty about important phenomena
or questions [25].

3.Data Selection Strategy

48
We will collect production information data from the documents of the old system and the
new system and make a comparison and analysis. We will gather user experience and feedback
information from the interviews, the objects investigated are the staff in the printing house. We will
collect data about requirements of the new system from interviews; the interview objects can be the
manager or someone in charge and the staff in the printing house. Both of them are the stakeholders of
the project, and their suggestions are valuable and helpful for the development of the new system.

4. Case Selection Strategy

One of the strategies for choosing a company in the study context is to maximize the variation
sampling to get a context where the results can be generalized [28]. Another strategy is using
convenience sampling, which is choosing companies from the industrial collaboration network that the
study can get access due to the mutual trust [28]. In this study, we determined to take the second strategy.
We held a small-scale brainstorming session to discuss which of candidate companies could be suitable
to reach our research objectives.

5.Case Study Protocol

This case study protocol is inspired by P. Runeson et al. [23]. The case study protocol is used
to store some vital information which is relevant to the whole process of design and execution of the
study. Including the procedures, instruments, and events for this research, for examples, meetings and
interviews for the research, and what actions have been taken, etc. The data collection will follow the
protocol as well, to ensure that the intended data and valid data are collected. Several critical items of
the case study protocol are shown in Table 5-6. And the case study protocol will be kept in updating
during the whole process of the case study.

TABLE 5-6 Overview of the Main Sections of the Case Study Protocol

Case Study Description


Protocol

Preamble Description of the purpose of the protocol, guidelines for data and document
storage, and publication plan.

General Description of the overview of the case study and research method.

Procedures Procedures describe the details of conducting the case study, including
meetings, contacts, planning, and timing.

Research Interview and questionnaires, etc. will be used to ensure consistent data
instruments collection.

Data analysis Description of detailed data collection and data analysis procedures.

References Reference list.

Appendix Case study checklists, requirements list, and some relevant documents.

49
5.2 System Requirements Analysis
Software requirements analysis, also called system requirements analysis or demand
analysis engineering, is the developer through in-depth and detailed investigation and analysis,
accurate understanding of the functions, performance, reliability and other specific
requirements of the user and the project and transform the user's nonformal requirements into
a complete requirement definition. To determine what the system must do. Requirement
analysis is an important activity in the software planning stage, and it is also an important part
of the software life cycle. This phase is an analysis of what the system needs to "realize" in
function rather than how to "realize." The goal of requirementnalysis is to analyze and organize
the "requirements" or "needs" proposed by the development software, and then to form a
complete, clear and standardized document, and determine what functions the software needs
to accomplish and what to do. Also, some of the software's nonfunctional requirements (such
as software performance, reliability, response time, scalability, etc.), the constraints of software
design, and the relationship between running time and other software are also the target of
software requirement analysis. The architecture of software system largely depends on the
needs of the project. Good demand analysis is an indispensable part of software system
development. Requirements determine the trend of the system architecture. It even determines
the architecture pattern of the system.
The detail requirements specification is shown in Appendix 2.

5.3 The Design of Automation Control System Based on PAC


5.3.1 Introduction Machines of the Printing House
We only introduced main parts of the whole hardware system in this paper.
Gripper: Transport newspaper from upstairs to downstairs workshop for packaging.
Counter: Count how many newspapers have been produced.
Insert machine: A machine that inserts an advertisement paper into a newspaper.
Inkjet: A machine that prints the code or address to the newspaper.
Stacker: A machine stacking newspapers into bundle.
BA: A device that control printer to print the top sheet and press the top sheet on the top of
the bundle.
Plastic machine: Packing bundle over plastic.
Strap machine: Pack bundle with plastic strip:
Conveyor: Transfer bundle.
Pusher: Push the bundle going through the sensor.

5.3.2 Introduction of PAC


1. Functional requirement analysis of embedded PAC controller
With the rapid development of embedded processor and embedded system, the
performance of processing has been greatly improved, and the performance of the hardware is
improving by leaps and bounds. With the continuous enhancement of hardware and software,
the demand for the performance of industrial controllers is becoming higher and higher. At
present, the development of control system has the following trend [31].
1) High speed, high precision, and high performance:

50
Using faster speed processor, higher performance internal peripherals, and higher precision
sampling circuit can accurately obtain the feedback in the control system and quickly make
calculation and judgment, greatly improving the response speed of the system.
2) Unification and integration˖
The vertical integration of feedback, control, drive, and communication has become the
development direction of the current control system. Unification and integration are conducive
to coordination among all parts while enabling controllers to adapt to diverse needs.
3) Generality:
Many controllers in the industry have mature specifications, and signals and interfaces
between different control systems also develop in the direction of normalization. Hence, many
controllers can adapt to different control objects through standard interfaces and
communication signals.
4) Intelligent zed:
With the enhancement of the processing performance and computational performance of
the control system, a variety of parameters can be obtained at the same time. Many theoretical
control algorithms can be successfully transplanted into the control system. With the help of
diversified information acquisition control system, intelligent control of adaptive control and
fault diagnosis can be completed.
5) Networking and modularization:
Nowadays, the collaboration and information transmission between different control
systems have been greatly strengthened in the industrial control system, and the networking of
the system has also been popularized, RS-232, RS-485, CAN and even Internet bus are applied
to the system gradually. Networking has become an important symbol of the modern controller.
At the same time, the module partition in the control system is clearer. Software and hardware
are divided into different modules according to their functions.
Therefore, in the performance requirement, the embedded PAC controller needs high-
performance operation processor to meet the high speed and high-performance requirements.
The integrated multi-channel high-speed sampling ADC controller meets the needs of the field
simulation sampling and completes the front-end data acquisition in the industrial field and can
collect data from the common sensors. The common output signal of the sensor is a 0~24V
voltage signal, 4~20mA current signal, and sensing signal that changes through resistance value,
such as temperature sensor PT100 and so on. Besides, the complex artificial intelligence
algorithms, such as fuzzy control and neural network control algorithm, are integrated into the
system to meet the increasingly complex control requirements of the industrial field and have
higher intelligent processing capability. Also, it integrates rich communication network
functions to enhance cooperation and information transfer capability between control systems
and provides hardware support for better network control and remote monitoring.

2. Function performance index of embedded PAC controller


1) Ethernet interconnection:
In the modern society of the network, the rapid development of the Internet has also led to
the reform of traditional industrial control. Therefore, the existing traditional controller can be
added to the network interconnection and intercommunication function to meet the needs of the

51
times. The Ethernet communication interface is added for networking, remote control, and
status display between different controllers and remote computers.
2) Extensibility:
Due to the complexity of industrial field application requirements, a single controller is
often unable to complete the control capability. This requires the construction of a set of
extensible controllers, which are connected to a remote computer by Ethernet or serial bus
according to the requirements. These controllers are organized to work together through remote
PC control software.
3) Parameter programmable characteristics:
The parameter setting of the controller is not fixed. This requires that the parameters of the
controller can be set flexibly, the remote parameter setting of the controller is combined with
the host computer software, or the web service is provided by the controller itself. Through the
communication network, we can download the parameter configuration information to the
controller and realize the flexible configuration control for the controller.
4) 16 channel signal input function:
In industrial field applications, a variety of analog signals need to be collected, such as
pressure sensors and temperature sensors, etc. To obtain more accurate sampling signals, 16
analog inputs can be converted into eight path differential signal inputs, such as the PT100
temperature sensor. The analog signals that can be collected are 4~20mA current signal, 0~24v
voltage signal and sensor signal with resistance value changing characteristics.
5) Eight channel signal relay output function:
The operation of the external equipment can be controlled by controlling the switching
state of the solid-state relay, such as the use of the PWM control relay to control the heating
power of the electric heating furnace.
6) The variety of communication functions:
It has RS485 and RS232 serial communication function, using RS232 for state information
output printing, and also can connect the industrial serial screen to display state. RS485 is used
for remote host computer control, as RTU terminal; a CAN communication is used for long
distance and effective communication; the Ethernet interface is used for networking and remote
monitoring of different modules.
7) Self-diagnosis for running fault:
The controller is required to analyze and process according to the detected sensor data,
judge the reason for the fault and issue the corresponding alarm signal. There are indicator lights
in the controller to show whether each module is running normally.

5.3.3 Physical (depolyment) Architecture of the Automation Control System


The physical system architecture is shown in Figure 5-1, where we use (Programmable
Automation Controller) PACs to connect all digital inputs and outputs from TTR, Inkjet,
Gripper, Stackers, BAs, ABMs/BLCs and TLCs. And then we connect all PACs by Ethernet
cables to the switch and server cabinet. Inside the server cabinet, we have placed to UniMail
servers. One is the primary server, while the other one is the secondary server.
The UniMail Server has connected to two Network interfaces, one is on the production
network 172.22.22.x/24, while the other one is on the office network 10.45.6.x/24. So, the
UniMail server can be reached by both production network and office network.

52
The UniMail Server is running with Microsoft Windows 2016 standard, and it has the
latest Microsoft SQL database server installed with the version 2017. On the UniMail Server,
it runs an integrated controller application, which has two-line controller, four top sheet &
printer controller, two Tracking controller, and two Loading controller, while these controller
applications are communicating with all the PACs shown in Figure 5-1. In additional to all the
controller applications, there is also a Report application running on the UniMail Server, it
manages the reporting service each night after production, and send email to mailing lists.

53
54
Figure 5-1 System hardware deployment architecture

5.4 System Architecture
5.4.1 System architecture
We describe our architecture in 3 aspects. The first is the hierarchical structure of the whole system,
which can be regarded as the development view, and describes the static organization structure of the
software in the development environment. We use a layered style to define 7 subsystem levels. Each
layer has a well-defined responsibility. Design rules are subsystems that depend on the same layer or
lower layer of a subsystem, thus minimizing the development of network with complex module
dependence, and getting a simple hierarchical strategy. The whole system is divided according to the
control level. It is an end-to-end architecture from plant equipment to MES (Manufacturing Execution
System) and business systems, including users and partners, with predictable performance and system
flexibility, compatible with mainstream industrial standards (including ISA-95 and ISA-99) [56].
This architecture is shown in Figure 5-2; it refers to the joint architecture of CISCO's CPwE. The
biggest difference lies in the middle service layer and the control layer of the lower computer. The
architecture of this system is divided into 2 parts, 7 layers, and the lower four layers are PAC control
system, which mainly control the operation of various mechanical equipment, and collect industrial data,
and the upper three layers are Production control and enterprise applications. Level4 is a service layer
that mainly provides the cache area for the sharing of applications and data. There are 2 databases, and
Production database is used to store data from the lower layer and produce real-time data and provide
services for the lower layer. Center database is mainly enterprise database, which provides services for
the upper level applications. The service layer is the bridge of the system. It connects the two layers up
and down and establishes a complete industrial control system from production to management.

Figure 5-2 Automation control system architecture based on PAC

55
Hierarchical technology is an important means to cope with the increasingly complex software and
the continuous expansion of functions. Through the use of layered technology, many complex problems
can be divided, simplified, translated into specific application functions, derived from multi-layer
structure and middleware technology, and the role of the software development activities is becoming
increasingly prominent. With the increasing application complexity of embedded system, it is the key
to improve the efficiency of software development, efficiency and maintenance efficiency by using
layered technology to design the embedded system reasonably.
The purpose of stratification is to better decompose the needs of development, distinguish the
software function level reasonably, divide the software into different modules of concept and function,
determine the relationship between different modules, so as to realize the complex software system
function. In the layered design of the software logic architecture, the following three principles are
generally followed: one is that the hierarchy is divided into the function granularity and the possibility
of reuse. Each layer solves the different problems. The lower layer should be able to provide support for
the upper application, such as the environmental temperature monitoring function, which can be divided
into data collection layer from concept. The processing layer, display layer and so on are progressively
implemented; two the correlation between layer and layer is as small as possible to ensure that the
software design of one layer has problems, which will only affect the upper and lower structures of the
layer, and will not affect the whole of the software system (for example, the display layer does not deal
with or modify the temperature data, and avoids the impact of the whole system. The three is that each
layer is divided into modules according to the task decomposition, function optimization, and reuse
degree, so as to achieve the high cohesion and low coupling of the software function. In theory, the
simpler the function is to decompose, the easier it is to realize, the higher the repetition frequency will
be, but the over refinement of the target will make the complexity of design management and function
scheduling up rapidly, so it is generally divided into a concept that can complete a function
independently and the degree of appropriate relevance to other functions.

5.4.2 Software deployment architecture


The whole control system includes six parts: Unimail-Client, MainController, Line
Control, Loading Control, Tracking Control and Topsheet Control. Line control is a universal
stacker control system. Topsheet Control is sub-system used to control the printer to print the
top sheet of the bundle and control the arm machine to press the top sheet to the top of the
bundle. Loading control is a comprehensive sub-system for managing bundle flow from
stacker lines to trucks. Tracking control provides real-time production overview and copies
flow analysis. The whole system is implemented by combining B/S and 5-Tire hierarchical
architecture. The physical deployment is shown in Figure 5-3.

56
Figure 5-3 Software System Deployment
Tracking Control, Line Control, Topsheet Control and Loading Control are running on the
PAC, these four sus-systems mainly communicate with various kinds of machines such as
Stacker, Inkjet, etc. PAC are connected to these machines with signal cables, we can get the
signal data to judge the current status of these machines. For example, the conveyor belt, when
it is running, it will send a high 24v signal to the PAC, then the corresponding signal light on
PAC will be bright. We can get the input signal by calling a common interface function
DI_16(Slot_ID) of the embedded system. This function returns a value of 2 bytes, which is
displayed by bit. The value of each position shows the state of the corresponding signal. The
parameter Slot_ID represents the current slot in the PAC; there are three slots in the PAC, two
of them are used as the input module, one is used as the output module. For example, we call
DI_(0), it returns a value of 5, namely 0000 0000 0000 1001 in binary. Then we know the DI0
and DI4 are bright in the first slot in the PAC. Besides, the sub-system will control these
machines in the production by the output module.
Unimail-Client is a client application which normally operated by the operator of the
printing house to import production manifest, assign production tasks to the stacker, start Inkjet,
change or reload Inkjet parameters, etc. Besides; it can monitor the dynamic information of
hardware in production in real time. Unimail-Client acquires this information through the
communication with Maincontroller which is running on the server.
Maintroller is the core of the whole control system which is running on the server.
Maincontroller is responsible for the scheduling of the entire system, which allows the
subsystems to coordinate their work, obtain the status information of each subsystem, accept

57
requests from each subsystem and make a response to keep the whole system running. If
Maincontroller is the same as the human brain, then these subsystems are the organs of the
human body. The industrial network based on TCP/IP keeping the communication between
Maincontroller and subsystems (Line Control, Loading control, etc..) is just like the human
nerve, which is responsible for the communication between the organs and the brain, sending
the state of each organ to the brain, and the brain directs the work of various organs.

5.5 PAC control system (Lower layer control system)


This part mainly describes the real-time software framework of the PAC control system. First, the
general software and hardware requirements of real-time systems are analyzed. Then, the four-tier
software architecture commonly used in embedded real-time software based on PAC is expounded.
Finally, a component based embedded real-time software framework is proposed.
5.5.1 Introduction of embedded real-time system
The real time system is characterized by the serious consequences that will arise when the
logic and timing correctness of the system are not guaranteed. At present, there are two kinds
of real-time systems: software real-time system and hardware real-time system. In a software
real time system, tasks are executed as quickly as possible, but these tasks do not need to be
completed in a specific time. In a hard-real-time system, the task execution process must be
correct and must be punctual. Most real-time systems are the combination of software and
hardware requirements. Real time applications involve a wide range of applications, but most
real-time systems are Embedded. This means that the computer is built into a system so that
users cannot see that it is a computer.
The embedded real-time software design uses 4 levels of architecture: device layer, driver
layer, control layer, and mid layer.

Device level: device level, which refers to all mechanical equipment, which is connected to
PAC communication slot and controlled by PAC.

Driver layer: mainly consists of two components, peripheral drive and operation system.
Peripherals drive the lowest level of drive, direct drive hardware, the development of this layer
is generally provided by the chip manufacturer, or simply adopt code transplant or only slightly
code modification. The operating system provides the running environment for the software.

Control layer: this layer realizes the tracking, monitoring and automatic control of production
process through core functions and algorithms.

Mid layer: as long as it contains two components: middleware and communication.


Middleware modules have been directly related to functional modules, but they are not
associated with specific applications, and users can make the functional modules meet the
requirements of the project by configuring middleware. The communication part provides a
protocol to communicate with other external systems.

58
5.5.2 Framework model
Through the analysis of embedded real-time software architecture, this paper proposes a
component based embedded real-time software framework, which is named RF (Real-time
Framework), as shown in Figure 5-4.

Figure 5-4 Framework model for PAC embedded system

In the framework model structure, the components and relationships between these
components of the embedded real-time software application framework are included within the
boundary. Outside the boundary are elements that are not part of the frame, that is, boundary
elements. They are inseparable from the frame.
The elements of the framework include interfaces, components and extension points.
Interface determines the foundation of the framework, and ensures the portability of the
framework, including the hardware driver interface and the operating system interface.
Components, including infrastructure layer components and component layer components, are
highly reusable parts and are the core of the framework. The extension point ensures the
flexibility of the framework, which embodies the variability of the components and the whole
framework, and provides a mechanism for extending the application.

1. Platform interface

59
In order to ensure the portability of the framework, the framework depends on the interface
of the platform without depending on the specific implementation. Therefore, when the
framework defines the interface of the platform, it needs to implement the framework interface
first.

2. Component library
The embedded real-time software framework is developed based on components. The
component implements the requirements of the public function of the application system, has a
powerful performance interface, and the logic function and concrete implementation of the
component are hidden, making the framework convenient for the replacement of the same
components of the interface to meet the needs of the function update. The framework is based
on component design, so that the embedded real-time software application framework has
strong flexibility and maintainability. Component library includes middleware component,
communication component, database connection component and so on.

3. Extension point (Hot-spot)


The domain that a framework faces is variable, and the framework must provide necessary
support for the changing nature of the domain. The framework model determines the basic
framework of the framework, the elements and the relationship between the components, and
introduces the extension point (Hot-spot) mechanism to support the flexible development of the
framework, which is in line with the implementation of the specific requirements of the
application system. Extension points include HMI extension points and application extension
points.

5.5.3 PAC control system implementation

5.5.3.1 Device layer


In this case, the signal graph of all machines connected to PAC is shown in Appendix4.
In the lower computer control system, due to the limitation of the number of PAC signals
used, and for better development and maintenance, multiple PAC is adopted for different
functional modules, and different functional modules are controlled by different PAC.

5.5.3.2 Driver layer


Drivers are generally provided with chip manufacturers, such as SPI, I2C, GPIO, UART,
Timer, A/D, CAN, RTC, watchdog, etc. because the driver code and the programming style of
each vendor are largely inconsistent. So, the framework provides a unified definition of driver
to satisfy the upward consistent call interface. The components that the driver interface layer
contains are shown in Figure 5-5.

60
Figure 5-5 Peripheral driver

1. RF_SPI
SPI, Serial Peripheral interface. As its name implies, the serial peripheral device interface
is a standard four-line synchronous bidirectional serial bus. Motorola is first defined on the
MC68HCXX series processor. RF SPI provides the driver component of RF SPI to manage
SPI communication protocol uniformly. There are many devices driven by SPI, such as:

x External FLASH storage


x LCD.
x Real time clock

2. RF_I2C
I2C (Inter-Integrated Circuit) bus is a two-wire serial bus developed by PHILIPS, which is
used to connect microcontrollers and peripherals. The two lines, serial data (SDA) and serial
clock (SCL) line transfer information between devices connected to the bus. Each device has a
unique address recognition (whether it is a microcontroller one by one MCU, an LCD driver, a
memory or a keyboard interface), and can all be used as a transmitter or receiver (determined
by the function of the device). Obviously, the LCD driver is only a receiver, and the memory
can receive and send data. Besides the transmitter and receiver, the device can also be
considered as a host or slave when performing data transmission. The host is the device that
initializes the data transmission of the bus and generates the allowed clock signal. At this point,
any addressable device is considered a slave. RF I2C provides I2C driver components for
unified management of I2C communication protocol. The use of RF I2C is basically the same
as that of RF SPI, and it is also a driver level component layer.

3. RF_GPIO
GPIO, namely General-Purpose Input Output, each GPIO port can be configured
separately into input or output by software. It provides push-pull output or drain open output.
RF_ GPIO is mainly used for repackaging GPIO drivers.

4. RF_UART
UART: Universal Asynchronous Receiver/Transmitter. It is a universal serial data bus used
for asynchronous communication. The bus bidirectional communication can realize full duplex
transmission and receive. DART first converts the received parallel data to serial data for
transmission. The message frame starts with a low bit starting bit, followed by 5}8 data bits, an
available parity bit and one or several high bits stop bits. When the receiver finds the start bit,

61
it knows that the data is ready to send, and attempts to synchronize with the sender clock
frequency. If you choose parity, UART adds odd and even bits behind the data bits. Parity bits
can be used to help error checking. In the receiving process, UART removes the start and end
bits from the message frame, performs parity check on incoming bytes, and converts data bytes
from serial to parallel. UART also generates additional signals to indicate the status of sending
and receiving. For example, if a parity error is generated, UART places parity marks. RF UART
is mainly used to repackage the UART drive.

5.5.3.3 Control layer


The function of the control layer is to control the underlying hardware devices and control
the production. This paper takes loading control as an example to introduce how the control
level is implemented. The control layer can communicate with the device through the driver
layer, so as to achieve the purpose of control. It communicates with the upper application,
database and Maincontroller through the mid layer.

1. Loading Control introduction


The main function of loading control is to send the packed bundle to the designated dock
correctly. In this case, we have four docks controlled by our system, which is Dock2, Dock3,
Dock4, Dock5. Each dock's location with a corresponding pusher and there is a sensor set up
in front of the pusher. When the packaged bundle passes through the sensor, the system will
judge whether the bundle belongs to this dock, if so the pusher will push the bundle into the
dock. We will define a default dock. When unknown bundle passes through, we hope it will be
pushed into the default dock. The unknown bundle is often caused by the fact that scanner does
not properly scan the barcode from the top sheet of the bundle.
Loading control is a comprehensive sub-system for managing bundle flow from stacker
lines to trucks. The loading control includes the following features:
1) Start/stop of conveyor loading with bundle jam detection
2) Traffic control for bundles entering main loading conveyor from stacker lines
3) Barcode scanning and identification of bundles without barcode
4) Bundle tracking and delivery to the correct vehicle
5) Software for public displays with loading status for each dock

2. Function introduction
Loading.c is a C program running in loading PAC and Loading.c controls the entire
loading system, including the Conveyer switch, the bridge up and down, the Bundle scanning
and identification, and pusher control. The main functions in Loading.c are shown in Table 5-
1:

Table 5-1 Functions in Loading.c


Function Name Function Description Function Name Function
Description
check timeout Check communication time ResetBridgeMove Reset bridge move
out

62
Initialize Initialize PAC state MoveBridgeDown/Up Move bridge up/down
information
Write87K_DO used to write 87K DO GetBridgePosition Get bridge position
modules
InitializeNetwork Initialize network BridgeControl Bridge control
communication
ReInitializeNetwork Re-initialize network StartStopControl Start/Stop control
killsockets End socket connection StartHornOnOffControl Start horn on/off
control
ResetVariables Reset all variables ResetControl Reset control
ResetTracking Reset Tracking module EmergencyRedOnOffControl Emergency on/off
control
GetDigitalInputs Get digital inputs signal RequestBundlePosControl Request bundle
position control
GetDigitalInputSlot Get digital input slot id GetBundleQIndex Get the index of
bundle queue
GetDigitalInputPositionTrigged Get digital input position GetPosTrig Get position trigger
trigged
SetDigitalDOValueSlot Set digital DO value slot GetPosReady Get position ready
SetDigitalDOValue Set digital DO value PusherMaintainControlOne Control one pusher
maintain
ResetDO Reset DO PusherMaintainControl Control pusher
maintain
forceclosesocket Close socket forcedly PushOneControl Control one push logic
SetBundlePosition Set bundle position PushAllControl Control all push logic
SetNormalMode Set current working mode PositionOneControl Control one position
SetOutputTestMode Set current mode into output PositionAllControl Control all position
test mode
SetTrackingTestMode Set tracking test mode BundleQueueIn Bundle queue out
SimulateDigitalInput Digital input simulation BundleQueueOut Bundle Queue in
SimulateDigitalInputControl Control simulate digital InfeedQueueIn Infeed queue in
input
TrackingTestControl Control tracking test InfeedQueueOut Infeed queue out
SetScannerTestMode Set scanner into test mode InfeedTLCPosControl Control infeed TLC
position
SetCalibrationMode Set calibration mode InfeedThrowControl Control infeed throw
decode_msg Get decode message InfeedControl Control infeed
User_Program User program ReadBarCode Read barcode
ClearBufferComPort Clear buffer com-port by id StartScan Start scanning
GetMsDifference Get message by difference StopScan Stop scanning
OutputTestControl Output test control AddCurrentBarcodePacket Add current barcode
packet
Open/CloseDoorAndPowerOnScanner Open or Close door and ScannerControl Control scanner
power on scanner
KeyBoardTet Keyboard input test ScannerPosControl Control scanner
position
DockStatusControl Control dock status SetSetupVariables Set setup variables
Main Main function running on
PAC

The main function flow chart of Loading.c is shown in Figure 5-6

63
Figure 5-6 The main function flow chart of loading

64
5.5.3.4 Mid layer
Mid layer consists two parts, Middleware and Communication component. Middleware is
part of the mid layer, software between operating systems and applications, platform
independent software, and a set of software that does not depend on the hardware platform. The
components contained in the middleware are shown in Figure 5-7.

Figure 5-7 RF_MIDDLEWARE component


1. RF_Database
System tasks usually need to exchange data, and components and components usually need
to exchange data. The RF DATABASE component provides a channel for sharing data for the
entire platform and system, and its external access interface is open to the infrastructure layer,
domain layer, and application layer. In order to ensure the atomic operation of data read and
write, the database must first acquire semaphore then execute read/write operation.

2. RF_Record
The RF_RECORD recording stack component is mainly used to process all data processing
related to data recording, such as operation records, alarm records, etc. The record is not the
same as the database update. The data update in the database updates the old data in the database
with the new data, and the data records need to record the new data in addition to the old data.
RF_RECORD components manage records in the form of record stack. RF_RECORD
components contain multiple record stacks, which can be configured according to memory size
and requirements. Each record stack has a fixed size (determined by user size and memory size).

3. RF_Parameter
In an embedded real-time system, some parameters need to be stored in a memory that is
not lost in EEPROM and so on. When it is initialized, it is transferred from memory to memory.
When there is any modification, it should be stored in the memory. When the memory is wrong,
there is a default value to be used. The RF_PARAMETER parameter component can solve this
problem.

4. RF_SMARTDATA
In embedded real-time applications, this is often the case: there is a range of data. For
example, the copies amount of a bundle is between 0-100. The number of seconds of the time
is between 0-59. We have to do some treatment beyond the scope. Smart data is used to solve
this kind of problem. Smart data is a class in the framework, which needs to be instantiated in
practice.

65
5. RF_TIMER
RF manages the time through the RF_ Timer. The basic ways to use these timers are as
follows. An object assigns one or more RF_ Timer objects to provide storage space for them.
When the object needs to arrange a timeout, it arranges the timer to generate a timeout event.
This timer provides two ways to achieve the goal: RF_Timer_CfgTime () sets one or more
timeouts. Each timeout request has a different timer, so RF applications can make multiple
parallel requests (from the same or different active objects). When RF detects that the
appropriate time has arrived, it will insert the request timeout event directly into the
recipient's event queue. The receiver then processes the timeout event just like any other
event.

5.6 MainController
Maincontroller is an application that runs on the server, and the main task of the
Maincontroller, the core of the whole control system, is to receive data from each module and
to process and respond. For different modules, Maincontroller will open different threads to
work independently, without disturbing each other, to ensure the stability of the system. The
main working principles are as follows.

Figure 5-8 Maincontroller working principle diagram

5.6.1 Selection of communication protocol for data transmission network


TCP/IP protocol is the most widely used network communication protocol at present,
and it is also the basis of our construction of Internet. Figure 5-9 is a hierarchical structure of
the TCP/IP protocol family. The application layer provides a set of common applications to the
user. The transport layer is mainly to provide communication problems between the
applications. The network interconnection layer is mainly responsible for the communication
between computers. The network interface layer provides a way to connect the network layer
of the device.

66
Figure 5-9 The hierarchy of TCP/IP protocol
The network communication protocol selected in this paper is selected from the
transmission layer. The protocol of this layer is more flexible and programmable than the
application layer. Unlike the other two layers, it is the bottom of the protocol and the
programming process is more complex. The UDP protocol is a user datagram protocol, which
is a connectionless transport protocol. Unlike the operation of the TCP protocol, there is no
connection between computers. Like broadcast, the conditions required to meet the connection
can be simultaneously accessed. Each packet sent contains a complete source and destination
IP address, and the port number [42] that identifies the application layer involved in data
exchange. The TCP protocol is a reliable communication protocol for connection and port to
port, and many transmission mechanisms are adopted to ensure the reliability of transmission.
Through the analysis of the characteristics of the UDP protocol and the TCP protocol of the
transmission layer, the ASP platform server is in the public network and has a fixed IP address,
and the data is reliable. Therefore, the data transmission mode should adopt the TCP protocol.

5.6.2 Socket Communication Analysis and Research


Whether TCP protocol or UDP protocol, Internet communication adopts socket
communication mode. The socket is a bidirectional communication port [43] widely used in
network communication process. The data communication of the background service program
is the key to ensure the stable operation of the remote monitoring system. The service program
should choose a suitable communication mode for the data sent by the embedded
microcontroller to receive the monitoring center data server and store it in the corresponding
database. Hence, we need to use Windows Sockets technology. In this paper, the working
process of Windows Sockets network programming interface is analyzed, and then the process
of breaking point renewal principle is analyzed in detail.

5.6.3 Windows Sockets Network Programming Interface


Windows Sockets is a programming interface for Microsoft to realize communication
based on TCP/IP technology for personal computer and server system. The interface provides
a mechanism for sending and receiving data. Each Socket communication contains both the
client (Client) and the server side (Server), and the connected Socket must have its independent

67
process. At present, two types of sockets can be used: Datagram Sockets and Stream Sockets
[44]. The data types of the two kinds of sockets are different. Because the datagram socket uses
the user datagram protocol (UDP), we do not do a lot of explanation.
The biggest advantage of the stream socket is that it is not only a safe and reliable
connection-oriented transmission but also a sequential transmission and sequential transmission.
For large data files, the stream socket transmission mode can be sent in sequential order by
sequential transmission mode to multiple packets in sequence, and then sent to the other end in
order, and then merged into a complete data file according to the order of reception, which is
essential to the realization of the broken point renewal function.
It is necessary to point out that the Socket class under the Microsoft.NET Framework
implements the Berkeley socket interface, which not only provides a rich method and property
for network communication but also allows you to use any communication protocol listed in
the Protocol Type enumeration to complete synchronous data transmission and asynchronous
data transmission. Next, we analyze the basic functions and flow of flow socket. Table 5-2 is a
description of the Socket function.

Table 5-2 Function Description in Socket Class


Function Function Description
Name

Socket Constructor, which is used to create a socket class

Bind Bind socket to a local network node, including IP and network port number.

Listen Used to host the server program in the listening state and wait for the client's
connection request.

Accept It is used to host the server program in the listening state and accept the connection
request of the client to instantiate the new Socket for the new connection.

Connect It is used for sending connection requests to the host through the network node or
host address and port number.

Send Send data.

Receive Receive data.

Close Close the socket connection

The flow socket uses a communication mode based on TCP protocol. Before the data is
formally transmitted, the user must first establish a connection through the network address,

68
port number and protocol type, and then send and receive data in the data stream in a separate
process.
It includes the establishment of two Socket connections, one of which Socket is used to
monitor the client's connection request. After each client, the host and the client have three
handshakes, the host generates a new Socket and establishes a new process to complete the data
communication. When a client connects, the general usage of stream socket is shown in Figure
5-10.

Figure 5-10 The communication flow chart of the socket

5.6.4 Socket Programming


Because the communication part of the system contains the client and server side, the
communication program also contains two parts. At the PAC side, we are currently using an
embedded Ethernet controller with a full hardware TCP/IP protocol stack, which enables
embedded systems to easily connect to the network through the SPI interface. The PAC terminal
is configured as a client mode, and the data packets are sent to the server side through IP address
and port in the Ethernet of access control field. The format of data packets is custom defined,

69
and the number of related numbers is obtained by server unpacking. The client-specific process
is shown in Figure 5-11.

Figure 5-11 PAC terminal communication flow chart

After the initialization of the client Ethernet controller, the port is initialized and connected
to the server by the TCP/IP protocol. By interrupting the processing function, the Ethernet
controller completes the SPI interface data to the Socket interface data communication. When
the port receives the control, signal sent by the server, the program completes the master control
function. If the data is not received, the real-time data is sent by the timing value. When the
timing time does not arrive, it will return to the connection port configuration, and the time will
arrive, and the client will send real-time data. However, it is necessary to determine whether
the connection is normal. First, the real-time packet is sent under normal circumstances, and
then the cache data is saved when the communication is interrupted. When the data is cached,
the cache data is sent and the end address of the data is recorded before the maximum allowable

70
time. When the connection is not normal, the program reads the address of the data in storage
space, then saves the data and records the data node address.
The server of this system uses the Socket class of Microsoft.NET Framework to connect
with the remote terminal equipment, and exchange data through the data control protocol (TCP).
The server must first have a fixed IP address, and meet the access of many clients, and establish
independent communication process and data cache space for each client. Each communication
client data is saved independently, and the real-time data interface and control interface of each
client are also held. Through our analysis, we design the main workflow of the system server,
as shown in Figure 5-12

Figure 5-12 Server-side communication flow chart

After loading some fixed parameters, the server instantiates a Socket class to monitor and
save real-time data by defining the global cache address. Here, a Public type structure array can
be selected as the global cache address. After client access, instantiate a new Socket class and
open up a new program process. After receiving normal data, determine the type of data. If it is
real-time data, in addition to the cache address that is stored in the database cache, the real-time
data is saved through this address, and the interface is left to the monitor program. If the data
before the network interrupt is saved directly to the database, the address of the current data is
recorded. When sending instructions, first judge whether the connection is normal, and then
send the instructions to the client. When the connection is abnormal, the process and connection
must be closed, and the connection is re waited for the connection exception.

71
5.6.5 Analysis of Data Characteristics
In the general industrial control process, the capacity of the transmitted data is determined
by the number of channels activated by the system and the acquisition rate. The more the
number of activated channels, the faster the acquisition speed, the greater the amount of data
transmission. At the same time, multiple acquisition systems can share a data transmission
system. Therefore, in the process of data transmission, the amount of sensor data that needs to
be stored in the monitoring center server will be relatively large. Taking a sensor data every 1
seconds as an example does not contain time and sensor ID, one sensor data accounts for 4
bytes, then the number of bytes per day is 337.5KB, and the number of bytes per year is about
120MB. If the time and ID value are taken into consideration, the amount of memory occupied
will be 3.5 times as much as the number of data, that is, 420MB. This is quite large for the
storage space used by a sensor. If the number of sensors is much more, or the collection system
of the same transmission system is shared more, and the time and the ID value of the sensor are
added, the pressure of the storage space of the server is larger. At the same time, a large amount
of data will greatly affect the efficiency of query analysis. Therefore, it is very necessary to
process the data and save it after the sensor data is stored in the database.

5.6.6 Data Processing Methods


The data collected by the acquisition system has its unique characteristics in different
working conditions. Sometimes, the data of some sensors have little change, and some sensors
vary greatly under the same working condition. The data that the server wants to save is useful
for our analysis system. For those that repeat the same data, or the range of change is very small,
we can accept the data within the range of error we can delete before saving, which can greatly
reduce the data space occupied by the data. Because this method uses a lossy compression data
processing method, the precision of the restored data is determined by the value of the error
range allowed by the parameters, so we must set up the maximum allowable error for each
parameter value in the backstage configuration page.
The specific idea of data compression processing is to install related service programs on
the data server. The main function of the program is to establish independent items for data
collected by each analog board. Each project has an independent target database and cache, the
collected data is stored in the cache, and each sensor data sets the only ID. The program
performs a data processing task at each point, reads the data from the cache space, loops through
the changes of each sensor data, and compares it with the maximum deviation value allowed
by each sensor data set in advance. If the data is changed in this range, the collected data is
deleted, and if the change is outside the range, the data is saved to the database and the data in
the cache is deleted. Also, in the process of data analysis, the emphasis is on the average value,
maximum and minimum of the sensor in a certain interval (1 minutes). Therefore, the selection
of a suitable interval to calculate the specific value to the database can greatly reduce the time
of the historical data display.

5.6.7 Framework and Module Introduction of Data Processing Program

72
The data processing program mainly includes Data Service data preprocessing program
and Data Service main service program. We integrated the development environment's
functions, and generated the general skeleton diagram of the service program by class, as shown
in Figure 5-13.

Figure 5-13 Framework diagram of service program


Data Service consists of AppǃSettingsǃMain WindowǃProject InfoǃMinute Processorǃ
Repeat ProcessorǃSensor DateǃSQLHelperǃProcess Reporter, Data Service
Consists of ProgramǃData ServiceǃMain WindowǃMinute ProcessorǃRepeat Processorǃ
Sensor DateǃSQLHelperǃProcess Reporter.
Data Service data preprocessor is one of the main modules of Maincontroller, which is
mainly used to unify unprocessed data. It is a WPF based form program. The App class is the
basic class, and the App is the entry class of the program, which specifies the starting form of
the program: Main Window, Project Info is used for obtaining items. Eye information. For
service programs, Program is the entry of service programs. Therefore, the remaining Minute
Processor, Repeat Processor, Sensor Date, SQLHelper, Process Reporter class are our main
analysis and consideration modules.

1) Minute Processor class is used to process minute data.


2) Repeat Processor class is used to process minute data.
3)Sensor Date class is the base class of sensor data, including the read and write
operations of sensor data.
4) SQLHelper class is a database operation class.
5) Process Reporter class is used to save records of data processing.

5.6.8 Design of data processing core class


The most important task of data processing is the processing of repeated data and the
calculation and preservation of the minute data, so we focus on the detailed design of the Repeat
Processor class and the Minute Processor class.

5.6.8.1 RepeatProcessor Class


The Repeat Processor class contains two public functions: The ProcessAllProject and the
ProcessTheProject two functions, which are used to handle repeated data of all projects and to

73
deal with duplicate data of the corresponding items, which are the most important functional
functions in the class. Each item corresponds to data collected by a PAC controller. As each
PAC controller collects data stored in different databases, we need to find relevant information
in the basic database table. The Process All Project function is the most important function in
the whole class by querying the underlying database, judging existing projects, and
recirculating the Process, The Project functions.
1. Function call relation
The function call relation is shown in Figure 5-14:

Figure 5-14 The function call relation of RepeatProcessor


2. Member analysis
The main members of the Repeat Processor class contain variables, attributes, events, and
functions. Their specific members and functions are as follows:
There is only one common attribute in the Repeat Processor class, public bool To Stop,
used to stop the handler, it is an external variable that can only write access and unreadable.
Public event Process Reporter on Process Reporter is an event used to send report events for
external calls. Public Repeat Processor () is a constructor for instantiating duplicate data
processing classes. Other major variables and functions are shown in Table 5-3 and Table 5-4.

Table 5-3 RepeatProcessor main variables table


Variables Name Description

Private SQLHelper SQL Used to connect the temp database and store
Helper_temp caching data

Private SQLHelper SQL Used to connect the project database


Helper_pjt

Private SQLHelper SQL Used to connect the basic database


Helper_base

74
Private string cmd Str Database operation command

Private Dictionary<string, Record machine data and determine whether


string> Recorder adjacent data is duplicated.

Private Dictionary<string, Data accuracy, used for recording the accuracy


string> Precision of each sensor data processing.

Private DataTable DataToSave Data that needs to be stored

Private bool to Stop Stop processing, internal variable

Table 5-4 RepeatProcessor main functions table


Function Name Description

Public void ProcessAllProjects (DateTime startTime, Processing duplicate data for the
DateTime endTime) whole projects

Public void ProcessTheProject (Date Time? start Processing duplicate data for a
Time, Date Time end Time, project
string pjt Name, string pjt Conn Str, string tbm Conn
Str)

private void SaveLastProcess Time (string pjt Save processing time


Name)

private void Send Report (string info, int blank Send report
Count)

private string TimeString (Date Time? date Time) Convert DateTime into string
format

private string TimeString Short(Date Time? date Convert DateTime into string
Time) short format

3. Analysis of core function process


a.ProcessTheProject
ProcessTheProject function has 5 input parameters namely startTime, endTime, pjtNam,
pjtConnStr, tbmConnStr, which represent the start time of data processing, the end time of the
data, the name of the project, the link string of the project database, and the link string of the
parameter database. The main flow of the ProcessTheProject function is shown in Figure 5-15.

75
Figure 5-15 ProcessTheProject function flow chart

b. ProcessAllProjects
ProcessAllProjects function has two parameters which are start Timeǃend Time; the
parameters represent the start time and end time of function data for all items repeated data
processing. The main flow of the ProcessAllProject function is shown in Figure 5-16.

76
Figure 5-16 ProcessAllProject function flow chart

5.6.8.2 MinuteProcessor Class


MinuteProcessor contains two public functions: ProcessAllProjects and ProcessTheProject
These two functions are the most important function that is used for processing minute data for
all projects and processing minute data for corresponding items. ProcessAllProjects is to judge
the available items by querying the database and to invoke ProcessTheProject in the loop.
Hence, Process theProject is the most basic and important function in the whole class.
1. Function call relation
The function call relationship in the MinuteProcessorclass is shown in Figure 5-17.

77
Figure 5-17 The function call relationship in the MinuteProcessor

2. Member analysis
All members of the MinuteProcessor class are roughly consistent with the RepeatProcessor
class, and only the constructors are different, and the MinuteProcessor class constructor is
Public Minute Processor (), which is used to instantiate the MinuteProcessor class.

3. Analysis of core function process


MinuteProcessor has five parameters: start Timeǃend Timeǃpjt Nameǃpjt Conn Strǃ
tbm Conn Str, which represent the start time of data processing, the end time of the data, the
name of the project, the link string of the project database, the link string of the TBM database.
The main flow of the MinuteProcessor function is shown in Figure 5-18.

Figure 5-18 MinuteProcessor flow chart

78
b. ProcessAllProjects
ProcessAllProjects function has two parameters: startTime and endTime, which represents
the start time and end time of function data for all items in minute data processing. The function
flow of ProcessAllProjects is same with ProcessAllProjects in Repeat Processor class.
This section mainly completes the data breakpoint renewal technology used in data
transmission system in the data transmission process, analyzes the characteristics of various
communication protocols in the Internet protocol stack in the data transmission system, and
chooses the appropriate communication protocol. Then the principle of Socket communication
is analyzed, and then the main process of PAC programmable automation controller
communication part and data server part is completed. Then the data compression processing
method used in the storage of a large number of relational databases is analyzed and studied,
and the related processing service program is designed, and the design of the key classes in the
data processing service program is completed.

5.7 Unimail-Client
5.7.1 Architecture Introduction
The application of this paper Unimail-Client is implemented by MVC model: the model is
implemented by the table value function and stored procedure written by T-SQL. The front
controller can call the designed functions and stored procedures to obtain the desired data, thus
ensuring the cross-platform characteristics of the underlying data model. The view is
implemented by QML (Qt meta language), which ensures the simplicity of the front-end design,
the cross-platform and the close connection with the background database; the controller is
implemented by QML, thus ensuring the tightness of the connection with the model and view,
and thus making the logical framework of the whole application clear, complete and rigorous.
When the user sends a data request to the underlying data model, the QML implementation
view converts the request into a signal, and the controller implemented by the QML sends it to
the underlying data model implemented by the database, and the underlying data model
feedback the data to the controller. The data is sent to the view through the slot mechanism, and
the details are displayed on the view by the controller. The client application architecture is
shown in Figure 5-19.

Figure 5-19 Client Architecture Based On MVC

79
In Figure 5-19, the user sends requests (such as clicks and other input operations), which
is received at the view layer, and then converted from QML to the corresponding signal. The
signal is notified to the control layer, which leads the control layer to extract data from the data
model. The data relies on the controller and is sent to the view layer through the slot mechanism
to complete the display of the data requested by the user. The view layer is divided into five
parts: report front-end, tree front-end, grid front end, linear front end and user-defined front end.
The five display modes correspond to the database model of the model layer, the tree model,
the grid model, the linear model and the user-defined five models and form a specific five
display mode. Among them, the key factor of model and view matching is the correspondence
of BundleID attributes. The example of matching database model and report view table is
shown in Figure 5-20.

Figure 5-20 Example matching of database model and report view piece

In Figure 5-20, the user wants to extract the values of the two fields of Bundle ID and
CopyNum in the database and display them to the front end. In the view report implemented by
QML, it is necessary to specify the value of the Bundle ID, that is, the name of the field you
want to extract, and the field name must be completely consistent with the field names in the
database. The sample code for the view report is as follows:

TableViewColumn {
Id: BundleId
Title: Bundle ID
}
TableViewColumn {
Id: CopyNum

80
Title: Copies
}

5.7.2 Modular design of form


The front end of this client adopts the latest visual front-end programming technology. This
technique allows designers to draw the front-end interface in the way they see and then converts
the visualized interface after the drawing to the code so that the designer can make more
accurate modifications, such as the dynamic interface effect. The client application of this
article has a unique modular form loading mode.

Figure 5-21 Modularized form loading mode

In the Figure 5-21, the main window of the QML is loaded when the application is started,
and lots of child window loader is defined in the main window's implementation code, which
is mapped to the boot icon of the child window. When the user clicks on the startup icon of a
child window, the child window loader loads the corresponding child window description code
and runs the promoter window. Several sub-windows in the graph belong to several independent
threads, and controllers interact with each other. The use of form loader can make the front-end
design highly modular, greatly enhancing the scalability and maintainability of software
products.

5.7.3 Implementation of Data Display


In the implementation of Unimail-Client, the database data model has its corresponding
view display mode. The display mode ensures that the system software completes the refresh
display of the database data to the front end in the 500 ms, thus does not affect the user
experience. The MVC design pattern adopted by the system software provides a standard proxy
as the interface for view and model to transmit data. No matter how data is stored in the
background, this interface remains unchanged. Using this interface, the view can easily invoke

81
data in the model. There are three common models: list model, report model, and tree model.
The three front-end display modes are shown in Figure 5-22.

Figure 5-22 Model/View Display Mode

The database display part of the system is composed of the front end QML interface
rendering module, the back-end database storage module, and the intermediate interface module.
The system automatically detects the change of data in the back-end database and automatically
synchronizes the changes through the intermediate interface module to the front end, as shown
in Figure 5-23.

Figure 5-23 Database display process

82
In the database display module, how to solve the synchronization problem between the
background database and the display part of the front end, that is, how to define the middle
interface module is difficult. To this end, we define an intermediate interface class SQL Query
Model, which declares such interfaces:

Q_INVOKABLE bool setDatabase(const QString& database) ˗


Q_INVOKABLE bool setQuery(const QString& query)˗
Q_INVOKABLE QList<QString> get Field Names()const˗
QHash<int, QByte Array> bundle list() const override˗
QVariant data(const QModel Index &index, int bundleId=Qt::Display BundleID) const override˗

The Q_INVOKABLE flag is a sign that the function can be called in the QML front-end
code (the class must inherit from QObject and add the Q_OBJECT flag to the definition of the
class and register in advance with the set Context Property method in QQmlApplication Engine).
Among them, the setDatabase method is used to handle the connection of the database, that is,
to judge whether the user database exists, has it been opened, and what should be done if the
opening fails? The execution flow of the setDatabase method is shown in the Figure 5-24:

Figure 5-24 The execution flow of the setDatabase method

The setQuery function is used to set up database query statements. The bundle list function
is used to get bundle information. The get Field Names function is used to get the field name,
which is automatically invoked. The data function is used to get the value at the corresponding
index. Description: (1) every item in the model has a series of data elements corresponding to
each item; each entry has its field value. These field values correspond to the data items in the

83
model displayed in the view. The user uses the line number and column number of the related
model to obtain the index value of the model, which can be analogous to the pointer in C++, as
shown in Figure 5-25.

Figure 5-25 Model index diagram

In Figure 5-25. A, B, and C respectively represent the item in coordinates (0,0), (1,1), (2,2).
Users can get data from corresponding locations according to the index of A, B, and C. The
data obtained from the database model include "text display," "icon display," "editor display,"
"display by tooltip mode," and "display by state bar." In the system software, the data in the
database is extracted and is pasted to the front user interface in the form of text, and then
presented to the user.

5.7.4 The execution process of the application


The execution flow of the client application is shown in Figure 5-26.

84
Figure 5-26 Client program execution flow
This chapter completes the overall design of the system and completes the detailed design
of the key modules. Among them, the overall architecture design part gives the overall
framework of the system. The software architecture of the overall architecture includes two
parts: software framework design and software class library design. The software framework
design details the resource configuration and communication mechanism in the software system,
as well as the execution flow of the entire application program. The software class library design
describes the classes defined by the system software. In the design part of the key module, first
of all, it explains the modularized form loading scheme of the system software, which is the
innovation of the system software. Secondly, from the three aspects of module design, table
design and module implementation, the initialization and display modules of the database are
designed respectively.

5.8 Case Study Results Analysis


5.8.1 Conclusion
After more than nine months of design, development, and testing, it turned out that our
efforts were not in vain. Our system is successful and has gained the affirmation of our
customers. Compared with the current industrial control system, this system has put forward a
complete scheme of the automatic control system and has the advantages of strong generality,
wide applicability, high scalability and low cost. The system uses PAC programmable
automation controller as the lower part of the system, adopts the modular architecture design,
can collect signals through the signal acquisition card of PAC and can communicate with the
mature signal acquisition card on the market through the standard CAN or RS-485 interface
and communication protocol. The Internet network is used to transmit data and to access the
network by Ethernet interface or wireless mode according to the different conditions of the
device. This design can greatly improve the scope of application of the system. To prevent data
loss during network interruption, a breakpoint renewal mode is adopted. At the same time, a
simple and effective method is adopted to save the high cost of purchasing industrial database
by using the extensive and open source relational database to save a large amount of data of the

85
sensor. A general PAC automation control system is developed, which is not limited to the
printing plant in theory and is also suitable for workshop production lines and assembly lines.
Generally speaking, the whole system has good research and practical application value. The
main work is as follows:

1. The actual architecture development of the whole control system contains two parts,
which are hardware architecture and software architecture. The hardware architecture mainly
includes installation of PAC, connection with the machine, installation of some sensors, such
as the scanner, copy counter, etc. And the deployment of the server, the deployment of the
network line. The deployment of the client device etc. The software architecture includes the
design and implementation of the six modules of the system, the architecture of the database,
etc.

2. The communication method and process between PAC and server are analyzed. Because
of the possible interruption of Internet network, we designed the method of breaking point
renewal and analyzed the flow of PAC client communication program and the process of server
communication program respectively.

3. In this paper, a simple and effective data processing method is used to reduce the data
storage space. At the same time, the design programming of two key classes of the main service
program repeating data processing and the minute data counting is completed in this design.

4. Most importantly, this paper implements an automatic control scheme based on PAC and
describes the architecture design of the control scheme in detail. At present, there is hardly any literature
about the architecture and design of large-scale industrial control system based on PAC. The architecture
of the system is based on the review of the systematic literature review of large industrial control systems
that we have done before. In the review of the system literature, we compared and analyzed several
common architecture patterns, summed up the advantages and disadvantages of various architectural
methods, and selected one of the most suitable PAC to implement the bottom end hard. The scheme of
part control. It is verified in practice.

5.8.2 Production efficiency


After months of testing, the system successfully goes online for the production in the
printing house. Through the workshop manager, we got some of their old system production
data and compared the production data of our new system. It is worth mentioning that their old
production data is still by manually copying the data on the machine and manually calculating
when the production will end, and finally to make statistics and analysis. The data of our new
system is automatically generated through an extended client application UniReport. Our
system data can be traced back to when each bundle will start production when it will be
finished, when it will be packaged and when it will be shipped. This not only reflects the
scalability of our system but also reflects the ability of our system to monitor and track
production. If a bundle has a problem, such as top sheet, we can query the bundle by querying
the Id of the bundle in the system and analyze it, and it is easy to find the problem. This is a

86
point that the old system cannot do. Figure 5-27 is a detailed production report for all the edition
generated by our system.
Figure 5-28 is a detailed loading summary for one edition.

Figure 5-27 Production report

Figure 5-28 Loading summary report

After comparing with the data from the old system, our system has improved in production
efficiency, which is reflected at 2 points. The production speed of each edition is increased by

87
7%, loading part, the bundle scan accuracy increased to 99.8%, and the scanning time decreased
from 180ms to 23ms on average, and encountered a production accident, such as a mechanical
failure, inkjet When problems stop working, every address in the newspaper needs an artificial
address to be written to the newspaper. This is the practice of the old system, and our new
system only needs to print out the address of the system with a label, directly on it, and greatly
reduce the consumption of a sudden accident. The human and financial resources.

5.8.3 System stability and security


In actual production, in case of a sudden accident, we can stop production through the client
application program and solve the problem of resuming production after the accident. Also, our
client application monitors the state of each machine in real time. As shown in figure 5-29, the
number of modules on the way is the corresponding machine. In actual work, we use different
colors to identify the mechanical state. For example, if printer stops working, the color of the
corresponding printer in the diagram will become gray. If the transmission belt stops working,
the corresponding color will also turn gray. Through the overview diagram, we can clearly and
intuitively understand the current working state of each machine. If any machine fails, the site
operator can quickly find out the fault through this overview diagram. Of course, if any machine
is out of order, we can join the alarm device to remind the operator. As customers do not have
this demand at present, we have not implemented this function, but we think it will be better if
the function is added in practice.

Figure 5-29 Production overview

The number of hardware corresponding to the route number is shown as shown in the
following table 5-5.
Table 5-5 Description of the number in production overview
Num Description Num Description
1 Copies counter from the machine 12 Stacker status
2 Copies counter for the not qualified 13 BA status

88
3 Copies counter as produced 14 Printer status
4 Copies counter into the insert machine 15 Default/ No read dock
5 Copies counter go through the inkjet 16 Next machine status
6 Inkjet status 17 Conveyor 1 status
7 Gripper speed 18 Conveyor 2 status
8 Current manifest 19 Dock status
9 Copies counter of the overflow 20 Planned copies
10 Copies counter into the stacker 21 Rest copies
11 Stacker mode

5.8.4 System development cost


As the whole project is commissioned by the printing plant, we have developed and
implemented it. There are two options for the factory to upgrade the system. One is to use the
existing new machinery in the industry. These machinery manufacturers provide a supporting
control system, which may not be based on the control system based on PAC, but these new
machinery prices are high, far exceeding their system upgrade budget. The two is to adopt the
new control machine, that is, PAC, to take over the control of the old machine. We recognize
that they have taken the right choice, the cost that they pay us for development, and the cost of
these PAC, server and other equipment is much lower than the first one. This also indirectly
indicates that the industrial control system implemented by PAC controller is low cost and
highly efficient.

5.8.5 Analysis about the research question


Table 5-6 Research Questions Addressed by Case Study
RQ2. What kinds of software architecture(s) is available and suitable for PAC software to
implement automation control system? What are the key factors that affect the quality of
PAC software?
RQ3. To what extent the objectives of the project are achieved? What are the expected
benefits of the new architecture based on PAC?

For RQ2. From the view of our results, the architecture is successful, and its system has been
successfully used in the printing plant for production. It also shows that the hybrid architecture we
propose is in line with the requirements of the automated control system. Effective quality control is a
necessary link to ensure the stable operation of the system. In the light of RQ2, second problems, we
have made statistics on the quality problems (QP) of our system during the development process, and
the results are shown in the following Table 5-7:

Table 5-7 Statistics on the quality problems of the system


Category Subclass Subclass Description QP
Amount
Function Functional Functionality does not implement or 23
implementation error meet user needs

89
Interface Failure to implement or implement an 18
implementation error error
Lack of fault-tolerant The software exists BUG when there is 14
processing an abnormal data or operation
Performance System running The system is running crashes, 2
instability transmission congestion etc.
Slow response The response of the system is slow and 4
has a serious impact on the user
experience
Lack of concurrency The amount of concurrency of the 6
system cannot reach the use requirement
Software HMI (Human Machine The interface design is not reasonable 20
Structure Interface) and the operation is inconvenient
internal structure The design of software internal module 2
is not reasonable
Documents Requirement document Requirement document description 12
analysis missing or error
Design documents Design document description missing or 1
error
Operation and Operation and maintenance documents 1
maintenance description missing or error
documents
Software Incomplete test The test is not comprehensive enough, 10
Testing part of the function is not tested
Test case design is The design of test case is unreasonable 9
unreasonable and the efficiency of test is low
Sum 122

According to Table 5-7, we can establish the analysis table of the quality problems in the software
development, as shown in table 5-8.

Table 5-8 Analysis of the quality problems


No. Problem items Frequency Frequency Cumulative
Percentage Percentage
1 Functional implementation error 23 18.85% 18.85%
2 HMI (Human Machine Interface) 20 16.39% 35.24%
3 Interface implementation error 18 14.75% 49.99%
4 Lack of fault-tolerant processing 14 11.48% 61.47%
5 Requirement document analysis 12 9.83% 71.30%
6 Incomplete test 10 8.20% 79.50%
7 Test case design is unreasonable 9 7.38% 86.88%
8 Lack of concurrency 6 4.91% 91.79%
9 Slow response 4 3.28% 95.07%

90
10 System running instability 2 1.64% 96.71%
11 internal structure 2 1.64% 98.35%
12 Design documents 1 0.81% 99.16%
13 Operation and maintenance 0.81% 99.97%
1
documents
Sum 122 - -

Using the Pareto map tool [75] can help to distinguish "a small majority" and "very important
minority" from many of the above problems, and thus facilitate people to focus on the important
categories of them. We made a Pareto map based on the above table, as shown in the following figure:

Quality problem analysis Pareto chart


25 120.00%

100.00%
20

80.00%
15
60.00%
10
40.00%

5
20.00%

0 0.00%

Table 5-30 Quality problem analysis Pareto chart

From figure 5-30, we can see that the top five problems of the 4 categories are "functional error",
"lack of fault tolerance", "requirement documents analysis", "Interface implementation error", “HMI”.
The top five of the problems, accounting for 71.3% of the total quality problems. According to Pareto's
rule, a relatively small number of causes usually cause most problems or defects, that is, 80% of the
problem is caused by 20%. Hence, these 5 factors have great influence on the quality of software.
Therefore, to ensure the quality of PAC software, 4 aspects need to be considered and analyzed.

1. First, make clear the real needs of the user.


The development of a software must have clear functional requirements, that is, the purpose should
be clear. Whether or not it is clear about the real needs of users is the decisive factor for the success of
software development. A large number of requirements cannot catch the focus of software development,
even affects the quality and efficiency of software; requirements being not clear or not consistent with

91
what the user really needs, or the system requirements changing too fast, will make the software
development extremely difficult and the resources cause great waste. The cause of this situation is often
due to the lack of agreement between the software developer and the software user, or the software
developer determines whether the software development is successful with its own standards. Therefore,
in order to avoid such quality problems, it is very important to meet the needs of users.

2. Rigorous code review

The quality of software depends largely on the quality of the code. In general software development
projects, it is difficult to carry out a complete code review, so the programmer is required to cross code
the software to check the key functional modules. Such measures can have a great impact: first, it can
encourage the programmer to attach importance to the quality of the code; secondly, the programmer
can get the opinion of others during the course of checking and improve the quality of the code. In
addition, the members of the group can exchange software to develop the solution of the problem-
solving methods and methods through the process of developing the software. The solution is beneficial
to further cooperation. Code review can make the members of the project group pay more attention to
the quality of the software and improve the quality of software greatly.

3. Building a core framework


A framework is a highly reusable software, which determines that it is an effective means to become
a software organization to accumulate knowledge. Traditional methods of knowledge accumulation are
documents, but documents are prone to be different. Developers often do not want to read and
understand documents. The framework provides a comprehensive means, including documents, models
and codes. More easily understood, more importantly, developers must use frameworks in their daily
work, which makes them very familiar with the knowledge in the framework and improves the
framework according to the needs of the work.

3. Component oriented programming


Effective organization lies in effective division of labor. Physical activity is easier to divide, mental
work is harder, and software development seems even harder. So, for a long time, we are accustomed to
using functional block as a unit of coarse grained division. Component oriented programming uses more
detailed partitioning and services as interdependent contracts between components, which defines not
only the relationship between components and components, but also the rights and obligations of
component developers, component users, and component testers. Thus, it can carry out the work of
software development, such as distribution, management. With the development of software design
technology, new practice will emerge and replace old practice. Therefore, the above practice will be
outdated, when it can be affirmed that the above practice and specific technology are not directly related,
more focused on the development of ideas, so their vitality will be very long.

5. Rigorous and comprehensive software testing

Rigorous software testing can effectively guarantee the quality of software. The software
test loop includes unit testing, functional testing and performance testing, safety testing and
stress testing. The test covers all stages of the project, and through testing, it helps to discover
the deficiencies of the software in advance. It is very necessary to carry out stress testing
before software is online. Pressure testing can be used to simulate the situation of multiple
users using software at the same time. According to the simulation results, it can predict the

92
formal operation of the system. It is beneficial to improve the quality of software. Only all the
software development participants strictly request themselves, improve the software
management standards, ensure the software functional requirements, and establish quality
management. Standards and the selection of correct development tools and platforms can
effectively improve the quality of software development.

For RQ3. We have completed the development of all the functional modules of the system. At
present, the system has become more integrated and stable. We get good feedback from customers in
actual production. The new system improves production efficiency, reduces error rate, and saves
manpower and financial resources. The system introduction manual is shown in Appendix VI.

5.9 Validity Threats of Case Study


The validity of a study is the credibility of the stated result, namely, to what extent the research
results are reliable and true and without the bias of the researcher [71] [72]. Validity must be explained
in the terms of the experience of the investigator rather than the reliability itself [72]. The threat of
validity must be resolved at all stages of the case study, because it is too late to resolve the effectiveness
validity at the analysis stage. We have taken into account the four aspects of the validity threat:
5.9.1 Construct Validity
The threat of construct validity reflects that to what extent does the measure represent the minds of
the researchers and to what extent they are investigated according to the research questions. A possible
threat to the construct validity in our research is that the requirements and architectural difficulties may
be misunderstood by the participants, leading to an inappropriate answer to the research question (RQ2).
In order to mitigate this threat, we also analyzed the data collected from each stage, to ensure that
collect relevant data. Besides, the study is to research the software architecture in industrial automation
control system. The context of the study is industrial automation area, the research question is about the
available software architecture in PAC based industrial control system. The architecture we proposed
and implemented is the answer to the research question.

5.9.2 Internal Validity


Internal validity explains the threat of concern when studying causality. It focuses on the factors
that affect the process between input and result [73]. Our aim is to propose a reasonable and effective
architecture for PAC based automatic control systems. And to build an architecture, first step is to define
the relevant requirements, if the requirements analysis is not clear, it will affect the design of the
architecture and the results. Hence, clear identification of requirements is considered as an internal
validity.

5.9.3 External Validity/Transferability:


This validity addresses that to what extent the results can be transferred and to what extent are the
results interested in other people outside the investigation [71]. If the description of the research results
is not specific or the reader is confused about the research methods used in the study, the transferability
cannot be decided [72]. With the advent of industry 4.0, more researchers will be involved in the upsurge
of automation control. And there are more people studying automation control software based on PAC.
We are the forerunner, a beginning of this field, the related architecture and other results we have
proposed will provide some help to these people.

93
5.9.4 Reliability/ Dependability:
This threat is to solve the problem that to what extent is the data collected and analysis presented
dependent on the authors of the study, namely, if the same research obtains the same result, it will be
verified by other researchers [71]. The reliability of the research results is necessary for the study in
similar settings and refers to the stability of the data [72].
What we studied is the architecture of automation control system based on PAC, there are a lot of
software architecture patterns and forms, the architecture is one of them. However, the process of doing
such a research is the same, a control system of architectural patterns can be different, but the
requirements must be consistent. Requirements are determined according to the original system
specification, relevant literature, stakeholders, and characteristics of PAC. Hence, if another research do
the same case study in this context, the activities and resource would not change much. To a large extent,
data collection and analysis are reliable.

94
6 CONCLUSION AND FUTURE WORK
6.1 Conclusion
This paper focuses on the design and development of software architecture based on PAC
control system. The main research direction is how to build a large industrial control system solution
based on PAC to realize hardware control. And what key problems, bottlenecks, obstacles, and
challenges will be encountered in implementing this solution? We mainly selected two research methods
to study the above problems, SLR and case study.
In SLR, we finally obtained 35 valuable articles for our research after screening. These
documents provide the framework, architecture model, architecture method, etc. about the ICS. For
different industries, industrial control systems have different architectural models. In SLR, we have
obtained five commonly used large industrial control system architecture models from the existing
literature, which are basically composite structures, that is, a combination of multiple architecture
patterns, such as layered architecture and C/S architecture + Cloud Architecture. Also, some notable
problems in the industrial control system, such as information security and production reliability, are
also collected and analyzed.
We conducted the case study in the real industrial, we put forward a set of our own PAC based
automation control solution. We got some architectural inspiration from SLR, completed the
architecture and development of the system. In the course of the process, we made special analysis and
design for the problems summed up in SLR, which help us avoid these problems as much as possible.
In the case study, we put forward an automatic control solution for a Printing House based on
SLR results. We designed the hardware deployment architecture of the system and the software control
architecture. Generally speaking, this architecture is based on C/S architecture, MVC architecture design
pattern, modular design and layered architecture theory. In the development of client, we adopt the
popular MVC architecture mode. In the longitudinal view of the whole system, an extended hierarchical
architecture model is adopted. In the core control system, we adopt the modular architecture design idea.
The whole control system is composed of 6 parts, four subsystems of PAC terminal, one server-side
program, and one client programs. We have designed four sub PAC programs to control these four
modules, that is, Loading control, Tracking control, Topsheet control, Line control.
In the new control system, we have added a lot of new functions that bring great traversal to the
customer, for example, we can adjust some of the parameters of the stacker in real time. In the old
system, if the actual production is found to be misplaced in the release, the machine is often turned off,
the manual stacker parameters are abnormal, and then, it is time-consuming and hard to adjust. In the
new system, we can modify the interface through parameters, and the hands send new parameters to
PAC, and then send them to stacker by PAC. For example, our client program can automatically generate
production reports in PDF format and then send it to the manager in the factory through E-mail, or other
people in need. Based on the central server architecture mode, our system has good scalability. In the
future, we can develop supporting Web services, mobile applications and so on.
In general, we have a lot of challenges in developing a new system, for example, we began to
feel very hard on how to communicate PAC to the server, and later in some literature. We adopted some
ideas of socket programming and set up our communication framework to overcome these challenges.
To sum up, this paper presents a PAC based model of control system architecture and has been applied
in practice. It is believed that these will provide some help and guidance to the people in the industry.
The Appendix 4 shows how our system looks like including some main parts.

95
6.2 Contribution

1. Summarizes some common industrial control system architecture, and some characteristics,
advantages and disadvantages of these architectures.

2. Some potential problems and challenges in the industrial control system are summarized.

3. The basic functional requirements and non-functional requirements of an industrial control system
are summarized.

4. An architecture of industrial automation control system based on PAC-PC is proposed. And it can be
applied in practice.

5. This paper summarizes some noticeable problems in developing PAC software and the key factors
that affect the success of the system.

6. The detailed process of system development is disclosed for reference by other researchers.

6.3 Future work

1. Verification and Validation of PAC-Based Control Systems.


Some test frameworks and process simulators can help to achieve automatic
verification and validation of PAC control systems. If these frameworks have HMI (Human-
Machine Interface) standard interfaces, then the process simulator can be used to simulate the
operator's actions to verify whether the control system will respond correctly. Unit testing and
integration testing, commonly used in software development, can be applied to PAC software.

2. Design Patterns for PAC Software.


Design patterns recognize recurring programming challenges and suggest a common way of
handling them. Simple patterns, such as standard PID control of an analog output, may be handled
sufficiently using existing templates. Research to identify more complex patterns is suggested, followed
by development of well-thought solutions. For example, multiple PACs controlling different equipment
on a production line, which may be programmed by different people, often need to share command and
status data to interoperate efficiently.
Design patterns can identify repetitive programming challenges and propose common ways of
dealing with them. For example, single patterns, can be adequately processed using existing templates.
It is recommended that research be done to identify more complex patterns, and then develop well-
designed solutions. For example, multiple PAC controlling different devices on a production line may
be programmed by different people, and these PAC usually need to share command and state data for
efficient interoperability.

3. Integration of PLC Software and HMI Development.


The PAC programming and HMI development of HMI screen are usually done by different
personnel. In an effective system, PAC code and man-machine interface must work together to get
maximum benefit from each system. From this perspective, it will be useful to approach most of the
proposed research topics. For example, a high-level specification can be used to generate integrated
PAC code and the corresponding HMI screen. The design pattern can explain the interaction between

96
the operator and the mechanical system, and the simulator can simulate the operation and process of the
operator.

4. Using AOP in PAC software Development


When we develop our system, we mainly use the idea of object-oriented programming to
realize each module. In the future, we can take the programming thought of AOP (Aspect
Oriented Programming) to achieve low coupling between modules and reduce the dependency
of each module. For example, in the current system, data processing classes in each module
have a log method, which is mainly used to record some information of the production. With
the iteration of the project and the increase of class, if there is a requirement change with the
log, for example, we need to record a new set of data in log, we have to modify each class to
meet the requirement change. It is obvious that this method is inefficient. If we adopt the AOP
mode, we just need to delete the previous log method and create a new proxy class to
implement all the log functions. Therefore, if there is a demand change, we only need to
change this class. It will reduce a lot of work.

97
REFERENCES
[1] Anonymous "The future of control," PACE (Process & Control Engineering), pp. 20, 2008.
[2] Walter, T. Welcome PAC: Moving on to the next generation controller. InTech 2005,52,41-43
[3] Walters, E. George, and Eric J. Bryla. "Software Architecture and Framework for Programmable
Logic Controllers: A Case Study and Suggestions for Research." Machines 4.2 (2016): 13.
[4] Bou ue, P.; Fairley, R.E.; IEEE Computer Society. Guide to the Software Engineering Body of
Knowledge (SWEBOK (R)): Version 3.0; IEEE Computer Society Press: Piscataway, NJ, USA, 2014
[5] Bonfè, M.; Fantuzzi, C.; Secchi, C. Design patterns for model-based automation software design and
implementation. Control Eng. Pract. 2013, 21, 1608–1619.
[6] I. Erceg, S. Tusun and G. Erceg, "The use of programmable automation controller in synchronous
generator excitation system," in 2012, DOI: 10.1109/IECON.2012.6388742.
[7] Walter, T. Welcome PAC: Moving on to the next generation controller. InTech 2005, 52, 41–43.
[8] Gupta S, Sharma S C. Selection and application of advance control systems: PLC, DCS and PC-
based system[J]. 2005.
[9] Columba Sara Evelyn (Ed.). Programmable Automation Controller.
[10] "Search Tips: Content Coverage." Google Scholar. Google. Retrieved 27 April 2016
[11] Bell, Ian. "The future of control [programmable automation controllers]." Manufacturing Engineer
84.4 (2005): 36-39.
[12] Åström, K. J., & Hägglund, T. (2006). Advanced PID control. ISA-The Instrumentation, Systems
and Automation Society.
[13] Hong Mei, Junrong Shen. Progress in the research of software architecture[J] 2006,17(6):1257-
1275.
[14] Petersen K. Implementing lean and agile software development in industry[D].
Blekinge Institute of Technology, 2010.
[15] Michael F Zaeh, Clemens Poernbacher.Model-driven development of PLC software for machine
tools[J]. Prod Eng Res Devel,2008,2(1):39-46.
[16] Kwan Hee Han, Jun Woo Park.Development of object-oriented modeling tool for the design of
industrial control logic[C].5th International Conference on Software Engineering Research,
Management & Applications,2007:353-358.
[17] Runeson P, Höst M. Guidelines for conducting and reporting case study research in software
engineering[J]. Empirical software engineering, 2009, 14(2): 131.
[18] Clements, Paul; Felix Bachmann; Len Bass; David Garlan; James Ivers; Reed Little; Paulo Merson;
Robert Nord; Judith Stafford (2010). Documenting Software Architectures: Views and Beyond, Second
Edition. Boston: Addison-Wesley. ISBN 0-321-55268-7.
[19] Bonfe, Marcello, and Cesare Fantuzzi. "Object-oriented approach to PLC software design for a
manufacture machinery using IEC 61131-3 norm languages." Advanced Intelligent Mechatronics, 2001.
Proceedings. 2001 IEEE/ASME International Conference on. Vol. 2. IEEE, 2001.
[20] Shaw, Mary; Garlan, David (1996). Software architecture: perspectives on an emerging discipline.
Prentice Hall. ISBN 978-0-13-182957-2.
[21] Shaw, Mary; Garlan, David (1996). Software architecture: perspectives on an emerging discipline.
Prentice Hall. ISBN 978-0-13-182957-2.
[22] Meier, J. D., et al. "Microsoft application architecture guide." Dostupné z< https://msdn. microsoft.
com/enus/library/ff650706. aspx> [cit. 6. 4. 2016] (2009).
[23] UCI Software Architecture Research – UCI Software Architecture Research: Architectural Styles.
Isr.uci.edu. Retrieved on 2013-07-21.
[24] P. Runeson et al, "A Large‐Scale case study of requirements and verification alignment," in
Anonymous Hoboken, NJ, USA: John Wiley & Sons, Inc, pp. 183-199.

98
[25] C. B. Seaman, “Qualitative methods in empirical studies of software engineering,” IEEE Trans.
Softw. Eng., vol. 25, no. 4, pp. 557–572, 1999
[26] P. B. Kruchten, "The 4+1 View Model of architecture," IEEE Software, vol. 12, (6), pp. 42-50,
1995.
[27] M. Kircher and P. Jain, Pattern-Oriented Software Architecture: Vol. 3, Patterns for Resource
Management. Chichester: Wiley, 2004.
[28] P. Runeson et al, "A case study of the evaluation of requirements management tools," in
Anonymous Hoboken, NJ, USA: John Wiley & Sons, Inc, pp. 171-182.
[29] Georges, J-P., Eric Rondeau, and Thierry Divoux. "Evaluation of switched Ethernet in an industrial
context by using the Network Calculus." Factory Communication Systems, 2002. 4th IEEE International
Workshop on. IEEE, 2002.
[30] C. Wohlin. Guidelines for snowballing in systematic literature studies and a replication in software
engineering. In Proceedings of the 18th International Conference on Evaluation and Assessment in
Software Engineering, EASE ’14, pages 38:1–38:10, New York, NY, USA, 2014. ACM.
[31] B. Kitchenham and S. Charters. Guidelines for performing systematic literature reviews in software
engineering, 2007.
[32] Smite, D., Wohlin, C., Galvina, Z. and Prikladnicki, R. 2012. An empirically based terminology
and taxonomy for global software engineering. Empirical Software Engineering: An International
Journal 19, 1, 105-153.
[33] T. Dings}ryr and R. Conradi, A survey of case studies of the use of knowledge management in
software engineering [J], International Journal of Software Engineering and Knowledge Engineering,
Springer, 2002, 12 (4): 391-414
[34] Prades, L., et al. "Defining a methodology to design and implement business process models in
BPMN according to the standard ANSI/ISA-95 in a manufacturing enterprise." Procedia Engineering
63 (2013): 115-122.
[35] Unver, Hakki Ozgur. "An ISA-95-based manufacturing intelligence system in support of lean
initiatives." The International Journal of Advanced Manufacturing Technology 65.5-8 (2013): 853-866.
[36] Automation R. Converged Plantwide Ethernet (CPwE) Design and Implementation Guide.”[J].
2011.
[37] Nakamura R, Okada K, Saito S, et al. Flowfall: A service chaining architecture with commodity
technologies[C]//Network Protocols (ICNP), 2015 IEEE 23rd International Conference on. IEEE, 2015:
425-431.
[38] Lu Y, Morris K C, Frechette S. Current standards landscape for smart manufacturing systems[J].
National Institute of Standards and Technology, NISTIR, 2016, 8107: 22-28.
[39] M. Michlmayr, F. Hunt, and D. Probert, Quality practices and problems in free software projects
[C], Proceedings of the 1st International Conference on Open Source Systems (OSS), Genova, Italy,
Springer, pp. 24-28, 2005.
[40] Kang H S, Lee J Y, Choi S, et al. Smart manufacturing: Past research, present findings, and future
directions[J]. International Journal of Precision Engineering and Manufacturing-Green Technology,
2016, 3(1): 111-128.
[41] Hankel M, Rexroth B. The reference architectural model industrie 4.0 (rami 4.0) [J]. ZVEI, April,
2015.
[42] Flatt H, Schriegel S, Jasperneite J, et al. Analysis of the Cyber-Security of industry 4.0 technologies
based on RAMI 4.0 and identification of requirements[C]//Emerging Technologies and Factory
Automation (ETFA), 2016 IEEE 21st International Conference on. IEEE, 2016: 1-4.
[43] Langmann R, Rojas-Peña L F. A PLC as an Industry 4.0 component[C]//Remote Engineering and
Virtual Instrumentation (REV), 2016 13th International Conference on. IEEE, 2016: 10-15.

99
[44] OUYANG J S, LIU D, WANG S, et al. Reflections on German industry 4.0 reference architecture
model and China’s intelligent manufacturing technology system[J]. Automation Panorama, 2016(3): 62-
65.
[45] Ministry of Industry and Information Technology. National smart manufacturing standards system
construction guide (2015 edition) [EB/OL]. (2015-12-30) [2017-10-30].
[46] B. Vogel-Heuser et al, "Modeling network architecture and time behavior of distributed control
systems in industrial plant automation," in 2011. DOI: 10.1109/IECON.2011.6119656
[47] P. Leitao, J. M. Mendes and A. W. Colombo, "Decision support system in a service-oriented control
architecture for industrial automation," in 2008, DOI: 10.1109/ETFA.2008.4638558.
[48] T. Cucinotta et al, "A Real-Time Service-Oriented Architecture for Industrial Automation," IEEE
Transactions on Industrial Informatics, vol. 5, (3), pp. 267-277, 2009.
[49] G. Black and V. Vyatkin, "Intelligent Component-Based Automation of Baggage Handling
Systems with IEC 61499," IEEE Transactions on Automation Science and Engineering, vol. 7, (2), pp.
337-351, 2010.
[50] F. Jammes and H. Smit, "Service-oriented paradigms in industrial automation," IEEE Transactions
on Industrial Informatics, vol. 1, (1), pp. 62-70, 2005.
[51] T. Hegazy and M. Hefeeda, "Industrial Automation as a Cloud Service," IEEE Transactions on
Parallel and Distributed Systems, vol. 26, (10), pp. 2750-2763, 2015.
[52] V. C. Gungor and G. P. Hancke, "Industrial Wireless Sensor Networks: Challenges, Design
Principles, and Technical Approaches," IEEE Transactions on Industrial Electronics, vol. 56, (10), pp.
4258-4265, 2009.
[53] F. Basile, P. Chiacchio and D. Gerbasio, "On the Implementation of Industrial Automation Systems
Based on PLC," IEEE Transactions on Automation Science and Engineering, vol. 10, (4), pp. 990-1003,
2013.
[54] A. Girbea et al, "Design and Implementation of a Service-Oriented Architecture for the
Optimization of Industrial Applications," IEEE Transactions on Industrial Informatics, vol. 10, (1), pp.
185-196, 2014.
[55] P. Leitao, V. Marik and P. Vrba, "Past, Present, and Future of Industrial Agent Applications," IEEE
Transactions on Industrial Informatics, vol. 9, (4), pp. 2360-2372, 2013.
[56] T. Mlcak et al, "Development and implementation of an intelligent system for permanent evaluation
of light fixtures in a lighting system of transmission system substations," in 2015, DOI:
10.1109/EPE.2015.7161123.
[57] E. Chater D. Ghani F. Giri M. Haloua, "Output feedback control of pantograph-catenary system
with adaptive estimation of catenary parameters,", Journal of Modern Transportation. vol. 23, (4), pp.
252-261, 2015.
[58] L. Korosi, J. Paulusova and L. Mrafko, "Motion control implementation in PAC," in 2015,. DOI:
10.1109/PC.2015.7169970.
[59] Y. Y. Cao, L. G. Cui and X. G. He, "Automatic alarm of tobacco blending accuracy based on PLC
control system," in 2014, DOI: 10.4028/www.scientific.net/AMR.1043.237.
[60] I. Erceg, S. Tusun and G. Erceg, "The use of programmable automation controller in synchronous
generator excitation system," in 2012, DOI: 10.1109/IECON.2012.6388742.
[61] E. Walters and E. Bryla, "Software Architecture and Framework for Programmable Logic
Controllers: A Case Study and Suggestions for Research," Machines, vol. 4, (2), pp. 13, 2016.
[62] M. Ji and M. Q. Wu, "Based on programmable controller manipulator automation control design,"
in 2013, DOI: 10.4028/www.scientific.net/AMM.416-417.876.
[63] H. Liu, J. Liu and J. Xi, "The Automation Control System Design of Walking Beam Heating
Furnace," Sensors & Transducers, vol. 180, (10), pp. 181-189, 2014. Abstract:

100
[64] D. B. Li et al, "Risk Assessment on the Transition Program for Air Traffic Control Automation
System Upgrade," MATEC Web of Conferences, vol. 63, pp. 4041, 2016.
[65] H. Liu et al, "Design of automation control system for lubricant syringe," in 2014, DOI:
10.4028/www.scientific.net/AMM.548-549.999.
[66] G. Bumiller, L. Lampe and H. Hrasnica, "Power line communication networks for large-scale
control and automation systems," IEEE Communications Magazine, vol. 48, (4), pp. 106-113, 2010.
[67] Q. Shang and L. Zhang, "Automation control system of pharmaceutical factory based on wireless
sensor network," in 2013, DOI: 10.4028/www.scientific.net/AMM.397-400.1271.
[68] Budike Jr, Lothar ES. "Multi-utility energy control and facility automation control system with
dashboard having a plurality of interface gateways." U.S. Patent No. 7,870,080. 11 Jan. 2011.
[67] B. Kitchenham and S. Charters, “Guidelines for performing Systematic Literature Reviews in
Software Engineering,” Keele University and Durham University Joint Report, UK, EBSE 2007-001,
2007.
[68] S. Jalali and C. Wohlin, “Systematic literature studies: Database searches vs. backward
snowballing,” in 2012 ACM-IEEE International Symposium on Empirical Software Engineering and
Measurement (ESEM), 2012, pp. 29–38.
[69] Q. Shang and L. Zhang, "Automation control system of pharmaceutical factory based on wireless
sensor network," in 2013, DOI: 10.4028/www.scientific.net/AMM.397-400.1271.
[70] Budike Jr, Lothar ES. "Multi-utility energy control and facility automation control system with
dashboard having a plurality of interface gateways." U.S. Patent No. 7,870,080. 11 Jan. 2011.
[71] P. Runeson and M. Hӧst, “Guidelines for conducting and reporting case study research in software
engineering,” Empirical software engineering, vol. 14, no. 2, pp. 131–164, 2009.
[72] C. Houghton, D. Casey, D. Shaw, and K. Murphy, “Rigour in qualitative case-study research,”
Nurse researcher, vol. 20, no. 4, pp. 12–17, 2013.
[73] C. Wohlin, P. Runeson, M. Hӧst, M. C. Ohlsson, B. Regnell, and A. Wesslén, Experimentation in
software engineering. Springer Science \& Business Media, 2012
[74] Australian National Health and Medical Research Council, how to review the evidence: Systematic
identification and review of the scientific literature, IBSN 186-4960329, 2000.
[75] Dunn W N. Public policy analysis[M]. Routledge, 2015.
[76] "Finite State Machines - Brilliant Math & Science Wiki". brilliant.org. Retrieved 14 April 2018.
[77] "Blackboard Design Pattern". Microsoft TechNet. Microsoft. Retrieved 5 February 2016.
[78] Lalanda, P., Two complementary patterns to build multi-expert systems, Orsay, France: Thomson
CSF Corporate Research Laboratory.

101
APPENDIX I SLR REFERENCE
[S1] Prades, L., et al. "Defining a methodology to design and implement business process models in
BPMN according to the standard ANSI/ISA-95 in a manufacturing enterprise." Procedia Engineering
63 (2013): 115-122.
[S2] Unver, Hakki Ozgur. "An ISA-95-based manufacturing intelligence system in support of lean
initiatives." The International Journal of Advanced Manufacturing Technology 65.5-8 (2013): 853-866.
[S3] Automation R. Converged Plantwide Ethernet (CPwE) Design and Implementation Guide.” [J].
2011.
[S4] Nakamura R, Okada K, Saito S, et al. Flowfall: A service chaining architecture with commodity
technologies[C]//Network Protocols (ICNP), 2015 IEEE 23rd International Conference on. IEEE, 2015:
425-431.
[S5] Lu Y, Morris K C, Frechette S. Current standards landscape for smart manufacturing systems[J].
National Institute of Standards and Technology, NISTIR, 2016, 8107: 22-28.
[S6] Kang H S, Lee J Y, Choi S, et al. Smart manufacturing: Past research, present findings, and future
directions[J]. International Journal of Precision Engineering and Manufacturing-Green Technology,
2016, 3(1): 111-128.
[S7] Hankel M, Rexroth B. The reference architectural model industrie 4.0 (rami 4.0) [J]. ZVEI, April,
2015.
[S8] Flatt H, Schriegel S, Jasperneite J, et al. Analysis of the Cyber-Security of industry 4.0 technologies
based on RAMI 4.0 and identification of requirements[C]//Emerging Technologies and Factory
Automation (ETFA), 2016 IEEE 21st International Conference on. IEEE, 2016: 1-4.
[S9] Langmann R, Rojas-Peña L F. A PLC as an Industry 4.0 component[C]//Remote Engineering and
Virtual Instrumentation (REV), 2016 13th International Conference on. IEEE, 2016: 10-15.
[S10] OUYANG J S, LIU D, WANG S, et al. Reflections on German industry 4.0 reference architecture
model and China’s intelligent manufacturing technology system[J]. Automation Panorama, 2016(3): 62-
65.
[S11] Ministry of Industry and Information Technology. National smart manufacturing standards system
construction guide (2015 edition) [EB/OL]. (2015-12-30) [2017-10-30]. [10] Alliance of Industrial
Internet. Industrial internet architecture (version 1.0) [EB/OL]. (2016-09-09) [2017-10-30].
[S12] B. Vogel-Heuser et al, "Modeling network architecture and time behavior of distributed control
systems in industrial plant automation," in 2011. DOI: 10.1109/IECON.2011.6119656
[S13] T. Cucinotta et al, "A Real-Time Service-Oriented Architecture for Industrial Automation," IEEE
Transactions on Industrial Informatics, vol. 5, (3), pp. 267-277, 2009.
[S14] G. Black and V. Vyatkin, "Intelligent Component-Based Automation of Baggage Handling
Systems with IEC 61499," IEEE Transactions on Automation Science and Engineering, vol. 7, (2), pp.
337-351, 2010.
[S15] F. Jammes and H. Smit, "Service-oriented paradigms in industrial automation," IEEE Transactions
on Industrial Informatics, vol. 1, (1), pp. 62-70, 2005.
[S16] T. Hegazy and M. Hefeeda, "Industrial Automation as a Cloud Service," IEEE Transactions on
Parallel and Distributed Systems, vol. 26, (10), pp. 2750-2763, 2015.
[S17] V. C. Gungor and G. P. Hancke, "Industrial Wireless Sensor Networks: Challenges, Design
Principles, and Technical Approaches," IEEE Transactions on Industrial Electronics, vol. 56, (10), pp.
4258-4265, 2009.
[S18] F. Basile, P. Chiacchio and D. Gerbasio, "On the Implementation of Industrial Automation
Systems Based on PLC," IEEE Transactions on Automation Science and Engineering, vol. 10, (4), pp.
990-1003, 2013.
[S19] A. Girbea et al, "Design and Implementation of a Service-Oriented Architecture for the
Optimization of Industrial Applications," IEEE Transactions on Industrial Informatics, vol. 10, (1), pp.
185-196, 2014.
[S20] P. Leitao, V. Marik and P. Vrba, "Past, Present, and Future of Industrial Agent Applications,"
IEEE Transactions on Industrial Informatics, vol. 9, (4), pp. 2360-2372, 2013.
[S21] T. Mlcak et al, "Development and implementation of an intelligent system for permanent
evaluation of light fixtures in a lighting system of transmission system substations," in 2015, DOI:
10.1109/EPE.2015.7161123.
[S22] E. Chater D. Ghani F. Giri M. Haloua, "Output feedback control of pantograph-catenary system
with adaptive estimation of catenary parameters,", Journal of Modern Transportation. vol. 23, (4), pp.
252-261, 2015.
[S23] L. Korosi, J. Paulusova and L. Mrafko, "Motion control implementation in PAC," in 2015, DOI:
10.1109/PC.2015.7169970.
[S24] Y. Y. Cao, L. G. Cui and X. G. He, "Automatic alarm of tobacco blending accuracy based on PLC
control system," in 2014, DOI: 10.4028/www.scientific.net/AMR.1043.237.
[S25] I. Erceg, S. Tusun and G. Erceg, "The use of programmable automation controller in synchronous
generator excitation system," in 2012, DOI: 10.1109/IECON.2012.6388742.
[S26] E. Walters and E. Bryla, "Software Architecture and Framework for Programmable Logic
Controllers: A Case Study and Suggestions for Research," Machines, vol. 4, (2), pp. 13, 2016.
[S27] M. Ji and M. Q. Wu, "Based on programmable controller manipulator automation control design,"
in 2013, DOI: 10.4028/www.scientific.net/AMM.416-417.876.
[S28] H. Liu, J. Liu and J. Xi, "The Automation Control System Design of Walking Beam Heating
Furnace," Sensors & Transducers, vol. 180, (10), pp. 181-189, 2014. Abstract:
[S29] D. B. Li et al, "Risk Assessment on the Transition Program for Air Traffic Control Automation
System Upgrade," MATEC Web of Conferences, vol. 63, pp. 4041, 2016.
[S30] H. Liu et al, "Design of automation control system for lubricant syringe," in 2014, DOI:
10.4028/www.scientific.net/AMM.548-549.999.
[S31] G. Bumiller, L. Lampe and H. Hrasnica, "Power line communication networks for large-scale
control and automation systems," IEEE Communications Magazine, vol. 48, (4), pp. 106-113, 2010.
[S32] Q. Shang and L. Zhang, "Automation control system of pharmaceutical factory based on wireless
sensor network," in 2013, DOI: 10.4028/www.scientific.net/AMM.397-400.1271.
[S33] Budike Jr, Lothar ES. "Multi-utility energy control and facility automation control system with
dashboard having a plurality of interface gateways." U.S. Patent No. 7,870,080. 11 Jan. 2011.
[S34] P. Leitao, J. M. Mendes and A. W. Colombo, "Decision support system in a service-oriented
control architecture for industrial automation," in 2008, DOI: 10.1109/ETFA.2008.4638558.
APPENDIX II SYSTEM REQUIREMENTS LIST
Sydostpressarna Control System Upgrade Requirement

1. Functional Requirements͵42.
1.1 TTR (Pick-up station) (4)
1.1.1. Accurate countingͧCounter before TTR & Counter after MAKU(unqualified copies)ͨ
1.1.2. Judge the mode of production (Single / Double)
1.1.3. Read the production speed
1.1.4. Alarm Sound & Light

1.2 Gripper (3)


1.2.1. Gripper Takt
1.2.2. Gripper Count ͧInsert Count & Main Copy Counter & Wast Countͨ
1.2.3. Manifest information

1.3 Inkjet (6)


1.3.1. Transfer address
1.3.2. Read the Inkjet status (Ink ready & speed & pressure & print finished)
1.3.3. Print the address on the corresponding paper
1.3.4. Print the barcode on each copy
1.3.5. Reset faults
1.3.6. Pulse Inkjet

1.4 Stacker (6)


1.4.1. Pulse infeed belt stacker (1 & 2 & 3 & 4)
1.4.2. Count copy in the stacker
1.4.3. Make layer
1.4.4. Eject bundle
1.4.5. Emergency stacker mode
1.4.6. Stacker connected line

1.5 Topsheet control (7)


1.5.1. Transfer Topsheet
1.5.2. Print corresponding Topsheet
1.5.3. Restart
1.5.4. Read the printer status
1.5.5. Design Topsheet
1.5.6. Test Print Topsheet
1.5.7. Print address

1.6 BA (Bundle Addresser) (8)


1.6.1. Read BA status
1.6.2. Emergency stop
1.6.3. Start Stop Reset fault
1.6.4. Motor drive roller
1.6.5. Valve sheet feeder
1.6.6. Arm Down / Up
1.6.7. Reject Topsheet
1.6.8. Alarm
1.7 TLC (Tracking Loading Conveyor Control) (8)
1.7.1. Infeed control
1.7.2. Scanner control
1.7.3. Bridge control
1.7.4. Conveyor control
1.7.5. Auto open/close door
1.7.6. Button control (Start / Stop / Emergency stop / Rest)
1.7.7. Pusher control
1.7.8 Alarm & Traffic Light

2. Interface Requirements͵49.
2.1 Menu Screen (2)
2.1.1. Accessible to all other screens
2.1.2. Clear and readily icon

2.2 Inkjet Screen (4)


2.2.1. Show Inkjet status (Parameter / Status / Fault / Value)
2.2.2. Control Inkjet (Power on / Power off / Reset faults / Refresh)
2.2.3. Switch different inkjet and Display with different colors
2.2.4. Reload Parameter

2.3 Production Control Screen (8)


2.3.1. Show detailed production information for each manifest.
2.3.2. Assign manifest to production line1 or production line 2.
2.3.3. Free to adjust the production sequence.
2.3.4. Assign a different dock for each route under each manifest.
2.3.5. Print Top-sheet and address of selected bundle.
2.3.6. Mark the route with different color depending on different bundle status.
2.3.7. Delete or reproduce selected routes.
2.3.8. Start and stop production.

2.4 Topsheet Screen (3)


2.4.1. Design Topsheet
2.4.2. Preview and print Topsheet
2.4.3. Save as a different model.

2.5 Tracking Screen (3)


2.5.1. Show the current information for both production lines (Edition description / Gripper
speed / Issue date / Details).
2.5.2. Accurate counting (Planned copies / Extra Copies to produce / Copies from press /
Copies to mailroom / Copies from inserter / Copies from storage / Copies to stackers / Copies Produced
/ Copies to end station).
2.5.3. Show current Manifest starting and ending time and duration.

2.6 Overview Screen (7)


2.6.1. All the actual machine abstraction into visual graphics.
2.6.2. Shows the working status and count of all machines.
2.6.3. Statistics planned copies and rest copies.
2.6.4. Set default dock and no read dock.
2.6.5. Show current manifest and time of production.
2.6.6. Switch stacker CCP mode and All copies mode.
2.6.7. Change color after each newspaper is finished.

2.7 Loading Screen (2)


2.7.1. Each screen shows the current Edition/Rute/Bur and number of Bunt to be pushed by
Kaj.
2.7.2. Timely update the number of Bunt pushed out.

2.8 Address Screen (2)


2.8.1. You can find the correct newspaper by any one of the Bundle ID / Order name / Address
information.
2.8.2. Print selected address or Top-sheet.

2.9 History Screen (3)


2.9.1. You can query the production information by date and time.
2.9.2. Filter useless information.
2.9.3. Make the contents of the screen to PDFs and send them by e-mail.

2.10 Report Screen Stacker Screen (3)


2.10.1. Collect daily production data and generate PDF files.
2.10.2. Customers can book different newspaper reports according to their needs.
2.10.3. Automatically send reports every day.

2.11 Stacker Screen (9)


2.11.1. Auto-assign bundle to stacker by size/ bundle id/ standard bundle.
2.11.2. Mark the bundle with different color depending on different bundle status.
2.11.3. Show bundle's id/ router/ order/ copies/ address count.
2.11.4. Show the current manifest production profiles.
2.11.5. Show stacker and printer status.
2.11.6. Print Top-sheet and address of selected bundle.
2.11.7. Mark selected bundle as delivered.
2.11.8. Delete or reproduce selected bundles.
2.11.9. Pause selected stacker production.

2.12 File Importing Screen (3)


2.12.1. Import the information of manifest according to the production plan.
2.12.2. Configure the parameters for each manifest (Page count, Split, Standard bundle,
Layers, Max bundle, Min bundle, Max copies in a layer, Min copies in layer, Copies per gripper).
2.12.3. Create a new edition title and save, rebuild, delete.

3. Administrator Requirements͵15.
3.1 TTR (2)
3.1.1. Show the current information for both production lines (Gripper speed, Brutto, Netto,
Maku, Single/ Double Production).
3.1.2. Clear Counter.

3.2 LCC (Line controller) (4)


3.2.1. Start/ stop line controller.
3.2.2. Enabled/ Disabled Top-sheet and Inkjet.
3.2.3. Setup stacker parameter.
3.2.4. Simulation production.
3.3 BA (3)
3.3.1. BA Simulation.
3.3.2. Setup BA parameter.
3.3.3. Enabled/ Disabled BA1/ 2/ 3/ 4.

3.4 TLC (5)


3.4.1. Start/ stop TLC1/ 2 controller.
3.4.2. Start/ stop TLC1/ 2 conveyor.
3.4.3. Setup TLC1/ 2 parameter.
3.4.4. Simulation TLC1/ 2.
3.4.5. Set default dock and no read dock.

3.45 Other (1)


3.5.1. Test printer1/ 2/ 3/ 4.

Total: 106.
APPENDIX III PAC SIGNAL SCHEMA

1.Tracking Control PAC Schema

2.Line Control PAC Schema


3.Topsheet Control PAC Schema

4.Loading Control PAC Schema


APPENDIX IV ABBREVIATION INDEX
B/S: Browser/Server
BA: Bundle Address
C/S: Client/Server
CPwE: Converged Plantwide Ethernet
ERP: Enterprise Resource Planning System
HMI: Human Machine Interface
HTML: Hypertext Markup Language
HTTP: Hypertext Transfer Protocol
ICS: Industrial Control System
IEC: International Electro-Technical Commission
ISA: Industry Standard Architecture
ISO: International Organization for Standardization
MES: Manufacturing Execution System
MES: Manufacturing Execution System
MOM: Manufacturing Operations Management
MVC: Model View Controller
OPC: Open Platform Communications
PAC: Programmable Automation Controller
PID: Proportional–Integral–Derivative
PLC: Programmable Logic Controller
QML: Qt Modeling Language
RF: Real-Time Framework
RFID: Radio-Frequency Identification
SCADA: Supervisory control and data acquisition
SLR: Systematic Literature Review
SMTP: Simple Mail Transfer Protocol
SNMP: Simple Network Management Protocol
SPI: Serial Peripheral Interface
SQL: Structured Query Language
TCP/IP: Transmission Control Protocol/Internet Protocol
TLC: Tracking Loading Conveyor Control
TTR: Pick-up station
UDP/IP: User Datagram Protocol/Internet Protocol
UDP: User Datagram Protocol
XML: Extensible Markup Language
APPENDIX V EXTRACTED DATA FROM THE SLR
Due to the limitation of page number, we only listed several data extraction tables.

Data Extraction Result – S4


Basic information about the research work/Articles

Title of Article Intelligent Component-Based Automation of


Baggage Handling Systems With IEC 61499
Author(s) Geoff Black and Valeriy Vyatkin
Article Type Journal
Publication Date APRIL 2010

The aim of the study Put forward a multi-agent control approach for a
baggage handling system (BHS) using IEC 61499
Function Blocks.
The context of the study Strong

Citations 32

Research method Case study & Survey

Context description Study the intelligent BHS framework how to achieve


multi-agent control and its future work
Study design description This article uses case study and survey as its method
The research of this article is mainly to verify the
feasibility and correctness of the dynamic path
planning dispersion algorithm proposed in the
intelligent BHS control. In order to obtain the result,
the author tested the performance of each functional
block corresponding to the simulation scenario.
Type of architecture pattern MVC

Success factors discussed Not mentioned

Challenging factors Modular, Mechanical redundancy, Failures, Too


influenced the success of much baggage, Hardware topology, More
automation control system customization
Benefits discussed The intelligent BHS framework can adapt to this fast-
changing market, it has good self-configuration and
modifiable
Study Conclusions This article mainly describes how the BHS can
achieve multi-agent control. The (BHS) multi-agent
control can better adapt to this rapid development,
require a variety of markets, and it has good
modifiable and adaptability. In the future work, the
author will conduct more extensive case studies,
study system scale, communication requirements, etc.
Data Extraction Result – S6
Basic information about the research work/Articles

Title of Article Industrial Automation as a Cloud Service


Author(s) Tamir Hegazy and Mohamed Hefeeda
Article Type Journal
Publication Date 23 September 2014

The aim of the Aim to reduce the cost and time cost in large-scale industry
study automation projects by an automation architecture base on cloud
service
The context of the Strong
study
Citations 38

Research method Case study

Context description First, this paper introduces the cloud and industrial automation, then it
discussed the related work. In the section 3, 4 and 5, authors present
the new cloud-based automation architecture, then they evaluate the
new architecture and propose several approaches. In the final, this
paper evaluates the new proposed approach in section 6 and have a
conclusion of the research.
Study design Case Study
description
Type of architecture cloud computing architectures
pattern
Success factors Time and cost saving
discussed
Challenging factors Hardware, system lifetime, human-power, maintain cost, cloud
influenced the success software engineering development time, factory acceptance time and
of automation control system shipping.
system
Benefits discussed 1. Apply the soft real-time into more fields.
2. Cloud controller is cheaper than physical controller.
3. Cloud controller can be a temporary storage.
4. Cloud controller can work for multiple companies at the
same time.
Study Conclusions This new cloud-based automation architecture can save cost and time
significantly in industry.
Data Extraction Result – S7

Basic information about the research work/Articles

Title of Article Industrial Wireless Sensor Networks: Challenges, Design Principles,


and Technical Approaches
Author(s) Vehbi C. Gungorˈ Gerhard P. Hancke
Article Type Journal article
Publication Date 27 February 2009

The aim of the The aim of this paper is to provide an overview of the state of the art
study in IWSNs and discuss research gaps and to define an more efficient
design process.
The context of the Medium
study
Citations 32

Research method experience report

Context description First, they introduced the technical challenges and design principles in
terms of hardware development, system architectures and protocols,
and software development. In addition, they presented IWSN
standards.
Study design Not mentioned
description
Type of architecture Not specified
pattern
Success factors Not mentioned
discussed
Challenging factors resource constraints, dynamic topologies and harsh environmental
influenced the success conditions, quality-of-service (QoS) requirements, data redundancy,
of automation control packet errors and variable-link capacity, security, large-scale
system deployment and ad hoc architecture, integration with internet and
other networks
Benefits discussed Not mentioned

Study Conclusions Despite of the great progress on development of IWSNs, quite a few
issues still need to be explored in the future. However, because of the
diverse industrial-application requirements and large scale of the
network, several technical problems still remain to be solved in
analytical IWSN models. Other open issues include optimal sensor-
node deployment, localization, security, and interoperability between
different IWSN manufacturers. Finally, to cope with RF interference
and dynamic/varying wireless-channel conditions in industrial
environments, porting a cognitive radio paradigm to a low-power
industrial sensor node and developing controlling mechanisms for
channel handoff is another challenging area yet to be explored.
Data Extraction Result – S10
Basic information about the research work/Articles

Title of Article Past, Present, and Future of Industrial Agent Applications

Author(s) Paulo Leitão, Vladimír Mařík, Pavel Vrba

Article Type Journal


Publication Date 2013

The aim of the study This paper aims to investigate the application of agency
technology in solving industrial problems, but does not
tend to cover the theoretical issues of agency theory.
The context of the study Medium
Citations 84

Research method Industry report

Context description The paper mainly describes the agency method and architecture
in the industrial field from the early 1990s to the present, and
then analyzes the possible application areas in the future.

Study design description No


Type of architecture Not Mentioned
pattern

Success factors Specify if mentioned


discussed

Challenging factors Demonstration programs that can run in the industry, then show
influenced the success of solutions with proxy or SoA capabilities to improve
automation control performance
system
Provide analysis of return on investment (ROI) and consider
costs associated with the development, operation and
maintenance of agent-based solutions

Providing an agent-based solution as a black box should have a


transparent interface and simple configuration tools.

Benefits discussed Specify if mentioned

Study Conclusions Monitors the annual representation of multi-agent system


concept applications in industrial automation and
identifies key milestones.
Data Extraction Result – S13
Basic information about the research work/Articles

Title of Article Motion Control Implementation in PAC


Author(s) Ladislav Körösi, Jana Paulusová, Leo Mrafko
Article Type Journal
Publication Date June 9, 2015

The aim of the study To demonstrate how to use the PLCopen standard for
single-axis positioning in programmable automation
controllers.
The context of the study Strong

Citations 23

Research method Case study & Experience report

Context description Not mentioned

Study design description This article use case study as it’s research method. It first
describes the basic conditions and functional modules of
the PLCopen standard and controller involved in the
experiment, and then describes how the experiment is
performed. Finally, the expect results are obtained
through experiments.
Type of architecture Not specified
pattern
Success factors The existing function module settings in the used
discussed controller are based on the PLCopen standard and
users can accurately measure the time response of
position and speed
Challenging factors If users cannot accurately measure the time response of
influenced the success of position and velocity, this will affect the success of the
automation control system automated control system
Benefits discussed Not mentioned

Study Conclusions This article is an experience report, it use case study to


describes how to use the PLCopen standard for single-
axis positioning in programmable automation controllers.
In this article, it describes the functions of the functional
modules associated with the PLCopen standard library,
the data entered and output, the basic parameters of the
controller used for testing, and the operation process of
how to use the PLCopen standard for single-axis
positioning in programmable automation controllers, the
expect output, etc.
Data Extraction Result - S9
Basic information about the research work/Articles

Title of Article Design and Implementation of a Service-Oriented Architecture for the


Optimization of Industrial Applications
Author(s) Alina Girbea, Constantin Suciu, Septimiu Nechifor, and Francisc
Sisak
Article Type Journal article
Publication Date FEBRUARY 2014

The aim of the In field of industrial automation, design optimal production plans,
study execute production plans automatically, improve the flexibility and
reusability in developing and maintenance
The context of the Strong
study
Citations 32
Research method Case study

Context description Firstly, authors introduce background and related researches,


then they perform detailed description of the architecture and
test between the individual components and the interaction. And
introduce a case study. Finally, they conclusion and future work
Study design They design a case study for testing the functionality of the
description architecture. Firstly, they design the manufacturing problem, they
want to manufacture three final products by using five different
operations in four flexible manufacturing systems. Then they used the
CSP Algorithms for optimize the manufacturing problem. Finally,
they introduce the result which is implemented by using three
different solvers in two models.
Type of architecture C/S, B/S, Layer, Pipe-Filter, Blackboard, MVC, Peer to Peer, etc..
pattern
Success factors Specify if mentioned
discussed
Challenging factors Unwanted delays in web services at device level, the seamless
influenced the success transition from present standards and practice to future technique,
of automation control limited information modeling capabilities, the software components
system lack of flexibility and reusability.
Benefits discussed Specify if mentioned

Study Conclusions Authors combine three different techniques and design a


service-oriented architecture for industrial applications, it has
flexible and reusable architecture levels and it is easy to
integrate with the ERP level. Besides, it is easy to use. And it
can help to short execution times
APPENDIX VI SYSTEM INSTRUCTION MANUAL
We call the system as “Unimail”. The whole control system contains Server applications and Client
applications,

UniMail Server Applications

On UniMail Server, there is a “LCC” application on the desktop, which is the core part of the
system. This application communicates with all the PACs in the system, and exchange data between
database and PACs. Those data include system parameters stored in database and send to PACs.

Figure 1 UniMail Server Applications


UniMail Client Applications

Figure 1 Menu button for Production Control


Chapter 1. SYSTEMS AND NETWORKS
1. IP Allocation Table

Table 1 IP Address Assignment Table


Device IP 1 IP 2 Notes

Unimail Server1 172.22.22.150 10.45.6.113


UniMail Server2 172.22.22.152 10.45.6.129 Same as
Server1

Operator PC1 172.22.22.161


Operator PC2 172.22.22.162
Operator PC3 172.22.22.163
Operator PC4 172.22.22.164

Printer1 172.22.22.201
Printer2 172.22.22.202
Printer3 172.22.22.203
Printer4 172.22.22.204
Printer Address 172.22.22.205

PAC CCP 1 172.22.22.180


PAC CCP 2 172.22.22.181
PAC BA 1 172.22.22.182
PAC BA 2 172.22.22.183
PAC BA 3 172.22.22.184
PAC BA 4 172.22.22.185
PAC TLC 1 172.22.22.186
PAC TLC 2 172.22.22.187
PAC TTR 1 172.22.22.188
PAC TTR 2 172.22.22.189

Loading Display PC Kaj 2 172.22.22.171


Loading Display PC Kaj 3 172.22.22.172
Loading Display PC Kaj 4 172.22.22.173
Loading Display PC Kaj 5 172.22.22.174

PC to Overview TV 1 10.45.6.94 DHCP Wi-Fi


PC to Overview TV 2&3 10.45.6.97 DHCP Wi-Fi
PC to Overview TV 4 10.45.6.98 DHCP Wi-Fi
PC to Overview TV 5 10.45.6.99 DHCP Wi-Fi
TTR Touch PC 172.22.22.166

2. Other IP Info
Mask: 255.255.255.0
Default Gateway for 172.22.22.x/24 is 172.22.22.150
Default Gateway for 10.45.6.x/24 is 10.45.6.1
Chapter 2. OPERATOR’S REFERENCE
In this Chapter, we will guide the daily operations for operator. Each stacker line has a operator’s
PC with Windows 10. This PC requires no password after a start or restart. In the desktop it has a shortcut
“UniMail”

Figure 2 Operator's PC per stacker line

After click “UniMail”, the UniMail software will first get updates from UniMail Server, and then start
the MainScreen.

1. File Import
When you click for the File Import button from the main screen.
1) Select a title from the title dropdown list, where we have stored predefined Editions. You can
also click the button beside the dropdown list to edit/add/remove predefined Editions.
2) Choose the Edition file by clicking the “…” button beside “File” text box.
3) Set Bundle size information such as Page format, Page count, Split, Standard bundle, Layers,
Max bundle, Min bundle, Max Copes in Layer, Min Copies in Layer, Copies per gripper.
4) Click the button “Import” to start import the selected file with defined bundle size information.
And there will a progress bar to show the progress of the importing, when it reaches 100, the
importing is finished.
5) Repeat the above steps until you have imported all the editions required to be produced. Note:
You can not import Edition at the same time with different operator PCs. You must do it from
only one PC at one time.

Figure 3 Main Screen for file importing: choose a title from the Title dropdown list

Figure 4 Change predefined Edition file location and default parameters, change/add/remove
editions
Figure 5 Choose the production file to import

2. Route level production control


The Production control is the main screen after file import, where operators can allocate
Editions to grippers, and select the routes to be produced. Meanwhile, we can change the dock
for each route, change the sequence of route, rebuild the bundle size for selected routes, etc.
Figure 6 Main screen for production control

Figure 7 Overview for all imported Editions


Figure 8 Bundle list for a route

3. Bundle level production control

When you click the right bottom button on the previous route level screen, it will come to the
bundle level production control screen separated by different stackers.
By default, all bundles will be listed in the left side list view, under the left list view, it has three
Options:
1) BundleID: Allocate bundles to its attached stackers by Bundle IDs. By doing this bundles will
be evenly allocated to its attached stackers.
2) Small Big: Allocate bundles to its attached stackers by the size of Bundles. When it is smaller
than the Spit, it will go to the first stacker, while the rest bundles will go to the last stacker in
the same group.
3) Standard: Allocate bundles according to standard bundle or not. If the bundle size is equal to
the standard bundle, it will go to the first stacker, while the rest bundles will go to the last stacker
in the same group.
Figure 9 Stacker Control Screen

2.1.1 Reproduce Bundles

Figure 10 Reproduce Bundles


2.1.2 Delete Bundles

Figure 11 Delete Bundles


2.1.3 Set Bundles as delivered

Figure 12 Set Bundles as delivered


2.1.4 Print Topsheet for selected bundles
Select the bundles, and click the print bundle as shown in Figure 16, and then choose the printer in
Figure 17, and click “OK”.
Figure 13 Print Top-sheet

Figure 14 Slected Printer


Figure 15 Show Top-sheet details

Figure 16 Check Bundles Address


Figure 17 Print Bundles Address
The above figure shows the inkjet address for selected bundles. In this screen, operator can
select all the addresses or select some of the address, and then press the button ”Print Address”
to print the selected addresses in to label papers. The label paper is pre-designed to the 3x8 =
24 addresses per label.

Figure 18 Pause and Resume Stacker


Figure 19 Make Bypass Bundles

As shown in the above figures, there is an option ”Bypass with topsheet”, if it is selected, the bypass
bundles will be produced with topsheet, otherwise, there will be no topsheet for these bypass bundles.

4. Address Screen
Figure 20 Open Addres Screen

Figure 21 Search by Manifest


Figure 22 Search by Bundle ID

Figure 23 Print Bundles Address


5. Inkjet Operations

Figure 24 Inkjet 1 & 2


6. Topsheet Design Screen

Figure 25 Open Top-sheet designer

Figure 26 Load Label


Figure 27 Show Label Mode details

Figure 28 Editor Label Mode

In this system, label ”2” is the default label template for all manifest.
Chapter 3. UNIMAIL LOADING SCREEN
The outside loading display of UniMail shows the bundle/BUR informations for the working
editions and routes.

Figure 29 Loading Screen


Figure 30 Loading Screens

On the loading display screen, the listview information has 4 columns, where the first column “Ed”
stands for Edition, the second “Rute” stands for routes, the third “Bur” stands for the Bur, and the fourth
“Bunt” shows the number of bundles scanned on the TLC divide by the total number of bundles for the
Bur.
Figure 31 An example of Kaj 2 Display screen

Figure 32 An example of Kaj 3 display screen


Figure 33 An example of Kaj 4 Display

Figure 34 An example of Kaj 5 display


Chapter 4. UNIMAIL OVERVIEW TV SCREEN

Figure 35 TV Screen
Figure 36 Overview Screen

Figure 37 Overview Screen


Figure 38 Overview Screen

Figure 39 Overview Screen


Chapter 5. UNIMAIL PRIMARY SERVER AND BACKUP
There are two servers in the server cabinet, labeled as “UniMail Server 1” and “UniMail Server 2”.
Both servers have been configured as the same IP addresses and the same database and applications. In
case there is a big crash with the primary server, the operator can shut down the primary server, and then
power on the secondary server. The operator should import all the rest manifest to the secondary server,
and start production again.

Figure 40 UniMail Server Dashboard


Chapter 6. UNIMAIL REPORT
The UniMail Report application is running on the UniMail server. It has been configured to send
email from Monday to Saturday at 05:30 in the morning automatically to a dedicated mailing list.
The following screenshots show the reports that can be found in history, and can be downloaded
locally to PDF files.

Figure 41 UniMail Report: Display report by selected date

Figure 42 UniMail Report: Select Editions


Figure 43 Download Report for selected Editions to PDF

Figure 44 Download All Reports to a PDF


Figure 45 Configure mailing list and Send Report manually by email

Figure 46 Send Report manually by email


Figure 47 Configure email subscription for Editions
Chapter 7. SPARE PARTS
1. PACs
PAC Main module
Name Type Provider Use
ip-8441-G CR 4 slots ICP-DAS TTR, BA, TLC

Ip-8841-G CR 8 slots ICP-DAS CCP

PAC IO Module
Name Type Provider Use
I-8084W-G CR High speed pulse counter ICP-DAS CCP, TTR

I-8053W-G CR 16 Digital Input module ICP-DAS CCP, BA, TLC,


TTR

I-87037W-G 16 Digital Output module (700mW) ICP-DAS CCP, BA, TLC


CR
I-8037 W-G CR 16 Digital Output module (100mW) ICP-DAS TTR

2. PCs
Name Type Provider Use
Operator PC ThinkCentre M73 Lenovo Operator
Loading IdeaCentre 310 Lenovo Loading
Display PC outside
TV Mini PC 1 16 Digital Output module (700mW) DinCare AS TV 1,4,5
TV Mini PC 2 16 Digital Output module (100mW) Lenovo TV 2&3
TTR Touch PC 7 inch Touch PC DinCare AS TTR

3. Screens
Operator Screen: 24-inch 1920x1080p full HD screen with VGA port.
Loading outdoor screen: 32-inch 1920x1080p full HD outdoor screen with VGA port.

4. Servers
HP: HPE PROLIANT DL360 GEN9 XE E5-2620V4 2.1-20MB 32GB RAM
Chapter 8. MAINTENANCE
1. Inkjet, Release and Stacker
When you click “Setup Stacker”, you can come to the screen to setup parameters to inkjet, release and
stacker. It also has a “Simulation” button to enable the Simulation mode, where we can simulate the
gripper has “all copy” or with gaps.

Figure 48 Paramters adjustment for release and stackers


Figure 49 Simulation Mode
2. BA
Parameter Adjustment for BA

Figure 50 Set BA & BLC parameters

Figure 51 BA Test
3. TLC
Parameter Adjustment for TLC

Figure 52 Set TLC parameters


As shown in Figure 53, the screen to setup TLC1 or TLC2 will be pop up when you click the
button “Setup TLC1” or “Setup TLC2”. The the setup screen, you can set the parameter such as
lMsAfterScannerPos: the milliseconds from scanner to each dock’s photocell; lMsMargin: the
milliseconds margin for the distance from scanner to each dock’s photocell; lPushOutputDelayMs: the
number of milliseconds for pushers to start push after triggered by the photocell; lPushOutputMs: the
number of milliseconds for pushers to start push and stop push; lRetractMs: the number of milliseconds
to be used for pushers come back to the home position.

You might also like