Skip to main content

Esempio: Utilizzo di CSV Utility SL biblioteca

Prodotto: CODESYS IIOT Librerie SL

. Leggere un file CSV:
  • IL CSVReader cartella contiene i componenti per leggere i file CSV.

  • L'inizializzazione e il passaggio del percorso del file vengono eseguiti dal file CSVReaderInit blocco funzione.

  • I valori del file CSV possono essere letti singolarmente, riga per riga o tutti insieme. IL NextLine, NextElement, O ReadAll i blocchi funzione vengono utilizzati per leggere i valori.

  • La la CSVReaderExample applicazione nel CSV Utility Examples.project progetto di esempio mostra come utilizzare questi componenti.

    La lunghezza massima dell'elemento deve essere maggiore o uguale alla lunghezza massima della colonna del file CSV.

. Scrivere un file CSV:
  • IL CSVWriter cartella contiene i componenti per scrivere i file CSV.

  • I dati vengono salvati in tre fasi:

    • Il primo passo è inizializzare la libreria. A questo punto, vengono passati il percorso e il nome del file.

    • Il secondo passaggio consiste nell'archiviare i dati in un buffer.

    • Il terzo passo è scrivere il buffer in un file CSV.

Descrizione

L'esempio descrive come utilizzare i blocchi funzione della libreria in un'applicazione.

Programmazione procedurale classica

I blocchi funzione per la programmazione classica basata su blocchi funzione si trovano in FunctionBlocks cartella.

I blocchi funzione in questa cartella sono progettati per l'elaborazione asincrona. Derivano dal CBM.ETrigA blocco funzione.

Per ogni blocco funzione è stato inoltre creato un oggetto di visualizzazione che può essere utilizzato in altri progetti.

Un esempio di questo può essere trovato nel CSV Utility Examples.project progetto nel CSVWriterCFCExample applicazione.

Inizializzazione: Questo viene fatto per mezzo di Init blocco funzione. Qui è possibile passare il percorso di archiviazione e il nome del file.

Per aggiungere valori: I valori possono essere scritti nel buffer tramite il AddXXX blocchi funzione. È possibile aggiungere una nuova riga mediante il NewLine blocco funzione. Viene creato un nuovo file con NewFile.

Salva: Il buffer viene salvato tramite il WriteFile blocco funzione. I valori sono scritti nel formato standard del tipo di dati corrispondente.

Visualizzazioni: Una visualizzazione delle uscite di ingressi e uscite per ogni blocco funzione.

Utilizzo dei blocchi funzione

Tutti i blocchi funzione in FunctionBlocks la cartella reagisce a un fronte di salita al xExecute ingresso.

Prestare attenzione che queste operazioni vengano eseguite in modo asincrono e il file xDone, xError, E eError le uscite devono essere campionate di conseguenza. L'elaborazione non deve essere eseguita all'interno di un ciclo.

Programmazione orientata agli oggetti

I blocchi funzione e le interfacce per la programmazione orientata agli oggetti si trovano nel file Objects cartella.

Un esempio di ciò può essere trovato nel CSV Utility Examples.project progetto nel CSVWriterSTExample applicazione.

IL CSVWriter Il blocco funzione fornisce metodi di base per salvare i file CSV.

Inizializzazione: All'inizio, il InitSave metodo deve essere chiamato per creare un nuovo file o aprire un file esistente.

Per aggiungere valori: Quando uno dei Add metodi viene chiamato, il valore viene scritto nel buffer. Una nuova riga viene aggiunta non appena viene chiamato il metodo corrispondente. Se il buffer è pieno, viene restituito un errore. Non appena i dati sono stati salvati, lo spazio è nuovamente disponibile per nuovi valori.

  • AddXXX: Inserisce i dati alla fine del buffer

  • NewLine: aggiunge una nuova riga

Salva:

  • Save: Salva il valore del buffer come file CSV

Metodi aggiuntivi:

  • GetFileSize: Restituisce la dimensione del file corrente

  • NewFile: crea un nuovo file, con un nome specificato o un nome generato automaticamente

Errore: Tutti i metodi hanno un campo di errore per memorizzare un eventuale errore del tipo CSV_ERROR.

Informazioni aggiuntive

