Multiple Call Destination System
Use
A multiple call destination system (MCD) is a type of destination system that you can use to call other destination systems in a configurable sequence from a notification.
In addition to this, an MCD offers other functions that can be combined with each other. The following graphic gives an overview of the main functions:
-
Calling other destination systems in a configurable sequence
You can define the sequence in which you want individual destination systems to be called. You can configure linear call sequences as well as sequences with branching conditions or loops. You can also configure an MCD so that processing is suspended in a specific step and resumed at a later point in time, for example, when a production machine reports that it has processed an order.
You can call the following types of destination systems from a multiple call destination system:
-
Multiple call destination system
-
ODBC destination system
-
OPC UA destination system
-
Query destination system
-
Web service destination system
-
Universal Web service destination system
-
Simulation destination system
-
MQTT destination system
-
-
Usage of built-in functions
The multiple call destination system offers a series of built-in functions that you can use like destination system calls in your process logic. You can choose from the following options:
-
Change variable values
-
Read and write array element values
-
Trigger an exception
-
Wait (for a specified duration)
-
Perform calculations in a specific step
For more information, see Predefined Functions in the Multiple Call Destination System.
-
-
Calculations or conversions of variable values
The destination system can calculate or convert variable values that are returned from a destination system or that are used to call from another destination system. A multiple call destination system thereby provides options for converting output variables of a destination system that otherwise only exist as calculated variables in the destination system type Web service destination system.
However, you can also use a multiple call destination system on its own for variable calculation or conversion, similar to a function or static method in a programming language. In this case, you do not need to configure any destination system calls in a multiple call destination system.
-
Concatenation of several multiple call destination systems
You can concatenate several multiple call destination systems for the modularization of functions.
-
Controlled and case-by-case handling of exceptions that can occur when destination systems are called
-
Buffering of values
If you flag local variables of a multiple call destination system as permanent, these variables retain their value for consecutive destination system calls that take place using the same agent instance. In this way, you can collect data in a multiple call destination system, or compare values from previous calls with the values of the current call.
Integration
Like every other PCo destination system type, a multiple call destination system is called from a notification scenario. This could be a tag-based notification or a method notification.
A multiple call destination system can have input or output variables as an interface to the notification or to other multiple call destination systems. In a tag-based notification, the input variables of the multiple call destination system are filled by the output expressions of the notification.
In a method notification, these are the input parameters of the notification. In a method notification, you can assign the output variables of the multiple call destination system to the output parameters of the OPC UA method that is connected to the notification. (See also: Method Notification.)
In combination with the query destination system, the multiple call destination system offers a more flexible alternative to destination system calls with response processing (see: Destination System Calls with Response Processing). The benefits are as follows:
-
More than three destination system calls are possible
-
Loops and branching conditions
-
More flexible handling of exceptions that can occur for destination system calls