Protocols

MQTT

Characteristics - MQTT

Information Model Requirements

  • The first Node after the root node rootNode must be of type Event eventNode.

  • The following Node Types can be used under the Event Node:

  • In case of publishing a topic, the Information Model determines the structure of the payload.

  • In case of subscribing to a topic make sure that the Information Model structure matches the payload.

How to configure the MQTT Channel

  1. Select the MQTT (JSON) as Channel Type.

  2. Click the Configure button.

MqttConfiguration
  1. Select the root model node

  2. Configure the MQTT To String configuration:

    • Enter host and port of the MQTT Broker used

    • If required, adjust the default values for Reconnect interval, Connection timeout, Keep alive interval

    • Specify a path to a folder on your local machine. The temp directory inside the SMARTUNIFIER Manager can be used as well.

    • (Optional) Specify a Client ID

    • Set the Quality of Service (QoS)

    • (Optional) Enable Retained if required

    • Select Username and password in order to manually enter the credentials or select Username and password credentials reference to add it from the Credentials Manager. If there are no credentials needed (e.g., test.mosquitto.org) select None.

MqttModelRootNodeConfiguration
  1. Select the event node in the tree on the left.

  2. Enable either producer or consumer depending on the use case and enter a topic name.

  3. Click the Apply button.

MqttModelEventNodeConfiguration

Json To Model Event Configuration

This configuration is used when some keywords or reserved words can’t be used in the Information Model.

  1. Select the event node in the tree on the left.

  2. Check the box for the Events configuration.

  3. Input the Field name, representing the reserved word.

  4. Click on the Apply button.

MqttModelEventsConfiguration

Json To Model Variable Configuration

  1. Select a variable in the tree on the left.

  2. Check the box for the Variable configuration.

  3. Input the Field name, representing the reserved word.

  4. Click on the Apply button.

MqttModelVariableConfiguration

Certificates

Encrypted connection using TLS security is supported. Follow the steps below to encrypt the connection.

  1. Enable Hostname Verification (optional)

  2. Enable the Tls Configuration checkbox

  • Enter the path to the CA (certificate authority) certificate of the CA that has signed the server certificate

Note

Make sure the CA certificate is valid.

  1. Enable the Client checkbox

  • Enter the path to the client certificate. The client certificate identifies the client just like the server certificate identifies the server.

  • Enter the path to the private client key.

  • If applicable select to enter a password or to add from the Credentials Manager.

  • Select the protocol from the Drop-Down.

Mqtt Configuration Certificates

Disconnected Buffer

In case the connection is lost, messages can be buffered offline when the Disconnected Buffer is enabled. Follow the steps below to enable the DisconnectedBuffer.

  1. Enable the DisconnectedBuffer checkbox.

  2. Set the Buffer Size - defines the number of messages being hold e.g., 5000.

  3. (Optional) Enable PersistBuffer.

  4. (Optional) Enable DeleteOldestMessage.

MqttConfigurationDisconnectedBuffer

Description of configuration properties:

Property

Description

Example

host

URL of the MQTT Broker.

test.mosquitto.org

port

Port of the MQTT Broker.

1883

reconnectInterval

Time interval to reconnect to the MQTT Broker after loss of connection in seconds

5

connectionTimeout

Time interval the connection times out in seconds

60

keepAliveInterval

Time the session persists in seconds

60

persistenceFolder

Path to a folder for the persistence store of the MQTT

temp

clientId

Identifies an MQTT client which connects to an MQTT Broker

MyClientID

username

Client username

Username

password

Client password

Password

hostnameVerification

Hostname Verification

true, false

tls

Encryption

true, false

producers

Data producer

true, false

consumer

Data consumer

true, false

protocol

TLS protocol version

TLSv1.1, TLSv1.2

disconnectedBuffer

Offline buffering of data

true, false

bufferSize

Amount of message allowed in the buffer

5000

persistBuffer

Buffer persistence

true, false

deleteOldestMessage

Delete oldest message in buffer

true, false

OPC-UA

Characteristics - OPC-UA

