Message Configuration

For an initial MSI connection between PAS-X and system:inmation, a Message Configuration object is not needed but as soon as data is exchanged, the Message Configuration object is required to send or receive messages.

Be aware that most of the properties of a Message Configuration are intended to specify an Order Parameter Message and especially the parameters involved, while other message types like Order Status Message only require a small amount of configuration.

The settings for each Message Configuration will be explained in the following section.

Message Configuration objects can be created below Message Processor and Message Broker objects in the I/O Model. To do this, right click on the parent object and select Admin  New  External Interfaces  Message Configuration from the context menu to open the Create Object Wizard.

Message Configuration Properties
Figure 1. Message Configuration Properties

Apart from the mandatory Object Name and optional Object Description properties, the important properties are described below. These configure the header information of the message:

In the Common property compound:

  • Processing Mode - During these configuration steps, the Processing Mode should be kept in "Configuration" mode. When everything is fully configured and ready to start, the Processing Mode is set to "Operation". The other two modes are used for automatic generation of the configuration or generation of XML messages. Both of which will be explained later.

In the Communication Options property Compound:

  • Communication Mode - This property configures whether the message shall be sent from PAS-X to the system or Received by Pas-X. Be aware, that this definition can be perceived as counter intuitive, since it is defined from the PAS-X point of view, although it is configured in the system. In this example we have a message which is sent from PAS-X to inmation.

In the Message Description Properties property compound:

  • Message ID - This is the id of the message. This field is mandatory and is used within inmation to identify the message.

  • Supplier ID - this field defines the id of the supplier. This field is mandatory.

  • Device Type ID - this field defines the type of device in question. It is also mandatory.

  • Description - this gives a short, human-readable description of the message, which is optional.

  • Supplier Version - this field is intended to distinguish between several versions of a message configuration on the supplier side. It is optional, since message description are versioned within PAS-X independently.

  • System Name - this field holds the system name information and is optional.

  • Functional ID - this field provides a functional ID, which is also optional.

After these fields are configured, the header of an Order Parameter Message is defined.

Tag List

The next thing to configure is the actual message content, also called “parameters” in the MSI realm. The parameters are defined within the Tag List table property, which can be opened from the object properties panel.

Message Configuration - Tag List Table Property
Figure 2. Message Configuration - Tag List Table Property

The column names and configuration options are detailed below:

  • Object Name: The object name defined the name of the parameter in the MSI message

  • Object Description: this is an optional field for further information on that object

  • Data Type: this defined the datatype of the parameter. With the Data Type automatic type conversion is managed by the system.

  • Direction: Is this a parameter which is sent from MES to Shopfloor, or is it sent from Shopfloor to MES.

  • MES Qualifier: this information is used in order to identify the correct EBR and Basic Function. This message belongs to the MES side. As the example shows a Send message, which is sent from MES to SF, this field does not have a meaning.

  • Shopfloor Qualifier: this field identifies, if the parameter is used as a qualifier, meaning it identifies e.g. the device to which the message shall be routed, or the process this message belongs to (in case, there are several processes running simultaneously on a device). Currently this parameter is not used by the system.

  • Range Low and Range High: These fields define the allowed range of values for this parameter. This only makes sense for numeric values.

  • UOM: Unit of Measure: this defines the unit of measure for the given parameter. The entries here should match the units of measure defined within the PAS-X MES system. There is no validity check on this text field.

  • Locked: This field is only used for automatic taglist generation and not needed if the taglist is configured manually (which is recommended)

A more complex message would look like the following screenshot. Here some parameters are only sent from MES to Shopfloor while others are sent from Shopfloor to MES and even others are bidirectional.

Message Configuration - Tag List Table More Complex
Figure 3. Message Configuration - Tag List Table More Complex
Here the BatchID is bidirectional and acts as the MES Qualifier, therefore it is important, that the same BatchID received from the MES is returned in the response message. Otherwise the message will not be assigned to the correct EBR and will probably return an error. Be also aware, that the MES Qualifier are not only used by the Production Parameter Messages of the MSI interface, they are also used by the Status and Abort messages.

