Software Architecture and Framework For Programmable Automation Controller
Software Architecture and Framework For Programmable Automation Controller
May 2018
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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.
29
4.3 Inclusion/Exclusion Criteria
We defined the following inclusion / exclusion criteria to remove irrelevant and duplicated
research from database search results.
4 Full-Text level Papers must contain the empirical research work, and mainly
focus on ICS architecture.
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].
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.
33
Author(s) Specify Name(s)
Article Type Specify type
Publication Date Specify year
Type of architecture pattern C/S, B/S, Layer, Pipe-Filter, Blackboard, MVC, Peer to Peer,
etc..
Success factors discussed Specify if mentioned
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.
0
<=2010 2011 2012 2013 2014 2015 2016 2017 2018
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.
36
12
10
0
Case Study Experiment Literature Survey Experience Others
Review Report
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.
2. We summarized the 5 common ICS architectures from these studies, as shown in Table 4-11:
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.
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].
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.
41
Figure 4-8: CISCO's CPwE joint architecture [S2]
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]
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:
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.
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.
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 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)
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].
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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:
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
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.
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.
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.
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.
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.
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.
69
and the number of related numbers is obtained by server unpacking. The client-specific process
is shown in Figure 5-11.
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
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.
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.
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:
Private SQLHelper SQL Used to connect the temp database and store
Helper_temp caching data
74
Private string cmd Str Database operation command
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 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
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
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.
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.
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
}
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.
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.
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.
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:
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:
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.
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.
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.
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.
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.
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.
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
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:
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.
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:
100.00%
20
80.00%
15
60.00%
10
40.00%
5
20.00%
0 0.00%
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.
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.
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.
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.
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.
96
the operator and the mechanical system, and the simulator can simulate the operation and process of the
operator.
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
2. Interface Requirements͵49.
2.1 Menu Screen (2)
2.1.1. Accessible to all other screens
2.1.2. Clear and readily icon
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.
Total: 106.
APPENDIX III PAC SIGNAL SCHEMA
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
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
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
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
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
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
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.
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
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
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
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
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.
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
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”
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
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
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
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.
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 35 TV Screen
Figure 36 Overview Screen
PAC IO Module
Name Type Provider Use
I-8084W-G CR High speed pulse counter ICP-DAS CCP, 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 51 BA Test
3. TLC
Parameter Adjustment for TLC