Tag Archives: User interface

OPC UA Makes Complex Data Processing Possible

From the definition, the Industrial IT domain is an integrated set of ICT systems. System integration means the necessity of the information exchange between them (the nodes of a common domain). ICT systems are recognized as a typical measure of processing information. The main challenge of deploying an Industrial IT solution is that information is abstract – it is knowledge describing a situation in the selected environment, e.g. temperature in a boiler, a car speed, an account balance, etc. Unfortunately machines cannot be used to process abstraction. It is also impossible to transfer abstraction from one place to another.

Fortunately, there is a very simple solution to address that impossibility, namely the information must be represented as binary data. In consequence, we can usually use both ones as interchangeable terms while talking about ICT systems. Unfortunately, these terms must be distinguished in the context of further discussion on the complex data, because before stepping forward we must be aware of the fact that the same information could have many different but equivalent representations – different binary patterns. For example, having interconnected system A and system B, system A can use one representation, but system B another one. Moreover, to integrate them, the transferred stream of bits may not resemble any of the previous ones. It should be nothing new for us, as it is obvious that the same information written as a text in regional newspapers in English, German, Polish, etc. does not resemble one another.

To understand a newspaper we must learn the appropriate language. To understand the binary data we must have defined a data type – a description how to create an appropriate bits pattern. Simplifying, the data type determines a set of valid values and rules needed to assign the information (understand the data) to a selected bits pattern. Therefore, to make two systems interoperable, apart from communication, they should be prepared – integrated to be able to consume data from each other, and so communication is only a prerequisite for interoperability.

The type is usually not enough to make the data meaningful. Referring to the above example the newspaper name (i.e. the location where the information came from) and timestamp (a single point in time when the information was valid) are attributes of the text that is representation of the information.

To have a similar ability to add common attributes to the representations of many information entities at the same time the complex data types must be used. Complex in this context means that the data type must additionally define a relationship between the components of the binary data, i.e. how to selectively get a component of the complex data.

The OPC UA offers two well-known and widely used relationships:

  • Arrays – components are indexed and all components must have a common data type.
  • Structures – components are named and components may have different data types.

Anyway, indexes and names must be unambiguous, and a complex data type has the responsibility to provide a precise definition of them, i.e. selectors of the components.

The complex data has a very important feature, namely all components are considered to be consistent with one another. For example, if we need to represent time at least three components must be distinguished: hour, minute, and second. In this case, even if there is no need to add any attribute to the binary data it must be consistent, i.e. it has to represent information in a single point in time. Other criteria for describing the data consistency could also be applied.

On the other hand using complex data simplifies data integrity if there is a need to store or transfer it. If intermediaries are present, the initial data creator and the ultimate consumer need to trust those intermediaries to help provide end-to-end data integrity, because each hop is processed separately. Thus, using complex data it can be processed and transferred as one item what finally mitigates any risk of integrity compromising.

Using the data type definitions to describe information exposed by a server allows:

  • Development against type definition.
  • Unambiguous association of the information with the data.

Having defined types in advance, clients may provide dedicated functionality, e.g. displaying the information in the context of specific graphics.

Typical scenarios can be recognized when we can define appropriate complex data types in advance. The OPC UA offers a variety of standard types ready to be used in common cases. If this out of the box set is not capable of fulfilling more demanding needs users may define custom data types. The OPC UA allows servers to provide data type definitions. The type definitions may be abstract, and may be inherited by new types to reflect polymorphism. They may be of generic use or they may be application domain specific. Custom types must have a globally unique identifier, which can be used to identify the authoring organization responsible for that type definition.

If the data publisher – an OPC UA server is not running in an environment capable of creating the complex data there must be taken special precaution to fabricate it if required. An example of this scenario is a standalone OPC UA server pooling data from plant floor devices using a custom protocol, e.g. MODBUS. If that is the case the protocol used to gather process data is usually not data complex aware. Reading and writing the data is accomplished using REQUEST/RESPONSE frame pairs. Moreover, one request can be used to read a set of values that has the same simple type only. The fabrication is an operation that uses group of requests to gather components and embeds them into a single value of a selected complex data type. It is optional server capability.

