Syntaxe pour transmettre des données API via FTP

Il est possible de générer un fichier avec des données API et de le transmettre via FTP ou de l’enregistrer dans la mémoire du dispositif.

L’automate peut envoyer des données sous forme de texte défini par l’utilisateur (TXT) ou dans un format de fichier compatible avec Microsoft Excel (CSV). L’intervalle de registres de données API et le nom du fichier sont définis dans une balise avec une syntaxe spéciale. Cette balise est placée dans le programme API sous forme de chaîne de caractères et elle est lue lorsque le démarrage de l’opération a été détecté.

Le nombre maximum de caractères de la balise de commande (accolades inclues) est de 128.

Les commandes suivantes sont exécutées par des blocs fonctions pratiques de la bibliothèque FP-I4C.

Commandes

Dans les exemples de syntaxe suivants, les lettres des commandes sont en caractères gras :

Aucune donnée ne sera écrite vers l’API si le nombre des registres API est défini sur 0.

Paramètres

Code de départ (offset de caractère : +0)

La balise doit commencer avec {A_

Exemple : {A_

Type de registre API (offset de caractère : +3)

Valeurs :

  • D : DT
  • F : FL
  • L : LD

Exemple : D_

Pointeur au début des données 1 (offset de caractère : +5)

Valeurs :

  • CSV : première adresse de registre API à lire

  • TXT : début de l’en-tête de la chaîne de caractères de Control FPWIN Pro7

Exemple : 00200_

Nombre de registres ou pointeur au début des données 2 (offset de caractère : +11)

Valeurs :

  • CSV : nombre de registres API à lire
  • Exemple : 00066_

  • TXT : début de l’en-tête de la chaîne de caractères de Control FPWIN Pro7 pour lire ou remplacer le texte avec r ou m ; 00001_ pour transmettre des données ou 00000_ pour tester une commande avec P

    Exemple : 00001_

Mode de fonctionnement (offset de caractère : +17)

Valeurs :

  • CSV :

    • K,k : terminateur de cellule ',' (virgule)

    • S,s : terminateur de cellule ';' (point-virgule)

    • P : rétablir les données d’un fichier CSV existant à partir de l’emplacement de sauvegarde des données vers l’automate.

    • F : envoyer un fichier à partir de l’emplacement de sauvegarde des données via FTP.

    • D : supprimer un fichier de l’emplacement de sauvegarde des données.

  • TXT :
    • T,t : écrire et transmettre un fichier TXT via FTP.

    • a : ajouter une chaîne de caractères à un fichier TXT existant. Si le fichier n’existe pas, un nouveau fichier est créé.

    • r : rechercher une ligne qui contient le texte spécifié par Pointeur au début des données 1.

      Chaque ligne se termine avec le caractère de fin de ligne LF (line feed). Si le texte des données 1 commence par * (astérisque), le texte recherché peut être à n’importe quelle position dans la ligne. Le résultat de la lecture ou les informations d’erreur sont sauvegardées dans les données 2.

    • m* : remplacer une ligne qui contient le texte spécifié par Pointeur au début des données 1.

      Chaque ligne se termine avec le caractère de fin de ligne LF (line feed). Si le texte des données 1 commence par * (astérisque), le texte recherché peut être à n’importe quelle position dans la ligne. Les données remplacées ou les informations d’erreur sont sauvegardées dans les données 2. Si les données 1 sont vides, une nouvelle ligne avec les données 2 est insérée à la ligne spécifiée par Nombre.

Avec des lettres minuscules, les données sont sauvegardées sans être envoyées via FTP.

Exemple : S

Nombre (offset de caractère : +18)

Valeurs :

  • CSV : nombre de colonnes CSV

  • TXT :
    • r et m : nombre de lignes à rechercher
    • Toutes les autres fonctions : Toujours 01_

Exemple : 04_

Nom du fichier (offset de caractère : +21)

Nom du fichier joint jusqu’à }

Vous pouvez utiliser des noms de fichiers avec tous les caractères typiquement autorisés dans les systèmes de fichiers (espace y compris). Vous pouvez utiliser une extension de fichier autre que TXT ou CSV.

Pour supprimer un jeu de fichiers, vous pouvez utiliser des symboles de remplacement (*, ? mais pas la combinaison *.*).

Exemple : filename.csv