Aller au contenu principal

CSV Writer

Description​

Le module « csvwriter » consomme des données de canaux et écrit ces données dans des fichiers Comma Separated Values (CSV).

Interfaces et protocoles utilisés​

  • AUCUN

Configuration JSON​

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

Exemple de configuration (minimale)​

{
"module":"CSVWriter",
"factory":"csvwriter",
"config":{
"channels":[
{
"name":"SomeChannelName"
}
]
}
}

Exemple de configuration (maximale)​

{
"module":"CSVWriter",
"factory":"csvwriter",
"config":{
"fileName": "/sde/<tag>/<date>/<date>_<time>.csv",
"tag":"preview",
"forceFileName": false,
"pollingIntervalMs":1000,
"maxFileDurationMs":900000,
"timeoutMs":15000,
"gridUs":10,
"fieldSep":",",
"structureSep":" ",
"decimalSep":".",
"timeFormat":"<date>T<time>.<us>Z",
"timeHeader":"Date/Time",
"timeDescription":"UTC",
"channels":[
{
"name":"SomeChannelName",
"field":"SomeColumnTitle",
"description":"SomeColumnSubtitle",
"defaultValue":"SomeDefaultValue",
"format":{
"fieldWith":8,
"fillChar":"-",
"base":10,
"format":"g",
"precision":6
}
},
{
"name":"SomeBooleanChannelName",
"field":"SomeColumnTitle",
"description":"SomeColumnSubtitle",
"defaultValue":"SomeDefaultValue",
"format":{
"falseValue":"FALSE",
"trueValue":"TRUE"
}
}
]
}
}

Exemple de configuration (enregistrement déclenché)​

{
"module":"CSVWriter",
"factory":"csvwriter",
"config":{

<KONFIGURATION>

"triggerChannel":"someBooleanTriggerChannel",
"triggerLeadTimeMs":30000,
"triggerFollowUpTimeMs":30000,
"triggerSeparateEvents":false,

"channels":[

<SPEZIFIKATION AUFZUZEICHNENDER KANÄLE>

]
}
}

Paramètres globaux du module​

Nom du paramètreRequisType de donnéesPlage de valeurs pertinenteDéfautDescription
fileNameNonSTRINGvoir ci-dessous"/sde/"TAG"/"DATE"/"DATE"_"TIME".csv"Nom de fichier ou structure du nom de fichier (voir ci-dessous)
forceFileNameNonBOOLfalse, truefalseimpose le nom de fichier constant spécifié
tagNonSTRING"preview"Désignation du tag
pollingIntervalMsNonINT1 -1000Intervalle de polling [ms]
maxFileDurationMsNonINT1 -900000 (15 min)Durée maximale du fichier [ms]
timeoutMsNonINT1 -15000 (15 s)Timeout après lequel une nouvelle ligne est au plus tard écrite dans le fichier CSV (en utilisant les valeurs par défaut spécifiées) [ms]
triggerChannelNonSTRINGNom d'un canal de déclenchement booléen
triggerLeadTimeMsNonINT0 -15000 (15 s)Durée de pré-déclenchement
triggerFollowUpTimeMsNonINT0 -15000 (15 s)Durée de post-déclenchement
triggerSeparateEventsNonBOOLfalse, truefalseFermeture du fichier courant et ouverture d'un nouveau fichier en cas d'événements de déclenchement qui se chevauchent
gridMsNonINT1 -1000 (1 s)Largeur de la grille d'échantillonnage [ms] (*)
gridUsNonINT1 -1000000 (1 s)Largeur de la grille d'échantillonnage [us] (*)
gridNsNonINT1 -1000000000 (1 s)Largeur de la grille d'échantillonnage [ns] (*)
fieldSepNonSTRING","Chaîne de séparation des colonnes
structureSepNonSTRING" "Chaîne de séparation des structures
decimalSepNonSTRING"."Chaîne de séparation décimale
timeFormatNonSTRINGvoir ci-dessous"<date>T<time>.<ms>Z"Spécification de la date et de l'heure
timeHeaderNonSTRING""En-tête de la date et de l'heure
timeDescriptionNonSTRING""Sous-en-tête de la date et de l'heure
channelsOUIvoir ci-dessousSpécification des canaux à enregistrer

(*) au choix

Spécification du nom de fichier 'fileName'​

Le nom de fichier est spécifié au moyen d'un chemin, p. ex.

/sde/<tag>/<date>/<date>_<time>.csv

Les variables possibles sont :

  • <year> (p. ex. 2022)
  • <month> (p. ex. 01)
  • <day> (p. ex. 01)
  • <hour> (p. ex. 01, 23)
  • <minute> (p. ex. 01)
  • <second> (p. ex. 01)
  • <msecond> (p. ex. 001)
  • <date> := "<year><month><day>"
  • <time> := "<hour><minute><second>"
  • <tag> (voir le paramètre 'tag')

Configuration des canaux à enregistrer 'channels'​

Contrairement, par exemple, au module OSF Writer, où tous les canaux sont enregistrés par défaut, il faut spécifier dans le CSV Writer une sélection de canaux. Cela se fait au moyen d'une liste d'objets JSON, à paramétrer comme suit

Nom du paramètreRequisType de donnéesPlage de valeurs pertinenteDéfautDescription
nameOUISTRINGNom du canal smartCORE
fieldNonSTRINGNom du canal smartCOREEn-tête de colonne du canal
descriptionNonSTRING""Sous-en-tête de colonne du canal
defaultValueNonSTRING""Valeur par défaut à écrire dans la cellule de la valeur du canal en cas de timeout, lorsqu'aucune donnée de canal n'est disponible
formatNonvoir ci-dessousSpécification selon laquelle la valeur du canal est formatée

Configuration du formatage des valeurs de canal 'format'​

Les valeurs des canaux booléens peuvent être formatées comme suit

Nom du paramètreRequisType de donnéesPlage de valeurs pertinenteDéfautDescription
trueValueOUISTRINGValeur écrite dans la cellule de la valeur du canal dans le cas de vrai
falseValueOUISTRINGValeur écrite dans la cellule de la valeur du canal dans le cas de faux

Toutes les autres valeurs peuvent être formatées comme suit

Nom du paramètreRequisType de donnéesPlage de valeurs pertinenteDéfautDescription
fieldWidthNonINTLargeur de colonne
fillCharNonCHARCaractère de remplissage
baseNonINT2, 8, 10, 1610Base de la représentation des nombres
formatNonCHAR"e", "f", "g""g"Notation de la représentation des nombres ("e" => notation scientifique, "f" => représentation normale, "g" => au choix notation normale ou scientifique)
precisionNonINT0 -Précision (nombre de décimales)

Informations sur le module​

InformationValeur
AuteursoptiMEAS GmbH
depuis smartCORE2.8
Type de moduleConsumer
DépendancesAUCUNE