The list below shows definitions of the header object.
Consider that the order of the fields inside a JSON object is not deterministic.
Field name |
JSON datatype |
Valid from output version |
Description |
---|---|---|---|
Version |
Object |
0.6 |
Version information |
OutputFileFormatVersion |
String |
0.6 |
Version of the currently used output format. |
RecorderVersion |
String |
0.6 |
Version of the SINUMERIK Data Recorder application, which was used for recording the file. The format is majorVersion.minorVersion.incrementalVersion-buildNumber E.g.: 3.1.0-35 |
Format |
String |
0.6 |
Format of the payload content. Currently the only DEFAULT value is supported, which means JSON files collected into one or multiple ZIP file. |
Description |
String |
0.6 |
General description defined in the job configuration. |
MachineInfo |
Object |
0.6 |
Some information about the machine. |
MachineName |
String |
0.6 |
Name of the machine from where the data came from. |
CFCard |
String |
0.6 |
Hardware key from the CF card of the machine controller |
JobDescription |
Array of strings |
0.6 |
Description of the Recorder job. This is a JSON array containing strings. Any of these string values could describe one or more properties of the running job. In case the recording job is started by some automated triggers (e.g.: time trigger), then the start/stop trigger information is stored in this array. E.g.: \"TriggersOn\": {\"ncCode\":\"M28\"} |
SignalListHFData |
Array of objects |
0.6 |
List of defined HIGH frequency variables addresses of the recording job. This field could be missing from the header, if the job is configured only for low frequency signal recording. Refer to the description below for the HF Signal Definition JSON object. |
SignalListExternalData |
Array of objects |
1.1 |
List of defined external sensor (ET200) data addresses of the recording job. This field could be missing from the header, if the job is not configured to record external data. Refer to the description below for the External Data Signal Definition JSON object. |
SignalListLFData |
Array of objects |
0.6 |
List of defined LOW frequency variables of the recording job. This field could be missing from the header, if the job is configured only for high frequency signal recording (SINUMERIK Job). Refer to the description below for the LF Signal Definition JSON object. |
TimeStamp |
String |
0.6 |
File creation timestamp of the current file on the Industrial Edge. This timestamp is not related to the time settings on SINUMERIK CNC. It is based on the Industrial Edge system time. The timestamp is provided in an ISO-8601 time format: yyyy-MM- ddThh:mm:ss[.mmm]TZD Timestamp values are always defined in UTC time zone. E.g.: 2020-03-05T00:37:59.623Z |
CycleTimeMs |
Number |
0.6 |
Sample rate of the HFData; Time period between the HFProbeCounter. Default value is 2 ms. |
Initial |
Object |
0.6 |
Contains meta-information of the recording, which is available at the start of the file writing. |
Time |
String |
0.6 |
Timestamp received from the SINUMERIK CNC. In case of no HF variable is defined in recording, timestamp is based on Industrial Edge system time. The timestamp is provided in an ISO-8601 time format: yyyy-MM- ddThh:mm:ss[.mmm]TZD Timestamp values are always defined in UTC time zone. E.g.: 2020-03-05T00:37:59.623Z |
HFProbeCounter |
Number |
0.6 |
The HFProbeCounter value received from the SINUMERIK CNC, which belongs to the Initial/Time. It is received with the timestamp and does not necessarily match to the first / last payload element but can be used to calculate relative timestamps for all HF data records. |
Metadata |
Array of objects |
1.0 |
List of user defined labels for the recording job. In case the field value is referred by a BTSS address, then it is resolved into the LF variable value. This field could be missing from the header, if there is no label defined for the given job. Refer to the description below for the Metadata Definition JSON object. |
HF signal definition
The following table shows the HF signal definitions:
Field name |
JSON datatype |
Valid from output version |
Description |
---|---|---|---|
Name |
String |
0.6 |
Name of the signal group as it is defined in the configuration of SINUMERIK Data Recorder and the name can be chosen freely. This name comes from the meta configuration of the SINUMERIK Data Recorder application. |
Axis |
string |
0.6 |
Logical name of the axis, as it is defined in the configuration of SINUMERIK Data Recorder. Freely choosable by the operator. E.g.: SP1 |
Type |
string |
0.6 |
Data type representation of the value for this signal. Valid types are DOUBLE, STRING, INTEGER |
Address |
string |
0.6 |
Address of the HF signal as defined in the SINUMERIK Connector. For available, valid values, refer to the documentation of the edge platform. E.g.: ENC_POS|1 |
Consider the syntax of the HF signal definitions:
{
"Name":<string>,
"Axis":<string>,
"Type":<string>,
"Address":<string>
}
The following example shows a possible HF signal definition:
{
"Name": "Load",
"Type": "STRING",
"Axis": "Y1",
"Address": "LOAD|2"
}
LF signal definition
The following table shows the LF signal definitions:
Field name |
JSON datatype |
Valid from output version |
Description |
---|---|---|---|
ID |
String |
0.6 |
Index of the LF signal in the array. |
Device |
String |
0.6 |
Path of the LF address. E.g.: /Nck/HF_PROBE/ |
Path |
String |
0.6 |
Full address of the LF signal: E.g.: /Nck/HF_PROBE/recordingServoCounter |
Label |
String |
1.0 |
User defined custom label. Its value is always empty string since application version 1.0.0 to keep backward compatibility. |
SamplingPeriod |
String |
0.6 |
Polling period of the LF signal. The measurement unit is always millisecond E.g. 500. Its value is always “0” since application version 1.0.0 to keep backward compatibility. |
Consider the syntax of the LF signal definitions:
{
"id": <string>,
"device": <string)>,
"path": <string>,
"label": <string>,
"samplingPeriod":<integer>
}
The following example shows a possible LF signal definition:
{
"id": "0",
"device": "/Nck/HF_PROBE/",
"path": "/Nck/HF_PROBE/recordingServoCounter",
"label": "Custom defined example text",
"samplingPeriod": 500
}
External data signal definition
The following table shows the external data signal definitions:
Field name |
JSON datatype |
Valid from output version |
Description |
---|---|---|---|
ID |
String |
1.1 |
Name of the external sensor signal as it is defined in the configuration of SINUMERIK Data Recorder and the name can be chosen freely. This name comes from the meta configuration of the SINUMERIK Data Recorder application. |
Address |
String |
1.1 |
Address of the external sensor signal as defined in the adapter. For available, valid values, refer to the documentation of the adapter. |
Type |
String |
1.1 |
One of the predefined type, defined by the external sensor adapter. Available types: STRING, INTEGER or DOUBLE. |
Consider the syntax of the external data signal definitions:
{
"address":"<string>",
"name":"<string>",
"type":"<string>"
}
The following example shows a possible external data signal definition:
{
"name":"Analogue 1 channel 1",
"type":"DOUBLE"
}
Metadata definition
The following table shows the metadata definitions:
Field name |
JSON datatype |
Valid from output version |
Description |
---|---|---|---|
Name |
String |
0.9 |
Custom defined name. |
Value |
String |
1.0 |
Custom defined value. This may be defined resolved into the LF variable value. |
Consider the syntax of the metadata definitions:
{
"Name":<string>,
"Value":<string>
}
The following example shows a possible metadata definition:
{
"Name":"custom defined name",
"Value":"custom defined value"
}
Syntax of the JSON file header
The following example shows the JSON file header:
{
"Header": {
"Version": {
"RecorderVersion": <string>,
"OutputFileFormatVersion": <string>
},
"Format": <string>,
"Description": [ <string>, <string>, ...],
"MachineInfo":{
"MachineName": <string>,
"CFCard": <string>
},
"JobDescription": [<string>, <string>, ...],
"SignalListHFData": [
{
"Name": <string>,
"Axis": <string>,
"Type": <string>,
"Address":<string>
},
...
],
"SignalListExternalData" : [
{
"Name" : "<string>",
"Address" : "<string>",
"Type" : "<string>"
},
...
],
"SignalListLFData": [
{
"id": <string>,
"device": <string>,
"path": <string>,
"label": <string>,
"samplingPeriod": <integer>
},
...
],
"TimeStamp": <string>,
"CycleTimeMs": <integer>,
"Initial": {
"Time": <string>,
"HFProbeCounter": <integer>
},
"Metadata": [
{
"Name": <string>,
"Value": <string>
},
...
],
},
"Payload": [],
"Footer": {}
}