Skip to content

Ideas for Mapping

Sebastian Friedl edited this page Jun 27, 2024 · 1 revision

Problem Description

Most OPC UA applications use a Server/Client model rather than Publisher/Subscriber (Pub/Sub). Furthermore, almost all Companion Specifications define an Address Space and no DataSetClasses or DataSets. For the umati Dashboard, the semantics of the address space are essential. Therefore, a mapping between OPC UA Address Space and OPC UA Pub/Sub must be defined for use with umati.

Requirements to the Mapping

(see https://github.com/umati/UA-CloudPublisher/issues/5#issuecomment-2060608587)

  • Be able to react to dynamic changes in the address space (nodes are added / nodes are deleted)
  • Resolve pro-mans references (NodeId as values)
  • Hierarchy references must be mapped
  • No-hierachy references should be mapped if necessary
  • Provide TypeInformation
  • Methods should already be considered
  • Online detection (possibly as separate topics)
  • Objects that can be empty.
  • Events / alarms must be able to be mapped
  • Coordinate the completeness of the run
  • The encoding should be UA JSON
  • Dimensioning for approx. 350 subscribers (machines + dashboard users)
  • Custom DataType must be included

Examples

The following examples are used for all recommendation:

  • mqtt dev.umati.app : umati/v2/vdw/devclient/MachineToolType/nsu=http:_2F_2Fwww.3yourmind.com_2FBasicAMMachine_2F;i=66382

Ideas:

Recommendation Topic Struturce

Overview

Hierarchial Reference will be mapped via the topic strutuce. Topic im umati: <Prefix>/json/data/<PublisherId>/MachineToolType/nsu=http:_2F_2Fwww.3yourmind.com_2FBasicAMMachine_2F;i=66382/Monitoring/MachineTool

Encoding:

Advantages

  • easy to understand / debug
  • smaller DataSets

Disadvantages

  • fit not good in opc ua standard
  • more topic to watch/oganize
  • not hierachical reference can be mapped (additional reommendation is needed)
  • TypeInformation are not mapped

Recommendation Property of MetaDataField

Overview

Hierarchial Reference and other semantic information are mapped via MetaDataField. All variables of one machine are mapped to one datset Topic im umati: <Prefix>/json/data/<PublisherId>/MachineToolType/nsu=http:_2F_2Fwww.3yourmind.com_2FBasicAMMachine_2F;i=66382/

Encoding:

  • Variables-> Fields
  • Properties are used to include semantic information.
Key Value Value DataType Comment
ReferenceType targetId NodeID TargetId is the other nodeId of the reference linked with the node

Advantages

  • only one topic per Writer

Disadvantages

  • semantic missmatch with term property
  • a lot of semantic is encoded in the properties

Recommendation Property of DataSetWriterProperties

Overview

Hierarchial Reference and other semantic information are mapped via DataSetWriterProperties. All variables of one machine are mapped to one datset

Topic:

<Prefix>/json/data/<PublisherId>/MachineToolType/nsu=http:_2F_2Fwww.3yourmind.com_2FBasicAMMachine_2F;i=66382/

Encoding

  • Variables-> Fields
  • Properties are used to include semantic information.
Key Value Value DataType Comment
ReferenceType targetId NodeID TargetId is the other nodeId of the reference linked with the node

Advantages

  • only one topic per Writer

Disadvantages

  • semantic missmatch with term property
  • a lot of semantic is encoded in the properties

Recommendation Additional fields in Dataset

Overview

The semantic Information like hasTypedefinition or hasParent are seperat fields definied in the DataSetMetadata

Topic

<Prefix>/json/data/<PublisherId>/MachineToolType/nsu=http:_2F_2Fwww.3yourmind.com_2FBasicAMMachine_2F;i=66382/

Encoding

Variables -> Fields References are seperate Fields

Advantages

  • data messages contain the semantic directly (easier to read)

Disadvantages

  • additional custom field which are not standardized
  • big data messages (containing a lot of semantic)

Recommendation using DataSetClass

Overview

The DataSetClass contains additonal information

Topics:

<Prefix>/json/data/<PublisherId>/MachineToolType/nsu=http:_2F_2Fwww.3yourmind.com_2FBasicAMMachine_2F;i=66382/

Encoding

todo

Advantages

todo

Disadvantages

todo

Recommendation combined some of the other reommendations

e.g use DataClassID for Type and Fields