BCM VibExtract¶
On this page, you can configure a process to get the raw data or FFT data from the advanced BCM sensors and visualize it in Grafana. To install the BCM VibExtract, download the APP and install it on the CMTK.
The BCM VibExtract settings can then be found under Settings > Apps > BCM VibExtract

Supported BCM Sensors¶
The BCM VibExtract App supports the following BCM sensors:
Product Name | Product Code | Device Id |
---|---|---|
BCM R16E-004-CI02-01,5-S4 | BCM0003 | 917766 |
BCM R16E-004-CI02-01,5-S4 | BCM0003 | 917768 |
Add new process¶
To add a new process, you should press the New Process button:

This will open a dialog. First you have to select a BCM sensor:

To continue, click on Next.
Select the type of Trigger you want to use.

- Time-based: The process will be triggered at a specific time or interval.
- ISDU parameter input: The process will be triggered by an ISDU parameter input. Can be trigger by using one of this APIs:
POST /iolink/v1/devices/{{deviceAlias}}/parameters/8605/subindices/0/value?format=byteArray
payload { "value": [0] }
POST /api/bcm-analytics/v1/service/config/{{processId}}/start
- Pin-2: The process will be triggered by a pin input.
- Process-data input: Changes in the process data initiate the data retrieval.
- Alarm input: Sensor alarm activates the the data retrieval from the BCM. It is necessary to set-up the trigger-logic in the IO-Link settings of the BCM.
Note
If you select the trigger type Time-based, the time settings in the device should be set correctly. Otherwise, the process will not work as expected.
Note
The trigger type Pin-2 can conflict with currect BCM settings. Please ensure that the pin is not used for other purposes.
To continue, click on Next.
Optional. If you select the the trigger type Time-based, you can set the data retrieval schedule.

To continue, click on Next.
Select the Envelope sensor axes. You can also select the Frequency spectrum and Averaging settings.

Note
Changes to the Frequency spectrum and Averaging settings can cause conflict with existing functions, such as the ball bearing of the BCM Config Assistant. Please check the current configuration before proceeding.
To continue, click on Next.
Select the Amplitude sensor axes. You can also select the Frequency spectrum and Averaging settings.

Note
Changes to the Frequency spectrum and Averaging settings can cause conflict with existing functions, such as the ball bearing of the BCM Config Assistant. Please check the current configuration before proceeding.
To continue, click on Next.
Select the Raw data sensor axes and Time span.

Note
In order to continue, at least one axe of Envelope, Amplitude or Raw data must be selected.
To continue, click on Next.
In the last step you can assign a Name for the process.

Note
If you want to change the settings before finishing, you can click on Back and adjust them.
If you click on Finish, the process will be saved.
Note
Be aware the the transfer process time will depend on the selected axes. If you select one axes, it will record 15 second of data and the transfer time will take between 6 and 60 minutes (Will take 60 minutes if 8 sensors connected to a BNI are triggered at the same time).
Overview¶
The overview shows all processes that are currently configured. You can see the following information:

- Process name: Name of the process
- Port: Port where the BCM sensor is connected
- Master: Master name and number where the BCM sensor is connected
- State: State of the process
- Trigger: Type of trigger to start the process
Trigger process manually¶
Note
In order to trigger the process manually, the trigger type must be Time-based or ISDU parameter input.
Press the Play button to trigger the process manually:

Press the Stop button to stop the process:

Edit process¶
If you want to edit an existing process, press the Edit button:

This will open the dialog with the current settings. You can change the desired settings and after that save with the Finish button.

Delete process¶
To delete a process, press the Delete button:

To finish the deletion, you need to confirm it:

MQTT Messages¶
The BCM VibExtract App provides the spectrum data via MQTT messages. The spectrum data is sent in one message per axis and type (amplitude or envelope). A maximum of 6 MQTT messages are possible if all axes are selected.
Note
The raw data are not available via MQTT.
Topic¶
balluff/cmtk/master[masterNumber]/iolink/devices/port[portNumber]-bcm/data/fromdevice
Payloads¶
Frequency spectrum:
{
data:{
isValid: boolean,
items: {
string: float,
// ...
string: float,
},
type: string
},
timestamp: string,
type: string
}
{
"data": {
"isValid": true,
"items": {
"0000": 0.0002058862,
"0003.5": 0.00030807298,
"0007": 0.0002284083,
//...
"5988.5": 0.0001893093,
"5992": 0.0002401406,
"5995.5": 0.0002476982
},
"type": "Amplitude Spectrum X [g]"
},
"timestamp": "2023-10-01T12:00:00Z",
"type": "dataFromDevice"
}
Note
One message is generated for each selected axis, containing the spectrum data and the items array with frequency-magnitude pairs, always has 1714 values. Frequency values are zero-padded to get a sorted list.
Envelope:
{
data:{
isValid: boolean,
items: {
string: float,
// ...
string: float,
},
type: string
},
timestamp: string,
type: string
}
{
"data": {
"isValid": true,
"items": {
"0000": 0.012915212,
"0000.21875": 0.00009303251,
"0000.4375": 0.00009876929,
//...
"0374.28125": 0.00021840484,
"0374.5": 0.00021932709,
"0374.71875": 0.00014375913
},
"type": "Envelope Spectrum X [g]"
},
"timestamp": "2023-10-01T12:00:00Z",
"type": "dataFromDevice"
}
Note
One message is generated for each selected axis, containing the spectrum data and the items array with frequency-magnitude pairs, always has 1714 values. Frequency values are zero-padded to get a sorted list.
Database schema¶
The data of the BCM VibExtract App from one sensor can all be found under the same measurement according to the connected port X: port{X}-bcm
.
The master is selected as usual via the origin
tag.
To distinguish between amplitude and envelope spectrum data the data are tagged with a dataType
tag.
Amlitude spectrum¶
1714 fields containing the frequency values in Hz based on the selected spectrum resolution.
fields
(e.g. 3.5 Hz resolution):
- 0000,
- 0003.5,
- ...
- 5997.5
dataType
:
- Amplitude Spectrum X [g]
- Amplitude Spectrum Y [g]
- Amplitude Spectrum Z [g]
Envelope spectrum¶
1714 fields containing the frequency values in Hz based on the selected spectrum resolution.
fields
(e.g. 0.21875 Hz resolution):
- 0000,
- 0000.21875,
- ...
- 0374.78125
dataType
:
- Envelope Spectrum X [g]
- Envelope Spectrum Y [g]
- Envelope Spectrum Z [g]
Raw data¶
fields
:
- Raw Acceleration Data X [mg]
- Raw Acceleration Data Y [mg]
- Raw Acceleration Data Z [mg]
dataType
:
- Raw Data
Generate VibExtract Dashboard¶
To generate the Dashboard, click on Generate Dashboard.

A dialog will show up and you have to click on Generate.

Warning
Generating new VibExtract dashboards will overwrite all previous VibExtract dashboards.
Note
Graphs will be generated for all available configurations. If there is no config, no graph will be generated.
Now you can find the generated dashboards in the Visualization tab:

A graph is generated for each type of recorded data. If you record amplitude spectrum, envelope spectrum and raw acceleration data, it will show three graphs. If you only record one type, it will only show the graph of this type. If there is more than one record of a type, all records will be listed on the right and you can select the desired record.

Export Data (CSV)¶
To export the data, click on Export data (CSV).

A dialog will show up. Here you can select the time span and the sensors, of which you want to export the data. After selecting the sensors and the time span, click on Export.

Now you can see the progress of the export.

Note
For each sensor, one CSV file will be created. The exported CSV file contains columns for all possible measurements. If not all are actually measured, some columns will be empty.