8.3 Engineering tool architecture

Figure 21 presents the architecture of a hypothetical engineering tool for OPC UA FX OfflineEngineering, which has two main functions: “Descriptor Export” and “Descriptor Import” and four supporting functions for working with a Descriptor. Other functionality of an engineering tool, e.g., managing signal lists, writing control applications, modifying/extending Descriptor content, or designing safety applications, is left out of the figure for simplification.

Figure 21 – Engineering tooling architecture

8.3.1 Descriptor Export

The Descriptor Export function “exports” a Descriptor from an engineering tool.

Use cases for the export of a Descriptor are:

The Descriptor Export function uses the support functions stated in 8.3.3, 8.3.4, and 8.3.6.

Important tasks for Descriptor Export are:

8.3.2 Descriptor Import

The Descriptor Import function “imports” a Descriptor to an engineering tool.

The Descriptor Import function uses the support functions stated in 8.3.3, 8.3.5, and 8.3.6

Important tasks for Descriptor Import are:

The two main use cases for import are the import of an OPC UA FX Information Model of an AutomationComponent product and the import of an AutomationComponent configuration.

Before starting the engineering work, a Controls Engineer must select and procure the product data information for an AutomationComponent. Typically, the selection and procurement of the production data information will be made in one of three different options, as described below.

One option for procurement is to download a Descriptor with product information from the vendor’s website.

Another option exists if the Descriptor for a product can be exposed as a file or as a reference to it in the online Information Model of the AutomationComponent. A Controls Engineer who wants to see this information can retrieve this data from the online AutomationComponent by browsing the Descriptors folder and reading the AcDescriptorType instances.

A third option would be the engineering tool that already has the product information for the AutomationComponent available in its database.

Another use case for importing a Descriptor with configuration information arises in the sharing of work between Control Engineers. Engineer A exports a Descriptor with configuration information for Controller A and sends it to Engineer B. Engineer B needs to know what data Controller A is providing or is required for the Connections. After receiving the Descriptor, Engineer B imports it into an engineering tool and uses the Information Model of Controller A to complete the Information Model for Controller B, e.g., defining the complementary FunctionalEntity, InputData and OutputData information for Controller B. The exchange of a Descriptor between Controls Engineers is further described in detail in 8.4.

8.3.3 AML Container management

AML Container management is a support function for handling AML Container and Open Packaging Conventions packages.

An overview of the tasks for container management is given here:

8.3.4 Certificate and signature management

Certificate and signature management is a support function for dealing with certificates and signature methods needed for signing a Descriptor and validating digital signatures.

An overview of the tasks for certificate and signature management follows:

8.3.5 Conversion to an internal model

Conversion to an internal model is a support function for parsing the data of the Information Model AML files into the internal representation of the AutomationComponent used by the engineering tool.

An overview of the tasks for conversion to an internal model is below:

8.3.6 Conversion to an OPC UA FX AML Information Model

Conversion to OPC UA FX AML Information Model is a support function that converts the internal model of an engineering tool to an OPC UA FX AML model, which can be serialized to a Descriptor.

The main steps for conversion are:

There are three options for producing the OPC UA FX AML content. This is shown in Figure 22.

Figure 22 – Generation of OPC UA FX AML Information Model