System Overview
Requests from the machines (RequestNotifications) are transferred to an internal and protocol-independent format, serialized to JSON and sent to the desired endpoint. The procedure is shown in the figure below. Six endpoint types are supported:
-
Broker for AMQP 0.9 \
It is possible to send the DDL messages to a messaging broker if this uses AMQP 0.9. These messages are sent to the exchange configured for the respective broker (e.g. RabbitMQ). -
AMQP 1.0 Messaging Queue
It is possible to send messages to queues if these queues use AMQP 1.0. These messages are sent to a messaging queue that is specifically configured to receive DDL messages (e.g. Universal Messaging). -
KAFKA broker
DDL messages can be sent to Kafka brokers. The messages are sent to specific topics that are specifically configured to receive DDL messages. -
REST services
REST services are accessible via an HTTP connection to the corresponding URI. Messages can be retrieved there and processed further from there. -
Solace Broker
From DDL V5.2 onward, it is possible to send the standard notification service JSON message and/or raw messages from the machine (XML or DAT) to a Solace broker using the native Solace client library. -
Azure IoT Hub
From DDL V5.14 onward, it is possible to send DDL messages to an Azure IoT Hub. By default, AMQP is used as the communication protocol for sending messages. However, this is configurable. Communication via MQTT or HTTP is also supported.

Functionality
The management of the asynchronous transport of messages assumes a DirectDataLink internal service. This is triggered by corresponding interface methods.
There are five main operating modes for the Notification Service :
-
AMQP mode is used to send JSON messages to either a message broker (e.g. Rabbit MQ with AMQP0.9) or a message maintenance queue (e.g. Universal Messaging with AMQP1.0).
-
HTTP mode is used to send either JSON or any other supported content type format (e.g. text/Plain, application/JSON) to a REST service via the HTTP protocol.
-
Kafka mode is used to generate JSON messages at Kafka brokers. From DDL V4.9 and higher, it is possible to configure other modules that communicate via WCF (e.g. Data Collector Access) in order to send their module-specific SOAP messages to KAFKA brokers too. In this case, there are two queues in the notification service:
-
In-store queue with customer-defined size, 500 by default, which is responsible for sending the new incoming messages;
-
A queue consisting of the backup files that sends the messages that remained in DirectDataLink due to temporary unavailability of the broker and were not sent to the Kafka broker.
This file-based queue is subject to the following restrictions:
-
an OSS project with multi-instance configuration is not supported.
-
multiple OSS projects with an instance configuration (the result is also a multi-instance) are permitted. This requires the configuration of separate backup folders.
-
-
-
Solace mode is used to send either the JSON messages of the standard notification service or messages in raw format (XML or DAT) directly from the machine to a queue of the Solace broker. This mode provides the ability to publish messages to a broker list that also implements failover security.
-
IOTHUB mode (from DDL V5.14 onward) is used to send either JSON messages from the standard notification service or messages in raw format (XML or DAT) directly from the machine to an Azure IoT Hub. By default, the messages are sent via AMQP. However, messages can also be sent to the Azure IoT Hub via MQTT and HTTP. This behavior can be set when configuring the Notification Service. Depending on the communication protocol used, the Notification Service reaches the Azure IoT Hub using the following port number:
Protocol | Port number | Note |
---|---|---|
AMQP |
5671 |
|
AMQP via WebSockets |
443 |
This protocol is used as a fallback if the connection to the IoT Hub via the native AMQP TCP port fails (e.g. due to firewall rules or network settings). |
MQTT |
8883 |
|
MQTT via WebSockets |
443 |
This protocol is used as a fallback if the connection to the IoT Hub via the native MQTT TCP port fails (e.g. due to firewall rules or network settings). |
HTTP |
443 |
In IOTHUB mode, messages that are larger than 256 KB are rejected by the Azure IoT Hub because there is a maximum message size in the IoT Hub. Reference: IoT Hub quotas and throttling |
If plcLogIn messages contain passwords, they are masked before being sent via the Notification Service. This is done both for messages in raw data format and for messages in JSON format.
Configuration parameter
The following configuration parameters are necessary:
Parameter | Description | ||
---|---|---|---|
|
The protocol or mode with which the Notification Service (AMQP/HTTP/KAFKA/SOLACE/IOTHUB) is used
|
||
|
The AMQP protocol version required to reach the target point
|
||
|
The host name of the RabbitMQ broker/Universal Messaging Realm/Kafka broker |
||
|
The connection to the RabbitMQ broker/Universal Messaging Realm
|
||
|
Name of the RabbitMQ Exchange
|
||
|
Name of the Universal Messaging Queue
|
||
|
The URL of the REST service |
||
|
The URL of the proxy server used to access the REST service or the Azure IoT Hub
|
||
|
Describes the content type that must be used to report the message to a REST service.
|
||
|
The name of the header for which the user wants to add a value can be user-defined or set to default.
|
||
|
Header value that the user wants to share. |
||
|
The user name of the endpoint that is reached when authentication is required
|
||
|
Password for the endpoint to be used for mandatory authentication
|
||
|
Name of the DirectDataLink instance
|
||
|
Determines whether the Notification Service is available at runtime.
|
||
|
Maximum size of the internal queue |
||
|
Maximum waiting time before restart in seconds |
||
|
The security protocol used for authentication
|
||
|
The name of the Kafka topic for which the DDL messages must be generated |
||
|
Maximum size of the message to be sent to the broker, in megabytes |
||
|
The file path to the private key for authenticating the client.
|
||
|
The password used to decrypt the private key
|
||
|
The file path to the certificate issued to the client from RB TrustCenter
|
||
|
The file path to the internal CA-SSL certificates that were issued to the client
|
||
|
The path to the file that stores all messages not sent to the Kafka broker (if the broker was unavailable)
|
||
|
The time interval (in minutes) after which the producer attempts to send unsent messages to the broker again
|
||
|
The number of messages that the producer sends simultaneously when attempting to deliver again
|
||
|
(Obsolete, no longer used as of DirectDataLink 5.8) The maximum size in KB per message that must be allocated for each message
|
||
|
The name of the broker or the list of Solace brokers
|
||
|
The name of the Solace VPN |
||
|
The local directory where the standard RB Trust Center certificates are stored. |
||
|
This parameter must be set to "true" if the sent messages have to be encoded in 64 bits |
||
|
Messages larger than this parameter are discarded by the Notification Service.
|
||
|
This parameter must be set to "true" if the raw messages (XML or DAT) have to be sent together with the standard Notification Service JSON messages. |
||
|
The primary connection string of the Azure IoT device used by the notification service to send messages to the Azure IoT Hub.
|
||
|
The communication protocol used by the Notification Service to send messages to the Azure IoT Hub.
|
||
|
This parameter should be set to "false" to deactivate the data backup of unsent messages.
|
Sending of SOAP messages to Kafka brokers via WCF
From DDL V4.9 and higher, it is possible to send SOAP messages that are exchanged between DDL and other services (via WCF) to Kafka brokers. For this purpose, a "notificationBehavior" tag is added to the behavior configuration of the specific access module whose SOAP messages are to be sent to the Kafka broker. The settings are implemented in the WcfBehaviors.config file.
The following example shows the WCF behavior configuration for Data Collector Access.