Related articles

Continue reading

OPC Unified Architecture: Enabler of Future Solutions


Talking about acceptance and adoption of OPC Unified Architecture we usually focused on uniqueness and remarkable features of this standard with the goal of sending the message: “OPC UA is the best interoperability standard – it is much better then other classic solutions ever available” to the community.  Additionally, we are sending (circulating) this message over and over to other members of our close OPC UA community. My concern is if it is an effective approach because it looks like “the old shoes syndrome” – it is not enough to buy new ones only because there are much better new ones. We should rather say “don’t use your old shoes while jumping onto your windsurfing board only because they are comfortable – it is not very sensible”. On the grounds of my personal experience I am trying to imagine new unexplored yet fields of potential applications of the OPC UA. It is obvious that their number is uncountable, therefore a selection key must be applied. To follow the idea from the introduction above the “ENABLER” seems to be most appropriate to flag the technology, solution, application, model, approach, etc. that OPC UA makes possible.

The Exploration Catalog

To make my dreaming more useful for others, my first attempt is to prepare a series of short articles (a catalog) on new application scopes where OPC UA could be recognized as a prerequisite. All of them have a common title pattern “OPC UA Makes it Possible”. Today the catalog consists of:

  • OPC UA Makes Process Observer Archetype Possible: Process Observer is a kind of a virtual layer, which is a “big picture” of the underlying process layer composed of unit data randomly accessible by means of a unified and standardized interface. It allows the process and business management systems, using international standards of data exchange to share data from plant floor devices. Process Observer is like a bridge connection between the plant-floor control and the process and business management levels.
  • OPC UA Makes Complex Data Access Possible: The Industrial IT domain is an integrated set of ICT systems. System integration means the necessity of the information exchange between them (the nodes of a common domain). ICT systems are recognized as a typical measure of processing information. The main challenge of deploying an Industrial IT solution is that information is abstract – it is knowledge describing a situation in the selected environment, e.g. temperature in a boiler, a car speed, an account balance, etc. Unfortunately machines cannot be used to process abstraction. It is also impossible to transfer abstraction from one place to another.
  • OPC UA Makes Highly Distributed Network Control Systems Possible: Nowadays, modern manufacturing automation systems have to be involved. Usually they consist of numerous different IT systems located at business management/operation and process control levels. To deploy the convergence the systems have to be integrated – must interoperate with each other. From integration we should expect improved performance as a result of synergy and macro optimization effects.
  • OPC UA Makes Global Security Possible: We can observe rapid development of globally scoped applications for domains like health, banking, safety, etc. The globalization process is also observed in control engineering. The secure transfer of process control data over the Internet must, therefore, be addressed as the most important prerequisite of this kind of applications.
  • OPC UA Makes Cloud Computing Possible: Cloud Computing is defined as a method to provide requested functionality as a set of services. Following the Cloud Computing idea and offering control systems as a service, there is required a mechanism created on the service concept and supported abstraction and virtualization – two main pillars of the Cloud Computing paradigm.
  • OPC UA Makes Smart Factory Possible: In this case  “collaboration” is the key word. Analyzing the collaboration needs of the smart factory we must distinguish two dissimilar targets surrounding the factory: humans and applications. To make this collaboration well-defined in the information exchange and behavioral aspects, the collaboration platforms (e.g. SharePoint) and integration measures (OPC UA) must be integrated.
  • OPC UA Makes Smart User Interface Possible: It introduces a concept of semantic HMI that is an approach to relay the interface on discovering the meaning of process data using the metadata provided by plant floor measurement and control devices. Additionally, network-connected HMI needs special security precautions to be applied.
  • OPC UA Makes Production Traceability Possible: To use analyzers and track selected product and its ingredients parameters, complex data must be managed, i.e. created, transmitted, processed, and saved. To be useful, process data must be exposed in the context of well know semantics represented by the metadata.
  • OPC UA Makes Smart Utility Distribution Systems Possible: Following the concept of smart grids, more and more companies decide to start working on smart utility distribution systems (gas, water, chilly water, or even oil) to improve the performance and availability. The process is dispersed geographically and partially managed by independent operators. An active role of ultimate consumer is very important.

