Professional Documents
Culture Documents
Portal Openness point of view. To give flexibility in terms of configuring the field
devices, the tool would have an option to import field devices in all four ways.
The hardware configuration was separated into two different parts: general field
devices and devices which were directly connected to the machineries (e.g., bridge,
trolley, and hoist). This was to allow further configuration of machinery parameters
defined in PLC data blocks based on the configured field devices. The parameters
include, for example, Profinet I/O start addresses and device type identifiers for
motor controllers and position measurement devices. Load measurement devices also
have similar parameters but configuration support for them was left out as they are
only relevant for hoist machineries. Figure 21 shows the implemented tool used for
configuring devices connected to machineries. General field device configuration view,
shown in Figure 22, is similar but without the additional machinery specific view.
Figure 21: Machinery and device configuration views in Crane Configurator. The
views are from an updated version of the tool, which was developed in Iteration 3.
to machinery numbers are modified. Some of the parameters would also be set in
PLC data blocks based on the defined configuration. Those parameters are mostly
related to the devices connected to the machineries and different smart features.
The features implemented in Iteration 1 would only partially satisfy the criteria
identified in the problem investigation phase as not all crane configuration tasks were
included in the design. The crane configuration process would still be time-consuming
and tedious even with the help of the tool. Moreover, the setup and usability of the
tool would not be at the level required by the application engineers. The implemented
features related to hardware and machinery configuration would save time and effort
in the configuration process, but it would not be clear how applicable they would be
in practice as the setup and usability were not at the required level. In addition, the
achieved harmonization between application projects would still be minimal as the
implementation did not include many configuration tasks that would vary in design
between the engineers.
The configurator tool is highly coupled with Crane Core software platform. For this
reason, the automated configuration tasks would not work, for example, with other
types of software platforms without heavily modifying the back-end functionalities
of the tool. However, it would be possible to only utilize the user interface and crane
configuration data models in a different software platform as they are not dependent
on the platform. Furthermore, the crane configuration data models could be utilized
in storing and visualizing different crane application configurations, for example, in
product life cycle management.
5.1.4 Implementation
When it comes to importing field devices, it was quickly noticed that the best option
would be to import them from a global library. Library items are created in TIA
Portal project and then drag-and-dropped to a global library or a project library.
When importing devices from the Siemens’ hardware catalogue or GSD/GSDML
files, the device is created without any I/O modules. This was not the case with
library items. The I/O modules are necessary for the use of the device. This would
mean that the modules would have to be configured inside the tool, which would
become unmanageable with a considerable number of different I/O modules fitting
different devices. The tool would essentially have to become an alternative version
of TIA Portal’s hardware configuration view in order to manage that efficiently and
that would obviously lose the purpose of the tool.
With the AML files, the problem is not with the I/O modules as they will be
included when importing the hardware configuration. However, challenges come
in terms of the large extent of the import. For example, if the file includes a PLC
device, all software in the already configured PLC device is overwritten. Moreover,
after the AML file is imported, TIA Portal requires software compilation before it
can continue with other configuration tasks.
With global libraries, devices can be manually preconfigured with all the necessary
I/O modules. As most of the crane applications use similar devices, it would not
require much effort. This method also allows to have a central repository for the
preconfigured field devices, which in turn allows better reusability and increases
harmonization between the applications. Library devices can be imported from the
library, automatically configured with the specified parameters, and connected to
Profinet and I/O controller.
The problem of configuring field devices was the fact that all the devices had
different software structures in TIA Portal Openness. This made accessing the
parameter information challenging as there was no one solution to, for example,
set I/O address of the device. Device names, Profinet IP addresses, and network
connections were possible to configure by looping over different device structures
and modules to find correct access points. I/O address configuration had to be hard
coded for different devices. It was then decided to limit I/O address configuration to
only field devices which were directly connected to machineries. These devices were
motor controllers and position measurement devices. Load measurement devices
49
5.1.5 Evaluation
The evaluation of this iteration was conducted through a demonstration session of the
tool, which was attended by selected application and platform engineers. The idea
50
was to demonstrate the features implemented in the iteration and to get feedback
from the attendees. In addition, some predefined questions were asked from the
application engineers about the development processes to get insight into their work
and software reuse approaches as well as to identify improvement areas. Overall,
the feedback on the tool was positive and constructive. However, there were some
uncertainties regarding the practicality and effectiveness of the tool. The session
was also helpful in understanding the role and challenges of application development
in different industries. Furthermore, some discussion and planning were conducted
about the direction of the tool so that it could effectively address the identified
challenges.
In the session, the following knowledge question was asked: "Which component
of the configuration process is the most time-consuming and tedious?". During the
discussion following the question, it was identified that I/O tag configuration is one
of the most time-consuming tasks for the application engineers. The feedback from
the session was directly transferred as an input to the start of Iteration 2.
Iteration 1.
The features related to I/O tag and parameter configuration in Iteration 2 would
satisfy the criteria identified in the Iteration 2 problem investigation. Although not
all criteria would be satisfied from the previous problem investigation in Iteration 1
as library feature configuration is not incorporated into the tool. This configuration
task was one of the predefined requirements for the tool. Because of time constraints
it was left out as it is not a major task that the application engineers would be
interested in.
I/O tag configuration without a separate tag connection Excel file would have also
satisfied the criteria. In that case the tags would have been more or less hard coded
meaning that there is less flexibility on the tag naming. The effectiveness of that
approach would highly depend on the types of application projects and their tag
naming. Additionally, parameter configuration with predefined parameter templates
would have also satisfied the criteria defined in the problem investigation phase.
However, this design would also be much less flexible in terms of changes as the
templates would need to be updated every time a new Crane Core version with
parameter changes is released. The chosen design gives more flexibility in terms of
the used parameter values as it does not have hard coded parameter templates, but
it also leaves some responsibility for the user to find suitable parameter sets. Since
flexibility and maintainability are important aspects of the tool in order for the tool
to bring value to the application engineers in the long term, these mentioned designs
were discarded.
53
5.2.4 Implementation
There were not many architectural changes in the software between the first and
second iteration as the base foundation for the software was already established in
Iteration 1. The new features incorporated in Iteration 2 were mostly built on top of
the existing software structures. The I/O tag configuration was added as part of the
existing machinery configuration component. Although not all configured tags are
connected to the machineries, the implementation of I/O tag configuration is still
similar to other configuration tasks in the machinery configuration component. This
way it was possible to maintain the three main components constructed in Iteration
1.
A part of the I/O tag connections which the tool generated are presented in
Figure 24. As can be seen from the figure, the generated connections are quite
simple, but a whole crane application project can include hundreds of tags, which
need to be connected to the right PLC addresses. Even though it is not feasible to
programmatically connect all of the tags because of the variation in the applications
and tag naming, successfully connecting the main tags (50-100) already reduces the
workload of application engineers significantly.
Figure 24: Part of the programmatically generated I/O tag connections in a function
block written in FBD programming language. The input tags with I/O addresses on
top of them are connected to variables in a hardware interface.
54
The extended parameter configuration feature was added as part of the existing
parameter configuration component. The implementation was quite straightforward
as the parameter files included PLC addresses for the parameter values that could be
directly used for setting the values in the right PLC data blocks. However, because
it first required finding the right data blocks and as TIA Openness does not provide
an easy method for that, the blocks needed to be found by recursive search through
all the PLC blocks. Moreover, some addresses that referred to parameters in arrays
needed to be slightly modified as those addresses did not directly work for setting
the parameter values.
Additionally, descriptive information about the configuration process and the
results were added for the tool in the form of a log file that is generated after the
process. The file contains detailed steps of the configuration phases and shows, for
example, what field devices and I/O tags were configured and which parameters
were not able to be set. The implementation phase included also small bug fixes and
improvements, which enhanced software readability and maintainability.
5.2.5 Evaluation
The evaluation was again conducted through a demonstration session of the tool. The
feedback from the application engineers was positive and they were satisfied with the
results, especially the I/O tag configuration part. It was confirmed that the presented
solution for configuring I/O tags would significantly reduce the effort required to
configure the tags. More information about crane application development was also
able to be gathered, for example, related to hardware configuration and general
development practices. The information helped in understanding the potential place
of the tool in application development and how it would be the most effective in
gaining value.
As most of the key features were included in the tool at the end of this iteration,
it was important to focus on User Experience (UX). Based on this, the following
knowledge question was asked: "How user-friendly and easy-to-use is the tool?". As
the user interface had become fairly crowded with the addition of new features, it
was suggested to transfer to a software wizard or a setup assistant approach in which
the user interface guides the user through a sequence of steps.
The new user interface and the addition of CRC calculations satisfy the criteria
discussed in Section 5.3.1. Although some elements of UI design can be subjective,
most of the design decisions in the new UI have clear measurable value in terms of
usability and clarity that address the identified issues.
56
User interface in which different input fields related to different configuration tasks
are separated clearly into their own clear sections would have satisfied the criteria.
However, it would have required more effort and UX design to successfully achieve
that compared to a stepwise wizard approach.
CRC calculations could have been implemented independently from the parameter
files while still satisfying the criteria, but it would have required the use of some other
technology as it was not possible to access the right parameters without knowing the
PLC addresses in TIA Openness. By iterating through the parameter values in the
data block with some other approach, it could have been possible to then calculate
the CRC value. The CRC calculation also requires a parameter set identifier value,
which is not located in the same data block. Therefore, it was found easier to use
the parameter files to get the PLC addresses and the identifier value. The effort
to implement the CRC calculation feature without the parameter files would have
greatly exceeded the downside of having this dependency.
57
5.3.4 Implementation
The transition from the old user interface to the new wizard approach was relatively
easy as the underlying structures in the code did not require changing. Besides moving
all the text fields and buttons to separate views, data content checks were added
when the user moves to the next window. Based on the inputted data, some of the
configuration options are also now disabled from the user. For example, if parameter
files are not given, it is not possible to enable parameter or CRC configuration options.
Part of the updated user interface can be seen in Figure 26 in contrast to the old
one. The whole user interface is presented in Section 6.1.5.
Figure 26: a) The old user interface used in the first and second iterations. b) The
updated user interface developed in Iteration 3.
5.3.5 Evaluation
In the conducted demonstration session, the overall feedback was again positive.
Unfortunately, not as many application and platform engineers managed to attend
the session but the ones who did were actively participating in the discussion. Based
on the feedback and discussions, it was agreed that the new UI was an improvement
over the old one in terms of better UX design. Minor improvements to the UI were
suggested, but otherwise the session was more focused on describing and showing the
functionality of the tool. To give basis for a new iteration, the following knowledge
question was asked: "To what extent is the tool ready for deployment?"
The designed validation procedure addresses the identified gap in the evaluation of
the software reliability and requirement compliance. In addition, the designed UI
improvements and bug fixes handle the minor problems identified in the problem
investigation.
Instead of testing the high-level functionalities using a real crane application specifi-
cation, for example, a combination of extensive white-box testing and error-handling
validation would have also satisfied the criteria.
5.4.4 Implementation
The implementation of the validation procedure followed accurately the designed
plan. The tool was first used for specifying the crane configuration based on the
customer requirements defined in the electrical documentation and I/O tag lists.
After that, the automatic crane application configuration was started, and the process
was monitored carefully for any bugs. When the configuration was finished, the
resulting log file was checked to verify that the process was successful. The iteration
also focused on some polishing of the user interface in addition to the bug fixes based
on the evaluation of the previous iteration.
5.4.5 Evaluation
The validation procedure was implemented successfully. The tool was able to
effectively configure Crane Core platform in terms of field devices, I/O tag connections
and PLC parameters. All the requirement specifications were met. The tool was
simple and easy-to-use, although some learning is required to understand the basic
functionalities. No major bugs were found during the procedure. However, some
minor UI related bugs were identified, which were documented so that they can be
fixed before the deployment of the tool.
60
6 Results
This chapter presents the finished configurator tool, known as Crane Configurator,
and the answers to the research questions. First, a general overview of the tool is
given after which the implementation and design are discussed. Lastly, the user
interface is presented, followed by the answers to the research questions.
6.1.1 Features
The main features of the configurator tool:
• Hardware configuration: The tool creates specified field devices and configures
their parameters and network connections.
• I/O tag configuration: Given a list of crane specific I/O tags, the tool connects
the tags based on predefined rules to correct PLC variables in the platform
hardware interfaces.
• CRC calculations and checks: Based on the failsafe parameter values, the tool
is able to recalculate CRC values associated to the parameter sets or check
their correctness.
• Save and load crane configurations: Successful configurations can be saved and
then later loaded to save time.
6.1.2 Workflow
The use of the tool can be described with the following general workflow: