Exemple : Utilisation de la CSV Utility SL bibliothèque
Produit: CODESYS IIOT Libraries SL
Le
CSVReader
dossier contient les composants pour lire les fichiers CSV.L'initialisation et le passage du chemin du fichier se fait par le
CSVReaderInit
bloc fonctionnel.Les valeurs du fichier CSV peuvent être lues individuellement, ligne par ligne, ou toutes à la fois. Le
NextLine
,NextElement
, ouReadAll
des blocs fonctions sont utilisés pour lire les valeurs.Le le
CSVReaderExample
demande dans leCSV Utility Examples.project
exemple de projet montre comment utiliser ces composants.La longueur maximale des éléments doit être supérieure ou égale à la longueur maximale des colonnes du fichier CSV.
Le
CSVWriter
dossier contient les composants pour écrire des fichiers CSV.Les données sont enregistrées en trois étapes :
La première étape consiste à initialiser la bibliothèque. A ce moment, le chemin et le nom du fichier sont passés.
La deuxième étape consiste à stocker les données dans une mémoire tampon.
La troisième étape consiste à écrire le tampon dans un fichier CSV.
Description
L'exemple décrit comment vous pouvez utiliser les blocs fonctionnels de la bibliothèque dans une application.
Programmation procédurale classique
Les blocs fonctionnels pour la programmation classique basée sur des blocs fonctionnels se trouvent dans le FunctionBlocks
dossier.
Les blocs fonctionnels de ce dossier sont conçus pour le traitement asynchrone. Ils étaient issus de la CBM.ETrigA
bloc fonctionnel.
Pour chaque bloc fonctionnel, un objet de visualisation a également été créé qui peut être utilisé dans d'autres projets.
On en trouve un exemple dans le CSV Utility Examples.project
projet dans le CSVWriterCFCExample
application.
Initialisation : Cela se fait au moyen de la Init
bloc fonctionnel. Ici, le chemin de stockage et le nom du fichier peuvent être passés.
Pour ajouter des valeurs : Les valeurs peuvent être écrites dans le tampon au moyen de la AddXXX
blocs fonctionnels. Une nouvelle ligne peut être ajoutée à l'aide de la NewLine
bloc fonctionnel. Un nouveau fichier est créé avec NewFile
.
Sauvegarder : Le tampon est sauvegardé au moyen de la WriteFile
bloc fonctionnel. Les valeurs sont écrites dans le format standard du type de données correspondant.
Visualisations : Une visualisation des entrées et des sorties sorties pour chaque bloc fonction.
Utilisation des blocs fonction
Tous les blocs fonctionnels du FunctionBlocks
dossier réagit à un front montant au xExecute
saisir.
Faites attention à ce que ces opérations soient exécutées de manière asynchrone et que le xDone
, xError
, et eError
les sorties doivent être échantillonnées en conséquence. Le traitement n'a pas à être effectué dans un cycle.
Programmation orientée objet
Les blocs fonctionnels et les interfaces pour la programmation orientée objet se trouvent dans le Objects
dossier.
On en trouve un exemple dans le CSV Utility Examples.project
projet dans le CSVWriterSTExample
application.
Le CSVWriter
Le bloc de fonction fournit des méthodes de base pour enregistrer des fichiers CSV.
Initialisation : Au début, le InitSave
La méthode doit être appelée pour créer un nouveau fichier ou ouvrir un fichier existant.
Pour ajouter des valeurs: Lorsque l'un des Add
méthodes est appelée, la valeur est écrite dans le tampon. Une nouvelle ligne est ajoutée dès que la méthode correspondante est appelée. Si le tampon est plein, une erreur est renvoyée. Dès que les données ont été enregistrées, l'espace est à nouveau disponible pour de nouvelles valeurs.
AddXXX
: Insère des données à la fin du tamponNewLine
: Ajoute une nouvelle ligne
Sauvegarder :
Save
: enregistre la valeur du tampon sous forme de fichier CSV
Méthodes supplémentaires :
GetFileSize
: Renvoie la taille du fichier courantNewFile
: Crée un nouveau fichier, soit avec un nom spécifié, soit avec un nom généré automatiquement
Erreur : Toutes les méthodes ont un champ d'erreur pour stocker une éventuelle erreur du type CSV_ERROR
.
Informations Complémentaires
Le CSV Utility SL Examples.project
exemple de projet contient un exemple d'application pour CSVReader
et deux exemples d'applications pour CSVWriter
.
Application: CSVReaderExample
L'exemple montre les trois manières de lire les valeurs d'un fichier CSV. Le Prog
programme montre comment utiliser le CSVReaderInit
, NextElement
, ReadAll
, et NextLine
blocs fonctionnels. Le contenu de la CSVReader.csv
fichier est affiché dans une visualisation.
Astuce
Pour tester les exemples sur un CODESYS Control, le fichier CSV CSVReader
peut être copié du répertoire cible de l'installation vers le c:\temp
annuaire.
Application : CSVWriterCFCExample
Cet exemple utilise un exemple CFC pour montrer comment utiliser les blocs fonctionnels du CSVWriter
bibliothèque. Il montre également comment utiliser la visualisation intégrée.
Fonctionnalité :
Le
WriteValues
programme crée un fichier CSV dans le"c:/temp/CSVWriterCFCExampleData.csv"
dossier.Dans la visualisation, cliquez sur le Cliquez ici pour ajouter le bouton déclenche l'écriture dans le fichier.
L'initialisation se fait au moyen de la
CSV.Init
bloc fonctionnel. Le chemin et le nom du fichier sont passés ici directement.Le
AddWord
,AddString
, etNewLine
les blocs fonctionnels montrent comment ajouter des valeurs au tampon interne.Le
ctu
compteur incrémente le numéro de ligne lors de chaque événement. Après l'ajout d'une nouvelle ligne, les valeurs sont écrites dans un fichier CSV au moyen de laWriteFile
bloc fonctionnel.
Application : CSVWriterSTExample
Cet exemple montre comment écrire des valeurs de variables dans un fichier CSV au moyen de la programmation orientée objet ou de la programmation séquentielle. Chaque processus est exécuté en deux tâches. Une tâche écrit les valeurs dans le tampon et l'autre enregistre les données du tampon dans le fichier.
Fonctionnalité :
ObjectOriented_Save
(sauvegarde orientée objet)Ce programme appelle le
Save
méthode deDataObject
, où l'opération de sauvegarde est implémentée.ObjectOriented_Write
(écriture orientée objet)Ce programme appelle le
Write
méthode deDataObject
où l'opération d'écriture est implémentée.DataObject
Ce bloc fonction implémente la
ICSVObject
interface. LeWrite
La méthode inclut les variables locales qui seront sauvegardées ultérieurement. Le correspondantAddXXX
La méthode est appelée pour chaque type de données. Après un certain nombre de lignes, un nouveau fichier est créé avec d'autres valeurs. Dès qu'une erreur survient, leError
statut est atteint. Ensuite, rien d'autre ne sera écrit. LeSave
La méthode implémente l'opération de sauvegarde. Au début, leInitSave
méthode de laCSVWriter
l'instance de bloc fonction est appelée. Après cela, seuls lesSave
la méthode doit encore être appelée.Pour activer les programmes suivants, les POU dans les tâches doivent être modifiées.
Sequential_Save
(sauvegarde séquentielle)L'opération de sauvegarde doit également être démarrée avec le
InitSave
méthode. Une fois que le fichier CSV atteint une taille spécifique, un nouveau fichier est créé. Si aucun nom de fichier n'est spécifié, le nom existant avec la numérotation ajoutée est utilisé.Sequential_Write
(écriture séquentielle)Différentes variables sont écrites dans le tampon. Si celui-ci est plein, alors le
EndOfBuffer
l'erreur est renvoyée. Contrairement à l'opération d'écriture décrite ci-dessus, l'erreur est cette fois ignorée et le buffer continue à être écrit. Par conséquent, certaines données sont perdues, mais le programme continue de s'exécuter. Dès que la prochaine opération de sauvegarde est lancée, le tampon est à nouveau libre.
Configuration système requise et restrictions
Système de programmation | CODESYS Development System (version 3.5.18.0 ou supérieure) |
Système d'exécution | Tous Remarque : utilisez la version gratuite |
Composants complémentaires | - |
Avis
TÉLÉCHARGER projets