All the articles above are OPC UA related. For those looking for more information about this interoperability standard there are two articles providing very basic information, I hope, helping to follow the main topics.

  • OPC UA – Specifications: OPC Unified Architecture is described in a layered set of specifications issued by the OPC Foundation, that are broken into parts. It is purposely described in abstract terms and only in selected parts coupled (mapped) to existing technology on which software can be built. This layering is intentional and helps isolate changes in OPC UA from changes in the technology used to implement it.
  • OPC Unified Architecture: Main Technological Features: It focuses on new features of this interoperability standard including: service oriented architecture, object-oriented information model, abstraction and mapping, security, profiles, robustness.

Looking for the new application scope of OPC UA we must face up to managing team work aimed at exploring new undiscovered areas. On the grounds of experience gained while managing variety of innovative process control and business management projects I can say that their scope definition and budget estimation is always the most challenging task. Typically, if the estimated budget of any project is higher than the other ones, the solution provider is recognized as inefficient in one way or another. But there might be another reason if innovative projects are concerned, i.e. the provider’s know-how and extraordinary experience make a better assessment possible. Better always means higher in this context, so typically it puts the solution provider in an underprivileged position and leads to the “more stupid the better” issue. For an innovative project, the main reason why its critical parameters are hardly predictable is its innovative nature. From the definition, an innovation as a translation of an idea or invention into a product or service that creates value is an exploration into unexplored areas. The leader of the team must, therefore, face up to a high level of uncertainty. The following article provides some insights and a proposal with the goal of mitigating this issue.

  • Embedding Agile Principles as Contract Rules: It proposes a methodology framework that tightly couples agile management (to dynamically control the work scope and time framework) to workload tracking with the goal of maximizing the value for money.


To bring the presented ideas into solutions, more work is required with the aim of preparing comprehensive guidance collecting all that is needed to help deploy them in a real environment. Before trying to figure out what should be done to step forward, the audience of the outcome must be determined. Thus we should address the following needs:

  • For end users – adding solutions to requirements, but limited to feasible ones only
  • For integrators – adding solutions to portfolio, but limited to confirmed ones only
  • For vendors – adding features to products, but limited to required ones only

To create a foundation supporting deployment of the technology in new areas, the effort should be focused on:

  • Feasibilities studies: aimed at describing architecture (re-usable templates) as an interconnection of products making up a structure, product features required to interconnect them in a consistent way, business processes surrounding the solution in question, cost estimation, and solution profitability.
  • Pilot applications: aimed at providing proof of concept and “how to …” cookbook.
  • Best practice guidance: to maintain the quality and minimize application risks.

All the activities on the wish list above require an appropriate business model to happen, but this topic is outside this article scope. Good news is that governments and European Union support innovative projects in some countries, e.g. Poland, making the research and development much cheaper (up to 85% might be refunded). Since the beginning of the financial perspective 2007-2013, Poland has become the largest recipient of support under Cohesion Policy in the history of the European Union. In the financial perspective 2014-2020 the support is expected to be even greater. There are many programs planned with small and medium-sized enterprises as main targets with the priority focused among others on:

  • Research and development of modern technologies
  •  R&D infrastructure
  • Capital for innovation
  • Investments in innovative undertakings
  • Diffusion of innovation
  • Polish economy on the international market

Do not miss this opportunity – you will be welcomed to Poland.

OPC UA Makes Smart User Interface Possible

Modern control systems much appreciate the graphical user interfaces. “A picture is worth a thousand words”, but it seems that the future of Human Machine Interfaces in automation is far beyond that.

As opposed to the SCADA term, a lightweight local user interface of a machine is sometimes referred to as the human-machine interface (HMI) – in this context it is an embedded part of the machine. SCADA, on the other hand, is an all in one software package that consists of tightly coupled components implementing functionality to operate a system as a whole. It is worth noting that in spite of application kind this interface is a place where an interaction between someone responsible for making a decision and something responsible for the decision execution occurs. This post address the question what are the consequences if this interface is used, for example, to start drilling by a CNC machine, in one case, or alternatively to start moving remotely say load of 200MW from one power plant to another one in other case. After all, in both cases the operation can be initiated by pressing a virtual “ACCEPT” button on a touch screen. However, is it a sufficient reason to call this interface as an HMI device in both cases, and what is more important, can we use the same or similar solutions in all circumstances to decrease development and deployment costs?

