Passa al contenuto principale

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 parametroObbligatorioTipo di datiIntervallo di valori sensatoDefaultDescrizione
fileNameNoSTRINGvedere sotto"/sde/"TAG"/"DATE"/"DATE"_"TIME".csv"Nome del file o struttura del nome del file (vedere sotto)
forceFileNameNoBOOLfalse, truefalseimpone il nome file costante specificato
tagNoSTRING"preview"Designazione del tag
pollingIntervalMsNoINT1 -1000Intervallo di polling [ms]
maxFileDurationMsNoINT1 -900000 (15 min)Durata temporale massima del file [ms]
timeoutMsNoINT1 -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]
triggerChannelNoSTRINGNome di un canale di trigger booleano
triggerLeadTimeMsNoINT0 -15000 (15 s)Tempo di pre-trigger
triggerFollowUpTimeMsNoINT0 -15000 (15 s)Tempo di post-trigger
triggerSeparateEventsNoBOOLfalse, truefalseChiusura del file corrente e apertura di un nuovo file in caso di eventi di trigger sovrapposti
gridMsNoINT1 -1000 (1 s)Larghezza della griglia di campionamento [ms] (*)
gridUsNoINT1 -1000000 (1 s)Larghezza della griglia di campionamento [us] (*)
gridNsNoINT1 -1000000000 (1 s)Larghezza della griglia di campionamento [ns] (*)
fieldSepNoSTRING","Stringa separatore di colonna
structureSepNoSTRING" "Stringa separatore di struttura
decimalSepNoSTRING"."Stringa separatore decimale
timeFormatNoSTRINGvedere sotto"<date>T<time>.<ms>Z"Specifica di data e ora
timeHeaderNoSTRING""Intestazione di data e ora
timeDescriptionNoSTRING""Sottointestazione di data e ora
channelsSÌvedere sottoSpecifica 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 parametroObbligatorioTipo di datiIntervallo di valori sensatoDefaultDescrizione
nameSÌSTRINGNome del canale smartCORE
fieldNoSTRINGNome del canale smartCOREIntestazione di colonna del canale
descriptionNoSTRING""Sottointestazione di colonna del canale
defaultValueNoSTRING""Valore di default da scrivere nella cella del valore del canale in caso di timeout, se non sono disponibili dati del canale
formatNovedere sottoSpecifica 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 parametroObbligatorioTipo di datiIntervallo di valori sensatoDefaultDescrizione
trueValueSÌSTRINGValore che viene scritto nella cella del valore del canale nel caso di vero
falseValueSÌSTRINGValore che viene scritto nella cella del valore del canale nel caso di falso

Tutti gli altri valori possono essere formattati come segue

Nome parametroObbligatorioTipo di datiIntervallo di valori sensatoDefaultDescrizione
fieldWidthNoINTLarghezza della colonna
fillCharNoCHARCarattere di riempimento
baseNoINT2, 8, 10, 1610Base della rappresentazione numerica
formatNoCHAR"e", "f", "g""g"Notazione della rappresentazione numerica ("e" => notazione scientifica, "f" => rappresentazione normale, "g" => a scelta rappresentazione normale o notazione scientifica)
precisionNoINT0 -Precisione (numero di cifre decimali)

Informazioni sul modulo​

InformazioneValore
AutorioptiMEAS GmbH
da smartCORE2.8
Tipo di moduloConsumer
DipendenzeNESSUNA