_historian
Messages for our historian feature
4 minute read
The umh/v1
at the beginning is obligatory. It ensures that the structure can evolve over time without causing confusion or compatibility issues.
All part of this structure, except for enterprise
and _schema
are optional.
They can consist of any letters (a-z
, A-Z
), numbers (0-9
) and therein symbols (-
& _
).
Be careful to avoid .
, +
, #
or /
as these are special symbols in Kafka or MQTT.
Ensure that your topic always begins with umh/v1
, otherwise our system will ignore your messages.
Be aware that our topics are case-sensitive, therefore umh.v1.ACMEIncorperated
is not the same as umh.v1.acmeincorperated
.
Throughout this documentation we will use the MQTT syntax for topics (umh/v1
), the corresponding Kafka topic names are the same but /
replaced with .
This part identifies where the data is coming from.
Good options include the senders MAC address, hostname, container id.
Examples for originID: 00-80-41-ae-fd-7e
, E588974
, e5f484a1791d
Messages tagged with _historian
will be stored in our database and are available via Grafana.
Analytics messages are currently not implemented. They will incorporate state, shift, order, … messages in the future and feature automatic OEE calculations.
This key might contain any data, that you do not want to bridge to other nodes (it will however be MQTT-Kafka bridged on its node).
For example this could be data you want to pre-process on your local node, and then put into another _schema
.
This data must not necessarily be JSON.
Any other schema, which starts with an underscore (for example: _images
), will be forwarded by both MQTT-Kafka & Kafka-Kafka bridges but never processed or stored.
This data must not necessarily be JSON.
Most data models already follow a location based naming structure.
KKS (Kraftwerk-Kennzeichensystem) is a standardized system for identifying and classifying equipment and systems in power plants, particularly in German-speaking countries.
In a flow diagram, the designation is: 1 2LAC03 CT002 QT12
Level 0 Classification:
Block 1 of a power plant site is designated as 1 in this level.
Level 1 Classification:
The designation for the 3rd feedwater pump in the 2nd steam-water circuit is 2LAC03. This means:
Main group 2L: 2nd steam, water, gas circuit Subgroup (2L)A: Feedwater system Subgroup (2LA)C: Feedwater pump system Counter (2LAC)03: third feedwater pump system
Level 2 Classification:
For the 2nd temperature measurement, the designation CT002 is used. This means:
Main group C: Direct measurement Subgroup (C)T: Temperature measurement Counter (CT)002: second temperature measurement
Level 3 Classification:
For the 12th immersion sleeve as a sensor protection, the designation QT12 is used. This means:
The above example refers to the 12th immersion sleeve at the 2nd temperature measurement of the 3rd feed pump in block 1 of a power plant site.
Translating this in our data model could result in:
umh/v1/nuclearCo/1/2LAC03/CT002/QT12/_schema
Where:
site
, corresponding to Block 1 of the power plant as per the KKS number.area
, representing the 3rd feedwater pump in the 2nd steam-water circuit.productionLine
, indicating the 2nd temperature measurement in this context.workCell
or originID
, denoting the 12th immersion sleeve.Messages for our historian feature