Nexeed

Direct Data Link

    • Introduction
    • User manual
      • Notification Service
        • System Overview
      • PPMP Communications Module
Direct Data Link
  • Industrial Application System
  • Core Services
    • Block Management
    • Deviation Processor
    • ID Builder
    • Multitenant Access Control
    • Notification Service
    • Reporting Management
    • Ticket Management
    • Web Portal
  • Shopfloor Management
    • Andon Live
    • Global Production Overview
    • KPI Reporting
    • Operational Routines
    • Shift Book
    • Shopfloor Management Administration
  • Product & Quality
    • Product Setup Management
    • Part Traceability
    • Process Quality
    • Setup Specs
  • Execution
    • Line Control
    • Material Management
    • Order Management
    • Packaging Control
    • Rework Control
  • Intralogistics
    • AGV Control Center
    • Stock Management
    • Transport Management
  • Machine & Equipment
    • Condition Monitoring
    • Device Portal
    • Maintenance Management
    • Tool Management
  • Enterprise & Shopfloor Integration
    • Archiving Bridge
    • Data Publisher
    • Direct Data Link
    • Engineering UI
    • ERP Connectivity
    • Gateway
    • Information Router
    • Master Data Management
    • Orchestrator
Nexeed Learning Portal
  • Direct Data Link
  • User manual
  • Notification Service
  • System Overview
✎

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.

DDL notification service system overview

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

Protocol (AMQP|HTTP|KAFKA|SOLACE|IOTHUB)

The protocol or mode with which the Notification Service (AMQP/HTTP/KAFKA/SOLACE/IOTHUB) is used

  • Default setting: AMQP

AMQP version (V0.9|V1.0)

The AMQP protocol version required to reach the target point

  • Default setting: V0.9 (RabbitMQ)

  • Default setting: V1.0 (Universal Messaging)

Host name (for AMQP/KAFKA mode)

The host name of the RabbitMQ broker/Universal Messaging Realm/Kafka broker

Port (for AMQP mode only)

The connection to the RabbitMQ broker/Universal Messaging Realm

  • Default setting: 5672

  • Default setting: 90021 (Universal Messaging)

Exchange (for AMQP V0.9 only)

Name of the RabbitMQ Exchange

  • Default setting: OpCon.DDL.RequestNotifications

Queue name (for AMQP V1.0 only)

Name of the Universal Messaging Queue

  • Default setting: DDLQueue

REST service URL (for HTTP mode only)

The URL of the REST service

  • Default: http://mdpstageeventintegration.apps.bosch-iot-cloud.com/api/v1/streams/bme/events

Proxy server (for HTTP/IOTHUB mode only)

The URL of the proxy server used to access the REST service or the Azure IoT Hub

  • Default: http://rb-proxy-de.bosch.com:8080

Content type (for HTTP mode only)

Describes the content type that must be used to report the message to a REST service.

  • Default setting: application/JSON

Header name
(for HTTP mode only)

The name of the header for which the user wants to add a value can be user-defined or set to default.

  • Default setting: Authorization

Header value
(for HTTP mode only)

Header value that the user wants to share.

Username (AMQP/HTTP/SOLACE)

The user name of the endpoint that is reached when authentication is required

  • Default setting: user

Use the default value if no authentication is required (because this parameter cannot be left blank in OSS).

Password (AMQP/HTTP/SOLACE)

Password for the endpoint to be used for mandatory authentication

  • Default setting: user

Use the default value if no authentication is required (because this value cannot be left blank in OSS).

Instance

Name of the DirectDataLink instance

  • Is required for cluster and multi-instance operation.

  • Default setting: DirectDataLink

Enabled

Determines whether the Notification Service is available at runtime.

  • Values: true/false

maxQueueSize

Maximum size of the internal queue

maxRetryTime (in s)

Maximum waiting time before restart in seconds

KAFKA security

The security protocol used for authentication

  • Default setting: ssl

kafka TOPIC Name

The name of the Kafka topic for which the DDL messages must be generated

Max KAFKA message size in MB (for KAFKA mode only)

Maximum size of the message to be sent to the broker, in megabytes

Location of private key (for KAFKA mode only)

The file path to the private key for authenticating the client.

This field must only be filled if SSL is used as the security protocol.

Private key password (for KAFKA mode only)

The password used to decrypt the private key

This field must only be filled if SSL is used as the security protocol.

Location of the client certificate (for Kafka mode only)

The file path to the certificate issued to the client from RB TrustCenter

This field must only be filled if SSL is used as the security protocol.

Location of the CA certificate (for Kafka mode only)

The file path to the internal CA-SSL certificates that were issued to the client

This field must only be filled if SSL is used as the security protocol.

Path to store the unsent messages (for KAFKA mode only)

The path to the file that stores all messages not sent to the Kafka broker (if the broker was unavailable)

This field must only be filled if SSL is used as the security protocol.

Retry interval to resend messages in minutes (for KAFKA mode only)

The time interval (in minutes) after which the producer attempts to send unsent messages to the broker again

  • Default setting: 60

Re-send message factor

The number of messages that the producer sends simultaneously when attempting to deliver again

  • Default setting: 50

Backup message size in KB (for KAFKA mode only)

obsolete

(Obsolete, no longer used as of DirectDataLink 5.8)

The maximum size in KB per message that must be allocated for each message

  • Default setting: 5000

SOLACE broker or broker list (for SOLACE mode only)

The name of the broker or the list of Solace brokers

When entering the broker list, use "tcps://" before each broker. Example: tcps://broker1:port, tcps://broker2:port, etc.

SOLACE name of the SOLACE VPN (for SOLACE mode only)

The name of the Solace VPN

SOLACE SSL trust store directory

The local directory where the standard RB Trust Center certificates are stored.

Solace Enable 64-bit encoding (for SOLACE mode only)

This parameter must be set to "true" if the sent messages have to be encoded in 64 bits

SOLACE max. message size in bytes (for SOLACE mode only)

Messages larger than this parameter are discarded by the Notification Service.

  • Default value: 10000000

  • Data type: Int32

Enable raw format for request and response

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.

IoT Hub device connection string (for IOTHUB mode only)

The primary connection string of the Azure IoT device used by the notification service to send messages to the Azure IoT Hub.

This parameter must be set if the notification service is used in IOTHUB mode.

IoT Hub transport type

The communication protocol used by the Notification Service to send messages to the Azure IoT Hub.

  • Possible values: AMQP, MQTT, HTTP

  • Default setting: AMQP

Backup of Unsent Messages Enabled (only for Kafka Mode)

This parameter should be set to "false" to deactivate the data backup of unsent messages.

  • Default: True

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.

DDL Notification Service SOAP via WCF_2023-02.png

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.

DDL Notification Service console

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.

ddlnotdatenformat12023-02
ddlnotdatenformat62023-02
ddlnotdatenformat22023-02
ddlnotdatenformat72023-02
ddlnotdatenformat32023-02
ddlnotdatenformat42023-02
ddlnotdatenformat52023-02

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"
}

Contents

© Robert Bosch Manufacturing Solutions GmbH 2023-2025, all rights reserved

Changelog Corporate information Legal notice Data protection notice Third party licenses