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ètre | Requis | Type de données | Plage de valeurs pertinente | Défaut | Description |
|---|---|---|---|---|---|
| fileName | Non | STRING | voir ci-dessous | "/sde/"TAG"/"DATE"/"DATE"_"TIME".csv" | Nom de fichier ou structure du nom de fichier (voir ci-dessous) |
| forceFileName | Non | BOOL | false, true | false | impose le nom de fichier constant spécifié |
| tag | Non | STRING | "preview" | Désignation du tag | |
| pollingIntervalMs | Non | INT | 1 - | 1000 | Intervalle de polling [ms] |
| maxFileDurationMs | Non | INT | 1 - | 900000 (15 min) | Durée maximale du fichier [ms] |
| timeoutMs | Non | INT | 1 - | 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] |
| triggerChannel | Non | STRING | Nom d'un canal de déclenchement booléen | ||
| triggerLeadTimeMs | Non | INT | 0 - | 15000 (15 s) | Durée de pré-déclenchement |
| triggerFollowUpTimeMs | Non | INT | 0 - | 15000 (15 s) | Durée de post-déclenchement |
| triggerSeparateEvents | Non | BOOL | false, true | false | Fermeture du fichier courant et ouverture d'un nouveau fichier en cas d'événements de déclenchement qui se chevauchent |
| gridMs | Non | INT | 1 - | 1000 (1 s) | Largeur de la grille d'échantillonnage [ms] (*) |
| gridUs | Non | INT | 1 - | 1000000 (1 s) | Largeur de la grille d'échantillonnage [us] (*) |
| gridNs | Non | INT | 1 - | 1000000000 (1 s) | Largeur de la grille d'échantillonnage [ns] (*) |
| fieldSep | Non | STRING | "," | Chaîne de séparation des colonnes | |
| structureSep | Non | STRING | " " | Chaîne de séparation des structures | |
| decimalSep | Non | STRING | "." | Chaîne de séparation décimale | |
| timeFormat | Non | STRING | voir ci-dessous | "<date>T<time>.<ms>Z" | Spécification de la date et de l'heure |
| timeHeader | Non | STRING | "" | En-tête de la date et de l'heure | |
| timeDescription | Non | STRING | "" | Sous-en-tête de la date et de l'heure | |
| channels | OUI | voir ci-dessous | Spé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ètre | Requis | Type de données | Plage de valeurs pertinente | Défaut | Description |
|---|---|---|---|---|---|
| name | OUI | STRING | Nom du canal smartCORE | ||
| field | Non | STRING | Nom du canal smartCORE | En-tête de colonne du canal | |
| description | Non | STRING | "" | Sous-en-tête de colonne du canal | |
| defaultValue | Non | STRING | "" | 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 | |
| format | Non | voir ci-dessous | Spé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ètre | Requis | Type de données | Plage de valeurs pertinente | Défaut | Description |
|---|---|---|---|---|---|
| trueValue | OUI | STRING | Valeur écrite dans la cellule de la valeur du canal dans le cas de vrai | ||
| falseValue | OUI | STRING | Valeur é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ètre | Requis | Type de données | Plage de valeurs pertinente | Défaut | Description |
|---|---|---|---|---|---|
| fieldWidth | Non | INT | Largeur de colonne | ||
| fillChar | Non | CHAR | Caractère de remplissage | ||
| base | Non | INT | 2, 8, 10, 16 | 10 | Base de la représentation des nombres |
| format | Non | CHAR | "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) |
| precision | Non | INT | 0 - | Précision (nombre de décimales) |
Informations sur le module
| Information | Valeur |
|---|---|
| Auteurs | optiMEAS GmbH |
| depuis smartCORE | 2.8 |
| Type de module | Consumer |
| Dépendances | AUCUNE |