Caution! Article for developers
Information on this page is intended particularly for users with advanced technical knowledge.Device Management Specifications for Treon Industrial Node
Sep 6, 2023 · 9 minutes to read
Introduction
The Treon Industrial Node measures vibration and temperature of the machine or structure it is attached to. The behaviour of the sensor can be modified by device management commands using Treon JSON DM messages.
This article covers the device management for the Treon Industrial Nodes with Treon Aito Release 1.3.0 for Industrial Node firmware and higher.
Modes
The sensor of the Treon Industrial Node measures vibration by sampling data using a specified sampling frequency. A measurement is triggered at a time depending on the operation mode.
Each mode can have unique parameters called resource IDs. For example, the resource ID for setting the G-range is different for Timed mode and for the On-Demand mode.
The Treon Industrial Node has the following modes:
Timed Mode
In Timed Mode the sensor makes all measurements with a specific interval in between.
The duration of the interval is specified by the MeasInterval-value in the Measurement Control object.
On-Demand Mode
In this mode, a measurement is executed only when specifically requested.
To trigger a measurement, the on-demand command is used. When executed, all parameters for taking the measurement are set the same as in Timed mode. It is possible to modify these parameters with on-demand specific resource IDs.
Please be aware that these modified parameters for the On-Demand mode are reset again whenever the Industrial Node is restarted.
Movement Mode
In the Movement mode the measurement is triggered when the sensor in the Treon Industrial Node detects an acceleration exceeding a set acceleration threshold. The triggered measurement is done using the parameters of Timed Mode.
The sequence of the measurement:
The Industrial Node detects movement exceeding the specified G-range and threshold values.
A measurement is now executed after a delay defined by the ActionDelay parameter.
The Industrial Node transfers the collected measurement data.
After the data transfer is completed, the Industrial Node waits for a specific amount of time before starting detection of movement again. It cannot be triggered before. This waiting time is specified by the BlankTime parameter.
Detection phase uses parameters from Timed Mode if not set specifically for this mode. Actual measurement is done using settings for Timed mode.
Example:
The G-range set for Timed Mode is 4G and only raw data is enabled. The G-range set for Movement Mode is 2G. The detection threshold needs to be calculated using the 2G range. After it has been triggered, the measurement of the vibration value is still executed using the 4G range and only raw acceleration data is sent.
Treon Industrial Node Resources & Data Content
Data Formatting
The Val field in JSON DM messages is presented as base64-encoded little-endian values. The contents are specific to the addressed resource.
Example: The value ‘260’ presented as little endian bytes is ‘0x04,0x01’. Encoding these bytes to base64 results in the string ‘BAE=’
With python:
>>> struct.pack('<H',260)
'\x04\x01'
>>> base64.b64encode('\x04\x01')
'BAE='
Accelerometer
Object id: 33506
The Treon Industrial Node uses object instance number 1. The target definition for the Treon Industrial Node acceleration sensor is "T":[33506,1]
Set Feature Bits
The feature bits consist of 16 different 0s and 1s that define parameters in the measurement.
Resource ID | Mode | Description |
---|---|---|
2 | Timed | features for Timed mode |
18 | On-Demand | features for On-Demand mode |
16 bit (2 bytes) bitmask value describing enabled features in the sensor.
Parameter | Value | Description |
---|---|---|
a-RMS X | 1bit (15) MSB | a-RMS calculation for axis X |
a-RMS Z | 1bit (14) | a-RMS calculation for axis Z |
a-RMS Y | 1bit (13) | a-RMS calculation for axis Y |
RawDataReporting | 1bit (12) | Raw Data Reporting data sent for measurement |
Kurtosis X | 1bit (11) | Kurtosis calculation for axis X |
Kurtosis Y | 1bit (10) | Kurtosis calculation for axis Y |
Kurtosis Z | 1bit (9) | Kurtosis calculation for axis Z |
RMS X | 1bit (8) | RMS calculation for axis X |
RMS Y | 1bit (7) | RMS calculation for axis Y |
RMS Z | 1bit (6) | RMS calculation for axis Z |
Velocity X | 1bit (5) | Velocity (Pk-Pk, 0-Pk ) calculation for axis X |
Velocity Y | 1bit (4) | Velocity (Pk-Pk, 0-Pk ) calculation for axis Y |
Velocity Z | 1bit (3) | Velocity (Pk-Pk, 0-Pk ) calculation for axis Z |
FFT X | 1bit (2) | FFT calculation for axis X |
FFT Y | 1bit (1) | FFT calculation for axis Y |
FFT Z | 1bit (0) LSB | FFT calculation for axis Z |
If RawDataReporting is enabled, the acceleration data is always sent for all axis.
Please Note: These parameters are valid only for embedded software version 1.4.0 and later.
Example:
The Treon Industrial Node acceleration sensor is supposed to measure only RMS, Velocity and Kurtosis for the X,Y and Z axis:
Conversion from Bitmap to int to base64:
(MSB) 000 0 000 111 111 111 000 (LSB)
to 4088 to
'+A8='
Example:
The Treon Industrial Node acceleration sensor is supposed to measure only raw data (raw acceleration values):
Conversion from Bitmap to int to base64:
(MSB) 000 001 000 000 000 000 (LSB) to
4096 to
‘ABA='
G-Range
The GRange resource defines the measuring range for acceleration of the Treon Industrial Node.
Resource ID | Mode | Description |
---|---|---|
769 | Timed | G-range for timed mode |
785 | On-Demand | G-range for On-Demand mode |
817 | Movement | Sets G-range for Movement trigger. The triggered measurement uses Timed mode’s G-range value |
The G-range is given as an enumeration value:
Value | Result | |||
---|---|---|---|---|
0 | 2G | |||
1 | 4G | |||
2 | 8G | |||
3 | 16G |
If you do not know the G-range to set for your specific measurement usage, it might be good approach to start with a higher range (but lower accuracy) in order to get data to determine the ideal G-range.
WakeUp Threshold
The WakeUp threshold resource sets a threshold value for a starting event. The starting event is specified in the WakeUpAction parameter.
Resource ID | Mode | Description |
---|---|---|
3121 | Movement | Sets threshold for starting event specified in WakeUpAction |
Value range: 0 - 64
A value from 0 to 64 is then used to calculate the WakeUp threshold with the formula:Movement = (GRange * Threshold )/64 m/s²
Which gives us:Threshold = (Movement * 64) / GRange
In this formula, GRange is the G-range value set for Movement mode. Movement is the intended acceleration threshold value in g ranging from 1/32G to 16G. Threshold is the result which needs to be set as Wakeup threshold for the Treon Industrial Node.
Example: The Treon Industrial Node should execute an action when a movement with an acceleration of 1G or more is detected. The G-range is set as 2 for Movement mode. You need to calculate the WakeUp threshold.
Movement = 1
GRange = 2
Threshold = (1 * 64) / 2
Threshold = 32
In order to have a WakeUp threshold of 1G, you have to set the threshold parameter to 32.
WakeUp Action Timing
The WakeUpActionTiming resource sets time delays for the ActionDelay and the BlankTime parameters in Movement mode. The ActionDelay defines the time that passes between the when a measurement is triggered by movement exceeding the WakeUp threshold and when the measurement is executed. The BlankTime defines a waiting time after the measurement, during which no new measurement can be triggered for the Industrial Node.
Resource ID | Mode | Description |
---|---|---|
3892 | Movement | Sets ActionDelay and BlankTime in seconds (s) |
Both values are 16-bit unsigned integers: 0 - 65535 (s)
Example:
ActionDelay = 30s
BlankTime = 150s
Code:
>>>import struct
>>>import base64
>>>base64.b64encode(struct.pack('<H', 30) + struct.pack('<H', 150))
b'HgCWAA=='
Movement Action
The MovementAction resource defines what happens after a movement exceeding the defined WakeUp threshold value is detected.
There are 3 different types of actions that can be triggered.
The ActMeasurement setting starts a measurement when the defined ActionDelay time has passed after a movement measurement has exceeded the defined WakeUp threshold.
The ActIndication setting initiates a data message from the Treon Industrial Node with indication that the WakeUp threshold has been exceeded. (No measurement is taken and no status report sent.)
The ActLed setting triggers no measurement but triggers the led light of the Treon Industrial Node to blink.
Resource ID | Mode | Description |
---|---|---|
3633 | Movement | Action after Wakeup threshold is exceeded |
Value: 8-bit unsigned integer, bitmap:
Parameter | Value | Description |
---|---|---|
unused | 5 bits (7-3) | reserved for future use |
ActMeasurement | 1bit (2) | start measurement after ActionDelay |
ActIndication | 1bit (1) | send movement indication (status report, no measurement values) |
ActLed | 1bit (0) LSB | blink led |
Measurement Control
Object id: 33507
The Industrial Node uses object instance number 1. The target definition for the Treon Industrial Node measurement control is "T":[33507,1]
Meas Interval
The MeasInterval resource defines the interval time between vibration measurements when Timed mode is activated.
Resource ID | Mode | Description |
---|---|---|
2 | Timed | Measuring interval (minutes) |
Range: 0 - 1441 minutes
If the MeasInterval value is set to ‘0’, the default value as set in the Treon Industrial Node’s software image is used.
Status Interval
The StatusInterval resource defines the interval time between status messages. These are messages containing information other than vibration measurements, e.g. temperature.
Resource ID | Mode | Description |
---|---|---|
258 | N/A | Status reporting interval (minutes) |
Range: 0 - 1441 minutes
If the StatusInterval value is set to ‘0’, the default value as set in the Industrial Node’s software image is used.
On Demand Measurement
The OnDemandMeasurement resource triggers an immediate on-demand vibration measurement.
Resource ID | Mode | Description |
---|---|---|
769 | N/A | Trigger measurement |
Value: byte
(Any value from 0-255 can be used. The exact value has no effect on the measurement.)
Set Measure
The SetMeasure resource selects the enabled measurements types.
Resource ID | Mode | Description |
---|---|---|
1026 | N/A | Sets measurement types |
Range: 16-bit unsigned integer containing bitmask
Parameter | Value | Description |
---|---|---|
unused | 13 bits (15-3) | Reserved for future use |
Internal | 1bit (2) | Reserved |
MovementAlert | 1bit (1) | Enable movement detection |
TimedVibration | 1bit (0) LSB | Enable timed measurements |
Example:
Set Timed measurement
SetMeasure bitmask:
(MSB) 0 000 000 000 000 000 001 (LSB) -> 1 -> ‘AQA=’
Enable movement detection and timed measurements:
(MSB) 0 000 000 000 000 000 011 (LSB) -> 3 -> ‘CwA=’
Sending multiple resources simultaneously
It is possible to send multiple resource set/get requests simultaneously with one command. All resources sent in one command must be from the same object though.
{"Ver": "2", "Cmd": "set", "T" : [33507, 1],
"Res":[1026, 2], "Val", ["AQA", "MAA="],"I":0}
To send multiple resources simultaneously you just need to have multiple resources (and values) in the JSON message you send. The values index in the “Val” array needs to match its resources ID in the “Res” array.
Changing the specifications of the Treon Industrial Node can change the functionality and battery lifetime of the Treon product. If you are at any point not sure, please contact Treon Support.
Treon Support
You still have questions? Our dedicated team of experts is happy to help you! Please contact Treon Support directly by e-mail.
Did you know? Treon offers Premium Support and Maintenance Packages for our customers. Get even more out of Treon and boost your sales - inquire now about features and prices!