CSV Writer
Descrizione
Il modulo "csvwriter" consuma dati dei canali e li scrive in file Comma Separated Values (CSV).
Interfacce e protocolli utilizzati
- NESSUNO
Configurazione JSON
Nella sezione seguente viene descritta l'intera configurazione JSON del modulo e vengono illustrati i singoli parametri.
Configurazione di esempio (minima)
{
"module":"CSVWriter",
"factory":"csvwriter",
"config":{
"channels":[
{
"name":"SomeChannelName"
}
]
}
}
Configurazione di esempio (massima)
{
"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"
}
}
]
}
}
Configurazione di esempio (registrazione con trigger)
{
"module":"CSVWriter",
"factory":"csvwriter",
"config":{
<KONFIGURATION>
"triggerChannel":"someBooleanTriggerChannel",
"triggerLeadTimeMs":30000,
"triggerFollowUpTimeMs":30000,
"triggerSeparateEvents":false,
"channels":[
<SPEZIFIKATION AUFZUZEICHNENDER KANÄLE>
]
}
}
Parametri globali del modulo
| Nome parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Default | Descrizione |
|---|---|---|---|---|---|
| fileName | No | STRING | vedere sotto | "/sde/"TAG"/"DATE"/"DATE"_"TIME".csv" | Nome del file o struttura del nome del file (vedere sotto) |
| forceFileName | No | BOOL | false, true | false | impone il nome file costante specificato |
| tag | No | STRING | "preview" | Designazione del tag | |
| pollingIntervalMs | No | INT | 1 - | 1000 | Intervallo di polling [ms] |
| maxFileDurationMs | No | INT | 1 - | 900000 (15 min) | Durata temporale massima del file [ms] |
| timeoutMs | No | INT | 1 - | 15000 (15 s) | Timeout dopo il quale al più tardi viene scritta una nuova riga (utilizzando i valori di default specificati) nel file CSV [ms] |
| triggerChannel | No | STRING | Nome di un canale di trigger booleano | ||
| triggerLeadTimeMs | No | INT | 0 - | 15000 (15 s) | Tempo di pre-trigger |
| triggerFollowUpTimeMs | No | INT | 0 - | 15000 (15 s) | Tempo di post-trigger |
| triggerSeparateEvents | No | BOOL | false, true | false | Chiusura del file corrente e apertura di un nuovo file in caso di eventi di trigger sovrapposti |
| gridMs | No | INT | 1 - | 1000 (1 s) | Larghezza della griglia di campionamento [ms] (*) |
| gridUs | No | INT | 1 - | 1000000 (1 s) | Larghezza della griglia di campionamento [us] (*) |
| gridNs | No | INT | 1 - | 1000000000 (1 s) | Larghezza della griglia di campionamento [ns] (*) |
| fieldSep | No | STRING | "," | Stringa separatore di colonna | |
| structureSep | No | STRING | " " | Stringa separatore di struttura | |
| decimalSep | No | STRING | "." | Stringa separatore decimale | |
| timeFormat | No | STRING | vedere sotto | "<date>T<time>.<ms>Z" | Specifica di data e ora |
| timeHeader | No | STRING | "" | Intestazione di data e ora | |
| timeDescription | No | STRING | "" | Sottointestazione di data e ora | |
| channels | SÌ | vedere sotto | Specifica dei canali da registrare |
(*) a scelta
Specifica del nome file 'fileName'
Il nome del file viene specificato tramite l'indicazione di un percorso, ad es.
/sde/<tag>/<date>/<date>_<time>.csv
Le variabili possibili sono:
<year>(ad es. 2022)<month>(ad es. 01)<day>(ad es. 01)<hour>(ad es. 01, 23)<minute>(ad es. 01)<second>(ad es. 01)<msecond>(ad es. 001)<date>:= "<year><month><day>"<time>:= "<hour><minute><second>"<tag>(vedere il parametro 'tag')
Configurazione dei canali da registrare 'channels'
A differenza, ad esempio, del modulo OSF Writer, dove per impostazione predefinita vengono registrati tutti i canali, nel CSV Writer deve essere specificata una selezione di canali. Ciò avviene tramite un elenco di oggetti JSON, da parametrizzare come segue
| Nome parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Default | Descrizione |
|---|---|---|---|---|---|
| name | SÌ | STRING | Nome del canale smartCORE | ||
| field | No | STRING | Nome del canale smartCORE | Intestazione di colonna del canale | |
| description | No | STRING | "" | Sottointestazione di colonna del canale | |
| defaultValue | No | STRING | "" | Valore di default da scrivere nella cella del valore del canale in caso di timeout, se non sono disponibili dati del canale | |
| format | No | vedere sotto | Specifica in base alla quale avviene la formattazione del valore del canale |
Configurazione della formattazione dei valori dei canali 'format'
I valori dei canali booleani possono essere formattati come segue
| Nome parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Default | Descrizione |
|---|---|---|---|---|---|
| trueValue | SÌ | STRING | Valore che viene scritto nella cella del valore del canale nel caso di vero | ||
| falseValue | SÌ | STRING | Valore che viene scritto nella cella del valore del canale nel caso di falso |
Tutti gli altri valori possono essere formattati come segue
| Nome parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Default | Descrizione |
|---|---|---|---|---|---|
| fieldWidth | No | INT | Larghezza della colonna | ||
| fillChar | No | CHAR | Carattere di riempimento | ||
| base | No | INT | 2, 8, 10, 16 | 10 | Base della rappresentazione numerica |
| format | No | CHAR | "e", "f", "g" | "g" | Notazione della rappresentazione numerica ("e" => notazione scientifica, "f" => rappresentazione normale, "g" => a scelta rappresentazione normale o notazione scientifica) |
| precision | No | INT | 0 - | Precisione (numero di cifre decimali) |
Informazioni sul modulo
| Informazione | Valore |
|---|---|
| Autori | optiMEAS GmbH |
| da smartCORE | 2.8 |
| Tipo di modulo | Consumer |
| Dipendenze | NESSUNA |