Configuration For the Runtime
The service can be configured for the runtime with the help of the DirectDataLink Management Console (MMC). RequestNotifications may be started and stopped. In addition, all parameters of the configuration are visible.

Data Format
The messages from machines (in OpConXML format or in other formats) are populated in internal C# objects within DirectDataLink , then parsed in JSON format and sent to RabbitMQ.
Further information about the OpConXML standard can be found in the associated documentation. |
-
EventId, Name, HeaderVariables
These elements contain the information about the message itself. The elements include all information that is necessary for the clear identification of the message. -
Application, Location, ProcessNo
These elements describe all event-specific information. -
BodyVariables
These elements describe user-defined variables.







Example Data Format
Here is a sample mapping of an XML message to JSON.
OpConXML
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<root>
<header eventId="0" eventName="partReceived" version="1.0" eventSwitch="-1" contentType="3">
<location lineNo="10" statNo="10" statIdx="1" fuNo="1" workPos="1" toolPos="1" application="PLC" processName="" processNo="0" />
</header>
<event>
<partReceived identifier="Test" typeNo="0123456789" typeVar="" typeVersion="" />
</event>
<body>
<items>
<item name="MyString" value="MyStringValue" dataType="8" />
<item name="MyReal" value="1.234" dataType="4" />
<item name="MyInteger" value="123" dataType="3" />
<item name="MyBool" value="true" dataType="11" />
<item name="MyInOutString" value="MyInOutStringValue" dataType="8" />
</items>
<arrays>
<array name="MyStringArray" dataType="8">
<item value="ArrayElement1"/>
<item value="ArrayElement2"/>
</array>
</arrays>
<structArrays>
<array name="MyStruct">
<structDef>
<item name="StringItem" dataType="8" />
<item name="IntItem" dataType="2" />
<item name="RealItem" dataType="4" />
<item name="BoolItem" dataType="11" />
</structDef>
<values>
<item StringItem="Test" IntItem="567" RealItem="1.2" BoolItem="true" />
<item StringItem="Test2" IntItem="987" RealItem="9.8" BoolItem="false" />
</values>
</array>
</structArrays>
</body>
</root>
JSON format
{
"Application": "PLC",
"BodyVariables": [
{
"Identifier": "4cc1ad41-38a9-8044-f1f8-6f9c75a2cf3f",
"Name": "item.MyString",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "MyStringValue"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": 0,
"Length": 0,
"Segment": 0,
"IsRequired": true
},
{
"Identifier": "9ec586a1-2f13-4f7c-e017-968fffe74239",
"Name": "item.MyReal",
"DataType": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Single",
"VALUE": 1.234
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": 0,
"Length": 0,
"Segment": 0,
"IsRequired": true
},
{
"Identifier": "70aec4cd-4c66-5f3f-64fc-7eeb0a041a51",
"Name": "item.MyInteger",
"DataType": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Int32",
"VALUE": 123
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": 0,
"Length": 0,
"Segment": 0,
"IsRequired": true
},
{
"Identifier": "fae83087-776e-9e27-c3e8-74014445f8ba",
"Name": "item.MyBool",
"DataType": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Boolean",
"VALUE": true
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": 0,
"Length": 0,
"Segment": 0,
"IsRequired": true
},
{
"Identifier": "93269aed-b671-c131-636e-fb710d8fc7b5",
"Name": "item.MyInOutString",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "MyInOutStringValue"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 2,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": 0,
"Length": 0,
"Segment": 0,
"IsRequired": true
},
{
"Identifier": "7bdeacbe-9d08-5893-37c9-2da8c2e20af6",
"Name": "MyStruct",
"DataType": "System.Array, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": null,
"Children": [
{
"Identifier": "290c5791-be7c-4621-be03-f6611fd493c3",
"Name": "StringItem",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": null,
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 2,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "e869df09-0461-4aa2-b378-39915bfb6787",
"Name": "IntItem",
"DataType": "System.Int16, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": null,
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 2,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "156215a2-2af4-49aa-9ede-93e9cfbbb562",
"Name": "RealItem",
"DataType": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": null,
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 2,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "514d955c-d678-477c-883c-f4cdb5a478a5",
"Name": "BoolItem",
"DataType": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": null,
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 2,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "2fa57a08-ea2a-4588-af67-c7d6907b7a98",
"Name": "0",
"DataType": "System.Array, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": null,
"Children": [
{
"Identifier": "cc1150d5-43fe-4bc7-aeab-a28ed30dea36",
"Name": "StringItem",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "Test"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "deb5ceae-8d09-4961-88d0-3a058551c67f",
"Name": "IntItem",
"DataType": "System.Int16, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Int16",
"VALUE": 567
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "177912de-842c-4f23-ba75-51a74e65f323",
"Name": "RealItem",
"DataType": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Single",
"VALUE": 1.2
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "2699c811-f374-448e-82d5-69c5e200fdb1",
"Name": "BoolItem",
"DataType": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Boolean",
"VALUE": true
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
}
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 2,
"VarType": 1,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "c83591d6-c8f4-4d28-aeab-8be00385c03c",
"Name": "1",
"DataType": "System.Array, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": null,
"Children": [
{
"Identifier": "5c118fd8-afe0-47b3-9110-b099fed82610",
"Name": "StringItem",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "Test2"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "b95c9e68-d463-4da7-8cd1-c7b524bd03d9",
"Name": "IntItem",
"DataType": "System.Int16, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Int16",
"VALUE": 987
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "29553431-0014-4ff6-b7fc-6e70f15c0092",
"Name": "RealItem",
"DataType": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Single",
"VALUE": 9.8
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "2f41343f-beec-4989-b1e2-22ea7ea57cb8",
"Name": "BoolItem",
"DataType": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Boolean",
"VALUE": false
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 0,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
}
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 2,
"VarType": 1,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
}
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 1,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "49feda55-fa82-c582-3759-bb74261dc0ab",
"Name": "MyStringArray",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String[]",
"VALUE": [
"ArrayElement1",
"ArrayElement2"
]
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 1,
"IsShared": false,
"Offset": 0,
"Length": 0,
"Segment": 0,
"IsRequired": true
}
],
"EventId": 0,
"EventVariables": [
{
"Identifier": "cc6a410c-7758-4ba0-a31b-3a2f65a922cc",
"Name": "partReceived.identifier",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "Test"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 4,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "5e396558-6cd8-4bff-92c1-4bef55f00239",
"Name": "partReceived.typeNo",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "0123456789"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 4,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "71c57fba-8f05-45e7-9c5e-66a28ca700ee",
"Name": "partReceived.typeVar",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": ""
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 4,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "b01e79f0-2f89-444c-8a64-64116b7025ec",
"Name": "partReceived.typeVersion",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": ""
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 4,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
}
],
"HeaderVariables": [
{
"Identifier": "3acd1122-4031-432c-8111-8c1660a84551",
"Name": "eventHeader.eventId",
"DataType": "System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.UInt32",
"VALUE": 0
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "e96af5f2-911d-49d4-bbc9-cda2b8086467",
"Name": "eventHeader.version",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "1.0"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "730ba46c-c9c4-41c2-bf14-bed54199b767",
"Name": "eventHeader.eventName",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "partReceived"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "345ff97f-b9b9-4983-9625-9c7a548788e3",
"Name": "eventHeader.eventSwitch",
"DataType": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Int32",
"VALUE": -1
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "6b537792-455e-41cf-b0a2-68475bded97a",
"Name": "eventHeader.timeStamp",
"DataType": "System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.DateTime",
"VALUE": "2016-09-09T13:37:45.2778596+02:00"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "4b328483-cf0f-4afe-96b0-d8b6b1e8b512",
"Name": "eventHeader.user",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": ""
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "6cfe114e-7aea-4c84-9eea-f429d3edb4af",
"Name": "eventHeader.pwd",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": ""
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "75d5b9e8-67a0-4431-942e-607d28c84cd7",
"Name": "eventHeader.contentType",
"DataType": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Int32",
"VALUE": 3
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "b5952210-9584-4005-bd4d-6875e35faf62",
"Name": "eventHeader.location.application",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "PLC"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "7b744ad2-3e07-4ffa-8ff6-11570f34e1ba",
"Name": "eventHeader.location.processNo",
"DataType": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.Int32",
"VALUE": 0
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "8e92553f-2efc-4ede-84bf-91c8a8d02fd8",
"Name": "eventHeader.location.locationId",
"DataType": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.String",
"VALUE": "00000000001000100001100010001"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "1c775453-a363-4092-9ea6-a397bf4dfba3",
"Name": "eventHeader.location.lineNo",
"DataType": "System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.UInt32",
"VALUE": 10
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "f84276c6-4b50-4e3d-8935-246bc3b187a3",
"Name": "eventHeader.location.statNo",
"DataType": "System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.UInt32",
"VALUE": 10
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "f3f8988f-2eef-4ae3-b2ee-bdefcb13bc90",
"Name": "eventHeader.location.statIdx",
"DataType": "System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.UInt32",
"VALUE": Attachment 1
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "12a37908-1f45-4b77-aa56-81415f29f51d",
"Name": "eventHeader.location.fuNo",
"DataType": "System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.UInt32",
"VALUE": Attachment 1
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "9511acaa-55ac-4699-aab7-9e1c3b21f124",
"Name": "eventHeader.location.workPos",
"DataType": "System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.UInt32",
"VALUE": Attachment 1
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "38a1106a-867f-4302-ac37-f61372ad3dcc",
"Name": "eventHeader.location.toolPos",
"DataType": "System.UInt32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.UInt32",
"VALUE": Attachment 1
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
},
{
"Identifier": "f39ccb0d-aad6-4446-b6dd-93cfed7952e3",
"Name": "eventHeader.receiveTime",
"DataType": "System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"Value": {
"TYPE": "System.DateTime",
"VALUE": "2016-09-09T13:37:45"
},
"Children": [
],
"CollectionId": "00000000-0000-0000-0000-000000000000",
"UpperBound": 0,
"LowerBound": 0,
"Direction": 0,
"Quality": 1,
"VarType": 3,
"IsShared": false,
"Offset": -2147483648,
"Length": -2147483648,
"Segment": -2147483648,
"IsRequired": true
}
],
"Identifier": "84b4b726-37c8-4c3c-9b16-d05311858a84",
"Location": {
"FuNo": 1,
"WorkPos": 1,
"ToolPos": 1,
"LineNo": 10,
"StatNo": 10,
"StatIdx": 1,
"LocationId": "00000000001000100001100010001"
},
"Name": "partReceived",
"ProcessName": "",
"ProcessNo": 0,
"SourceId": "127.0.0.1"
}