OPC (Open Platform Communications) enables access to machines, devices and other systems in a standardized way. To learn more about the standard visit the OPC-UA website.

Information Model Requirements

Example Model

OPC-UA Client

  1. Select OPC-UA Client as Channel Type.

  2. Click the Configure button.

OPC-UA Client Setup
  1. Make sure the root model node is selected to configure the OPC-UA Client

  2. Enter an applicationName

  3. Configure the serverTcpConfiguration

  • Enter an ipAdress

  • Enter the port

  • Define an endpoint

  • Set a requestTimeOut

  1. Configure the defaultSubscriptionAttribute

  • Define a publishingInterval

  1. Configure monitoringParameters

  • Set a samplingInterval

  • Enter a queueSize

  • Enable discardOldest depending on the use case

OPC-UA Client Setup
  1. Select the complex variable node.

  2. Enable the complexVariables

OPCUAClientComplexVariableNodeEnableConfig
  1. Assign OPC-UA data block variables to corresponding variables in the Information Model by selecting the variable in the tree

  2. Assign data block

  • Enable the variables checkbox

  • Enter the nodeId

OPC-UA Client Setup

REST

REST Server

The following sample configuration shows how variables can be made accessible over a REST server.

  1. Select the root model node in the tree on the left.

  2. Enter a path prefix.

  3. Configure the REST Server endpoint.

  • Enter the IP.

  • Enter the port.

  • Enter the Content-Type.

  1. Check the webapp checkbox and provide the WAR-file if you want to host an application.

  2. Click the Apply button and save the Channel by clicking the Save button on the upper right corner.

Rest_Server_Config

Description of configuration properties:

Property

Description

Example

pathPrefix

Prefix for the URL

e.g., demo

Port

Port of the REST server

e.g., 9002, 9000, ...

IP

IP address of the REST server

http://localhost

DefaultContentType

Is used to indicate the media type of the resource

application/json, application/xml, text/html, text/csv

webapp

Possibility to host an application

true, false

REST Client

The following sample configuration shows a GET request using url parameters.

  1. Select the root model node in the tree on the left

  2. Select the content type - defines the media type of the associated representation

  3. Set the wait timeout

Rest_Client_Config
  1. Select the Command node

  2. Enable the Command routes checkbox for the configuration of the following fields:

    • Enter the URL - If URL parameters are used then add each parameter in the following syntax ${id}

    • Select the HTTP method.

  3. (Optional - Headers) Enable the checkbox Headers for the configuration of the following fields:

    • Enter the name of the header

    • Enter the value

  4. (Optional - Headers) You can add multiple header entries by clicking the Add button

  5. (Optional - Headers) Headers can be deleted by clicking the delete button

Rest_Client_Config
  1. (Optional - Authentication) Enable the checkbox Authentication for the configuration of the following fields:

    • Select the Type of the Authentication

    • Enter the Username and Password or select it from the Credentials Manager

Rest_Client_Config
  1. (Optional - URL Parameters) Select a custom variable and enable the command routes checkbox

  2. (Optional - URL Parameters) Enable the command routes for the configuration of the following fields:

    • Select the Content Type

    • (Optional) Enter a Field Name in case the Information Model Node is not matching the REST API

Rest_Client_Config

Description of configuration properties:

Property

Description

Example

URL

URL of the REST API.

http://localhost:8081/api/v1/dataPoint/${id}

HttpMethod

HTTP method for the action performed by the Client.

GET, POST, PUT

HeaderName and Header Value

To provide server and client with additional information

Retry-After: 12

Default Content Type

Is used to indicate the media type of the resource.

application/json

RouteHeaderConfiguration

Headers represent the meta-data associated with the API request

Name, Value

Authentication Type

Type of the Authentication

Basic, Digest, Kerberos, NTLM, SPNEGO

Content Type of Parameter Nodes

Type of the Parameter

Parameters, Body, Header, None

Field Name

For non-matching Information Model nodes and API spelling

String

WaitTimeoutDuration

Timeout in seconds until request is failing

10

SECS/GEM

Characteristics - SECS/GEM

