Skip to main content

Exemple : Utilisation de la CSV Utility SL bibliothèque

Produit: CODESYS IIOT Libraries SL

. Lecture d'un fichier CSV :
  • 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, ou ReadAll des blocs fonctions sont utilisés pour lire les valeurs.

  • Le le CSVReaderExample demande dans le CSV 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.

. Écriture d'un 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 tampon

  • NewLine: 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 courant

  • NewFile: 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, et NewLine 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 la WriteFile 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 de DataObject, où l'opération de sauvegarde est implémentée.

  • ObjectOriented_Write (écriture orientée objet)

    Ce programme appelle le Write méthode de DataObject où l'opération d'écriture est implémentée.

  • DataObject

    Ce bloc fonction implémente la ICSVObject interface. Le Write La méthode inclut les variables locales qui seront sauvegardées ultérieurement. Le correspondant AddXXX 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, le Error statut est atteint. Ensuite, rien d'autre ne sera écrit. Le Save La méthode implémente l'opération de sauvegarde. Au début, le InitSave méthode de la CSVWriter l'instance de bloc fonction est appelée. Après cela, seuls les Save 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 Device Reader projet (disponible dans le CODESYS Store International) pour connaître les fonctions supportées par le contrôleur.

Composants complémentaires

-

Avis

_example_icon.png TÉLÉCHARGER projets