IL CSV Utility SL Examples.project progetto di esempio contiene un'applicazione di esempio per CSVReader e due applicazioni di esempio per CSVWriter.

Applicazione: CSVReaderExample

L'esempio mostra i tre modi di leggere i valori da un file CSV. IL Prog programma mostra come utilizzare il CSVReaderInit, NextElement, ReadAll, E NextLine blocchi funzione. Il contenuto del CSVReader.csv il file viene visualizzato in una visualizzazione.

Suggerimento

Per testare gli esempi su a CODESYS Control, il file CSV CSVReader può essere copiato dalla directory di destinazione dell'installazione al file c:\temp directory.

Applicazione: CSVWriterCFCExample

Questo esempio utilizza un esempio CFC per mostrare come utilizzare i blocchi funzionali di CSVWriter biblioteca. Mostra anche come utilizzare la visualizzazione integrata.

Funzionalità:

  • IL WriteValues programma crea un file CSV nel formato "c:/temp/CSVWriterCFCExampleData.csv" cartella.

  • Nella visualizzazione, facendo clic su Clicca qui per aggiungere pulsante attiva la scrittura sul file.

  • L'inizializzazione avviene tramite il CSV.Init blocco funzione. Il percorso e il nome del file vengono passati qui direttamente.

  • IL AddWord, AddString, E NewLine i blocchi funzione mostrano come aggiungere valori al buffer interno.

  • IL ctu contatore incrementa il numero di riga durante ogni evento. Dopo aver aggiunto una nuova riga, i valori vengono scritti in un file CSV mediante l'estensione WriteFile blocco funzione.

Applicazione: CSVWriterSTExample

Questo esempio mostra come scrivere i valori delle variabili in un file CSV mediante la programmazione orientata agli oggetti o la programmazione sequenziale. Ogni processo viene eseguito in due attività. Un'attività scrive i valori nel buffer e l'altra salva i dati dal buffer nel file.

Funzionalità:

  • ObjectOriented_Save (salvataggio orientato agli oggetti)

    Questo programma chiama il Save metodo da DataObject, dove viene implementata l'operazione di salvataggio.

  • ObjectOriented_Write (scrittura orientata agli oggetti)

    Questo programma chiama il Write metodo da DataObject dove è implementata l'operazione di scrittura.

  • DataObject

    Questo blocco funzione implementa il ICSVObject interfaccia. IL Write Il metodo include le variabili locali che verranno salvate in seguito. Il corrispondente AddXXX metodo viene chiamato per ogni tipo di dati. Dopo un certo numero di righe, viene creato un nuovo file con altri valori. Non appena si verifica un errore, il Error stato raggiunto. Quindi non verrà scritto altro. IL Save Il metodo implementa l'operazione di salvataggio. All'inizio il InitSave metodo del CSVWriter viene richiamata l'istanza del blocco funzione. Dopo di che, solo il Save metodo deve ancora essere chiamato.

    Per attivare i seguenti programmi, è necessario modificare i POU nei task.

  • Sequential_Save (salvataggio sequenziale)

    Anche l'operazione di salvataggio deve essere avviata con il file InitSave metodo. Quando il file CSV raggiunge una dimensione specifica, viene creato un nuovo file. Se non viene specificato alcun nome di file, viene utilizzato il nome esistente con la numerazione aggiunta.

  • Sequential_Write (scrittura sequenziale)

    Diverse variabili vengono scritte nel buffer. Se questo è pieno, allora il EndOfBuffer viene restituito l'errore. Contrariamente all'operazione di scrittura descritta sopra, questa volta l'errore viene ignorato e il buffer continua a essere scritto. Di conseguenza, alcuni dati vengono persi, ma il programma continua a funzionare. Non appena viene avviata la successiva operazione di salvataggio, il buffer è di nuovo libero.

Requisiti di sistema e restrizioni

Sistema di programmazione

CODESYS Development System (versione 3.5.18.0 o superiore)

Sistema di esecuzione

Tutto

Nota: usa il file gratuito Device Reader progetto (disponibile in CODESYS Store International) per conoscere le funzioni supportate dal controller.

Componenti aggiuntivi

-

Avviso

_example_icon.png SCARICA progetti