Aller au contenu principal

Module Playback « playback »

Description​

attention

Le module « playback » doit être utilisé exclusivement pour les tests système et les tests unitaires. Son utilisation dans un environnement de production n'est pas autorisée !

Il sert à produire, avec un respect correct du temps, les données spécifiées dans un fichier de lecture (playback). Il utilise pour cela l'API unifiée de configuration des canaux de smartCORE et peut donc être employé non seulement pour tester des modules consommateurs, mais aussi pour tester smartCORE lui-même (p. ex. le filtrage des données).

La production s'effectue ici par blocs de données complets, définis sur la base d'une grille à la précision de la microseconde.

Interfaces et protocoles utilisés​

  • AUCUN

Configuration JSON​

La section suivante décrit l'intégralité de la configuration JSON du module et explique chacun des paramètres.

La configuration des canaux spécifiés dans « channels » est décrite dans la documentation sur la configuration unifiée des canaux.

Exemple de configuration (configuration minimale typique)​

{
"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 >

]
}
}

Exemple de configuration (configuration maximale typique)​

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

< Channel specifications >

]
}
}

Structure d'un fichier de lecture (playback)​

Le format d'un fichier de lecture correspond en principe à celui d'un fichier CSV, les séparateurs décimal, de structure et de champ étant toutefois librement configurables (à l'exception de '='). Plusieurs séparateurs consécutifs ne sont cependant PAS autorisés, afin d'améliorer la lisibilité.

Si la configuration de tous les séparateurs est entièrement absente du fichier de configuration, une détection automatique est effectuée (en termes de compatibilité avec les fichiers CSV exportés depuis Excel, en localisation anglaise comme allemande).

Les indications de temps de la première colonne de ce fichier sont à comprendre en secondes (éventuellement avec fractions de seconde, séparées par le séparateur décimal "decimalSep"). Tous les séparateurs doivent être saisis ou « échappés » (escaped) correctement.

Exemples de fichiers de lecture (playback)​

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

Paramètres globaux du module​

Nom du paramètreObligatoireType de donnéesPlage de valeurs utileDéfautDescription
gridUsNonINT1 -5000 (5 ms)Pas temporel de la grille pour la répartition en blocs de données à produire
decimalSepNonSTRING".""."Séparateur décimal dans les nombres à virgule flottante (*)
structureSepNonSTRING" "" "Séparateur pour définir plusieurs valeurs d'une structure (p. ex. GPS Location) (*)
fieldSepNonSTRING","","Séparateur entre plusieurs canaux à produire simultanément (*)
numCyclesNonINT-1, 1 -1pour la répétition multiple (ou infinie avec -1) du fichier de lecture
exitOnEndNonBOOLfalse, truefalseArrêt de smartCORE après l'achèvement de tous les cycles de production
exitDelayNonINT1 -0Délai avant l'arrêt de smartCORE
timebaseNonSTRING"absolute", "relative""absolute"Base de temps des horodatages des données de mesure produites ("absolute" pour des résultats reproductibles)
channelsOUIJSON Array of JSON Objectsvoir ci-dessous

(*) si TOUS les paramètres 'decimalSep', 'structureSep' et 'fieldSep' sont indéfinis, une détection automatique des séparateurs est effectuée. Il n'est en outre PAS possible d'utiliser '=' comme séparateur.

Configuration d'un canal (objet JSON dans « channels »)​

Ceci ne constitue qu'un extrait (voir la documentation sur la configuration unifiée des canaux pour plus de détails).

Nom du paramètreObligatoireType de donnéesPlage de valeurs utileDéfautDescription
nameOUISTRINGNom du canal
channelTypeOUISTRING"timestamped", "singlevalue"Type du canal
dataTypeOUISTRINGvoir ci-dessousType de données du canal
bufferSizeNonINT1 -1024Taille du tampon du canal créé
physicalUnitNonSTRINGunité physique

Types de données de canal pris en charge 'dataType'​

  • string (encodé en UTF-8)
  • bytearray (encodé en HEX SANS préfixe)
  • double
  • float
  • int64, int32, int16, int8
  • uint64, uint32, uint16, uint8
  • bool
  • gpslocation (trois valeurs float séparées par le séparateur de structure)

Informations sur le module​

InformationValeur
AuteursoptiMEAS GmbH
depuis smartCORE2.3
Type de moduleProducer
DépendancesAUCUNE