In any cases, while interacting with a machine or with a system finely we operate a process. To operate effectively we must fulfill the following requirements:

  • Provide a representation of the process behavior and its current state – output interface;
  • Provide sensors to allow entering the operator decision – input interface;

The vendors of modern solutions – that meet highly demanded customer expectation – for this purpose employ 3D graphic, touch screen, voice recognition, motion tracking and many others technologies. However, communication with the user is only one aspect that we must focus on. To recognize others we have to look under the cover.

Automated processes are dynamic and stateful, so the interface has to provide an informative context for decision making. To reach this goal the process behavior must be tracked all the time by processing its variables to optimally adjust the screen content and expose the most important elements in an instant of time. Once there are more and more process variables within the automation systems, one has to choose, how to organize the structure of control system and mappings with the visualization purposes. Each variable can be recognized as a set of attributes: value, quality, timestamp and meaning. First tree attributes can be simply expressed as simple (primitive) or complex numbers and bind to the graphic on the screen in a generic way. The fourth (meaning) attribute is usually assumed that it does not change over the time, and therefore the interface behavior and appearance is designed (hard-coded) to express it in a communicative way. For example, we can distinguish a selected part of the screen to allow operator communicate with a chromatograph analyzer in a pharmacy automation process.

Unfortunately, this design time approach is often too rigid to seamlessly adapt for example exchange of the device by a new one from another vendor. Furthermore, hard-coded approach is useless when we must deal with multifunction devices that use pluggable components and variety of accessories. To avoid this unnecessary design cost and avoid proprietary solutions we need a next generation solution that can be called “Semantic HMI”. Semantic HMI is an approach that relays on discovering the meaning of process variables using the meta-data provided by the plant floor measurement and control devices, like analyzer, PLC, DCS, etc. In this approach the meta-data must be provided as a context for the real-time process data and processed simultaneously by a smart enough semantic HMI.

OPC Unified Architecture technology meets all the requirements, because:

  • It is a platform neutral standard allowing easy embedded implementation
  • It is designed to support complex data types and object models.
  • It is designed to achieve high speed data transfers using efficient binary protocols.
  • It has broad industry support beyond just process automation and is being used in support of other industry standards such as S95, S88, EDDL, MIMOSA, OAGiS.

Connection between HMI, as the decision entrance device, and process control device, as the decision execution device, may engage many technologies (e.g. RS232 serial bus located inside the box containing both, Internet, wireless connection, etc …). Unfortunately, vulnerability of the communication medium is only one measure of the security issues severity. Directly related decision cost and its consequence makes together another measure that must scale the required security robustness. In other words, without authentication of the transferred data, data sources and users we cannot expect and rely on the responsibility. Even in the completely shielded control room of a nuclear power plant, at the end of the day we must know who is responsible for pressing the virtual “ACCEPT” button if any problems occur. On the other hand, can you imagine a message on the screen saying “you must login to continue…” in a really critical situation in places like that.

There are more and more modern solutions of HMIs: advanced graphics, with high resolutions and touch screen, high IPs for front panels, faster CPUs, integration with modern operating systems, etc. However, they must offer much more to be used as a decision entrance device in applications like process control of municipal-wide heat distribution network located in the city of Lodz Poland (750k citizens), supplied from three plants with total thermal output power of 2560MW producing hot water distributed using ~800km of pipes interconnected by ~8000 nodes. In application like that, the most important features are openness to be seamlessly pluggable, visualization flexibility to expose process data in the context of process metadata, and appropriate security precaution to provide selective availability to control functions. It seems that using new standards, like OPC UA and new technologies, mentioned above could cause synergy effect leading to reusable on-the-shelf products withstanding even most demanded requirements.