Saltar al contenido principal

Módulo Playback "playback"

Descripción​

aviso

El módulo "playback" debe utilizarse únicamente para pruebas de sistema y pruebas unitarias. ¡No se permite su uso en un entorno de producción!

Sirve para producir con la temporización correcta los datos especificados en un archivo de reproducción (playback). Para ello utiliza la API unificada de configuración de canales de smartCORE y, por tanto, puede emplearse no solo para probar módulos consumidores, sino también para probar el propio smartCORE (p. ej., el filtrado de datos).

La producción se realiza aquí mediante bloques de datos completos, que se determinan sobre la base de una cuadrícula con precisión de microsegundos.

Interfaces y protocolos utilizados​

  • NINGUNO

Configuración JSON​

En la sección siguiente se describe la configuración JSON completa del módulo y se explican los distintos parámetros.

La configuración de los canales especificados dentro de "channels" debe consultarse en la documentación de la configuración unificada de canales.

Configuración de ejemplo (configuración mínima habitual)​

{
"module":"Playback",
"factory":"playback",
"config":{
"channels":[
{
"channelType": "timestamped",
"name": "Some Speed",
"physicalUnit": "km/h",
"dataType": "float",
"bufferSize": 10,
"cacheSize": 0,
"filter": [
{
"name": "datareduction",
"absTolerance": 0,
"timeoutMs": 10000
}
]
},
{
"channelType": "timestamped",
"name": "Some Revs",
"physicalUnit": "1/min",
"dataType": "float"
},
{
"channelType": "timestamped",
"name": "Some GPS Location",
"dataType": "gpslocation"
},

< More channel specifications >

]
}
}

Configuración de ejemplo (configuración máxima habitual)​

{
"module":"Playback",
"factory":"playback",
"config":{
"gridUs": 5000,
"decimalSep": ".",
"structureSep": " ",
"fieldSep": ",",
"numCycles": 1,
"exitOnEnd": false,
"exitDelay": 0,
"timebase": "absolute",
"channels":[

< Channel specifications >

]
}
}

Estructura de un archivo de reproducción​

El formato de un archivo de reproducción corresponde, en esencia, al de un archivo CSV, si bien (con la excepción de '=') se pueden configurar libremente los separadores decimal, de estructura y de campo. Sin embargo, NO se permiten varios separadores consecutivos para mejorar la presentación.

Si falta por completo la configuración de todos los separadores en el archivo de configuración, se realiza una autodetección (en cuanto a compatibilidad con archivos CSV exportados desde Excel, en las localizaciones inglesa y alemana).

Los datos de tiempo de la primera columna de este archivo deben entenderse como segundos (opcionalmente fracciones de segundo, separadas por el separador decimal "decimalSep"). Todos los caracteres separadores deben introducirse correctamente o "escaparse" (escaped).

Ejemplos de archivos de reproducción​

Zeit [s];Geschwindigkeit;Drehzahl;GPS Position
0,7;60;1500
1,4;85;;60,123456 18,111222333 123,4
2,8;100;2200
Time [s],Speed,Revs,GPS Location
0.7,60,1500
1.4,85,,60.123456 18.111222333 123.4
2.8,100,2200

Parámetros globales del módulo​

Nombre del parámetroObligatorioTipo de datosRango de valores razonableValor por defectoDescripción
gridUsNoINT1 -5000 (5 ms)Separación temporal de la cuadrícula para la división en bloques de datos que se van a producir
decimalSepNoSTRING".""."Separador decimal dentro de los números de coma flotante (*)
structureSepNoSTRING" "" "Separador para establecer varios valores de una estructura (p. ej., GPS Location) (*)
fieldSepNoSTRING","","Separador entre varios canales que se producen simultáneamente (*)
numCyclesNoINT-1, 1 -1para la repetición múltiple (o infinita con -1) del archivo de reproducción
exitOnEndNoBOOLfalse, truefalseApagado de smartCORE tras finalizar todos los ciclos de producción
exitDelayNoINT1 -0Retardo antes del apagado de smartCORE
timebaseNoSTRING"absolute", "relative""absolute"Base de tiempo de las marcas de tiempo de los datos de medición producidos ("absolute" para resultados reproducibles)
channelsSÍJSON Array of JSON Objectsvéase más abajo

(*) Si TODOS los parámetros 'decimalSep', 'structureSep' y 'fieldSep' están sin definir, se realiza una autodetección de los separadores. Además, NO es posible utilizar '=' como separador.

Configuración de un canal (objeto JSON dentro de "channels")​

Esto es solo un extracto (consulte la documentación de la configuración unificada de canales para más detalles).

Nombre del parámetroObligatorioTipo de datosRango de valores razonableValor por defectoDescripción
nameSÍSTRINGNombre del canal
channelTypeSÍSTRING"timestamped", "singlevalue"Tipo del canal
dataTypeSÍSTRINGvéase más abajoTipo de datos del canal
bufferSizeNoINT1 -1024Tamaño del búfer del canal creado
physicalUnitNoSTRINGunidad física

Tipos de datos de canal 'dataType' admitidos​

  • string (codificado en UTF-8)
  • bytearray (codificado en HEX SIN prefijo)
  • double
  • float
  • int64, int32, int16, int8
  • uint64, uint32, uint16, uint8
  • bool
  • gpslocation (tres valores float separados por el separador de estructura)

Información del módulo​

InformaciónValor
AutoresoptiMEAS GmbH
desde smartCORE2.3
Tipo de móduloProducer
DependenciasNINGUNA