The SECS/GEM is the semiconductor’s equipment interface protocol for equipment-to-host data communications. In an automated fab, the interface can start and stop equipment processing, collect measurement data, change variables and select recipes for products. To learn more about the standard visit the SECS/GEM section in Wikipedia website.

Information Model Requirements

Example Model

SECS/GEM Client

  1. Select Secs Gem Client as Channel Type.

  2. Click the Configure button.

Modbus Client Setup
  1. Make sure the root model node is selected to configure the SECS/GEM Client

  2. Enter the device configuration:

  • input the equipment-to-host Ip address

  • type in the TCP Port for the communication

  • input the Device Id

  1. Enter the Data Formats

  • Input CEID - format for event Ids

  • Enter RPTID - format for report Ids

  • Input ALID - format for alarm Ids

  1. Input timeout for:

  • T3 - Reply Timeout in the HSMS protocol.

  • T5 - Connect Separation Timeout in the HSMS protocol used to prevent excessive TCP/IP connect activity by providing a minimum time between the breaking, by an entity, of a TCP/IP connection or a failed attempt to establish one, and the attempt, by that same entity, to initiate a new TCP/IP connection.

  • T6 - Control Timeout in the HSMS protocol which defines the maximum time an HSMS control transaction can remain open before a communications failure is considered to have occurred. A transaction is considered open from the time the initiator sends the required request message until the response message is received.

  • T7 - Connection Idle Timeout in the HSMS protocol which defines the maximum amount of time which may transpire between the formation of a TCP/IP connection and the use of that connection for HSMS communications before a communications failure is considered to have occurred.

  • T8 - Network Intercharacter Timeout in the HSMS protocol which defines the maximum amount of time which may transpire between the receipt of any two successive bytes of a complete HSMS message before a communications failure is considered to have occurred.

SecsGem Root Node Setup
  1. Select the logging type for the required Node Types:

  • Check the Enable box

  • Check the Log Data box

SecsGem Root Node Setup
  1. Click on the Apply button

  2. Select the Event node to configure the event context

SecsGem Event Node Setup
  1. Click to check the Events box

  2. Enter the event context Id which will trigger the event in the Information Model

  3. Click on the Apply button

  4. Select the variable in the tree

SecsGem Variable Setup
  1. Click to check the variables box and configure the Secs variable context

    • select the variable Type

    • enter the variable Id

    • click the Is SV box to check if the variable is a SV

    • input the variable Name

Description of configuration properties:

Property

Description

Example

Ip

IP address of the Equipment

http://localhost

Port

TCP port for the communication

5000

Device Id

Id of the equipment

NJ-300

CEID

Format for event Ids

U4

RPTID

Format for report Ids

U4

ALID

Format for alarm Ids

U4

Timeouts

Time interval the connection times out in milliseconds

45000

T3

Reply timeout in the HSMS protocol

10000

T5

Connect Separation Timeout in the HSMS protocol

5000

T6

Control Timeout in the HSMS protocol

10000

T7

Connection Idle Timeout in the HSMS protocol

5000

T8

Network Intercharacter Timeout in the HSMS protocol

10000

Id

Id of the equipment event which will trigger the event

E32

Type

Type of variable

U1

Id

Variable Id

V56

Type

Commands - Type of the message

S2F41

Id

Commands Id

C33

RCMD

Name of command if it is different from the command Id

C1

AWS SiteWise IoT

Characteristics - AWS IoT SiteWise

The AWS IoT SiteWise Channel enables you to send data directly to assets measurements via the AWS IoT SiteWise API.

Information Model Requirements

Example Model

Note

Make sure that the Information Model is available in the AWS IoT SiteWise service. You can use the AWS SiteWise extension in order to export an SMARTUNIFIER Information Model to AWS IoT SiteWise.

The following sample configuration shows how a AWS IoT SiteWise Channel is created.

  1. Select AWS Sitewise as Channel Type.

  2. Click the Configure button.

Aws IoT SiteWise Channel
  1. Enter the SiteWise configuration:

Aws IoT SiteWise Channel