Mapping Data to Tags

The next thing to consider now, is how the received information shall be processed, or better, to which tags it should be mapped. Also, where information should be read from in, case we want to send a "receive" message.

There are several ways how the mapping can take place:

  • Direct Mapping: This mapping type maps incomming data 1:1 onto tages. This mapping can either be included in this message configuration, or the cental mapping can be used. See: Direct Mapping for more details.

  • Group Mapping: This option allows to address a group of similar devices with the same message configuration. This is very usefull, if the equipment to be used, shall be selected during EBR execution, Then only the equipment selector has to be changed. The configuration of the equipments and selection of the individual data/triggers is explained here Group Mapping.

  • Flexible Mapping: This mapping allows to read realtime values with a fixed predifend message format. Each value to read is identified by an EquipmentId and Tag combination. This combination is mapped to a path, by a mapping table. See: Flexible Mapping for more details.

  • Historian Mapping: This mapping allows to read historical values with a fixed predifend message format. Each value to read is identified by an EquipmentId and Tag combination. Additionally a parameter is given to identify the requestest aggregation function for the historian read. See: Historian Mapping for more details.

  • Function Mapping: This mapping executes a function from a library after the reception of a matching message. Additionally another function (of the same library) is called repeatedly to check for outgoing data and to collect/compile the required data. See: Function Mapping for more details.

  • Custom Mapping: This mapping executes a custom script after the reception of a matching message. Additionally another custom script is called repeatedly to check for outgoing data and to collect/compile the required data. See: Custom Mapping for more details.

The individual mapping type is defined in the Mapping Type property at the bottom of the Message Description Properties property compound.

XML Generation

If we have configured a message successfully, following one of the possibilities described above, we still have to exchange the Message Configuration with the PAS-X MES system. Therefore a dedicated XML template is provided which is filled automatically by the system. If we switch the Processing Mode of the Message Configuration object to "Update XML-File" the XML Message Description is generated in the folder configured in the Message Broker object. In this generated Message Description (XML) the SystemID is taken from the Message Broker above the Message Configuration, while all other entries are generated from the settings within the Message Configuration.

The generated XML will be displayed in the Message Configuration object properties panel as follows:

Generated XML
Figure 4. Generated XML

XML File Location gives the full path of the generated Message Description XML. The XML Output can immediately be checked for consistency:

XML Output
Figure 5. XML Output
The generated XML file has to be loaded into PAS-X in order to be usable within an MBR.

Message Configuration Generation

It is also possible to automatically generate the Tag List (in the case of a direct mapping) by configuring the Folder Settings table property.

Folder Settings
Figure 6. Folder Settings

Each row of the table defines the path to a folder which shall be scanned for "Tags". By default all Tags are included in the folder and in subfolders. With Whitelist the Tags are limited to all Tags containing the given string in their name. Blacklist on the other hand excludes all Tags which contain the given string in their name. Whitelist and Blacklist are case sensitive.

In this example : "/System/Core/Batch Simulation/Machine1/Data" is included "/System/Core/Batch Simulation/Machine1/AbortData" is not included.

And additionally: "/System/Core/DemoItems/Setpoint 1" is included. "/System/Core/DemoItems/Setpoint Goods" is not included.

In order to generate a message configuration from the tags in the selected folder, switch the Processing Mode of the message configuration to "Update Taglist".

Since the Tags don’t carry any information regarding MES Identifiers or Shopfloor Identifiers, the generated Tag List will not have this information configured. Therefore it is advisable to check the generated configuration for completeness. The Direct Mapping is also created, but currently it is not updated, when the Tag List is updated.

Status, Abort and Exception Messages

The generation of Status, Abort and Exception Messages is also done within the message configuration and the details are described in Status Abort and Exception Messages.