afficher la liste des articles
WinCC (TIA Portal) -- Créer configuration HMI -- Working with system functions and Runtime scripting
Comment peut-on accéder par scripts, sur un WinCC Runtime Advanced , à une base de données SQL ?
Quelles sont les informations VBS et les aides de programmation VBS qui sont disponibles dans WinCC (TIA Portal) ?
Comment démarrer certaines fonctions du panneau de configuration (Control Panel) directement depuis le Runtime sur un Comfort Panel ?
Comment écrire ou lire des données dans un fichier au moyen d'un script sur un Comfort Panel avec SIMATIC WinCC (TIA Portal) ?
Trucs et astuces sur l’élaboration de scripts
Comment peut-on régler le format d’affichage de l’heure (par exemple 12 ou 24 heures) dans le contrôle «Vue de courbes» de SIMATIC WinCC Professional ?
Comment exporter et réimporter les données Runtime de WinCC ?
Comment animer des objets avec des scripts dans WinCC Comfort et WinCC Advanced ?
Comfort Panels -- Créer configuration HMI -- Tuyau et trucs pour la configuration
Comment peut-on configurer des cases à cocher ou des boutons d'option dans SIMATIC WinCC (TIA Portal) et comment les paramètre-t-on ?
Comment écrire ou lire des données dans un fichier au moyen d'un script sur un Comfort Panel avec SIMATIC WinCC (TIA Portal) ?
Comment animer des objets avec des scripts dans WinCC Comfort et WinCC Advanced ?
Multi Panel -- Création de la configuration HMI -- Tuyau et trucs pour la configuration
Comment écrire ou lire des données dans un fichier au moyen d'un script sur un Comfort Panel avec SIMATIC WinCC (TIA Portal) ?
Comment créer un programmateur horaire avec WinCC flexible ?
Comment animer des objets avec des scripts dans WinCC Comfort et WinCC Advanced ?
Dans quelles versions le pupitre MP377 15" Touch daylight readable est-il sélectionnable ?
Comment configure-t-on une liaison entre un WinCC flexible Runtime (PC/Panel) et un S7-300/400 sous Profibus/MPI ?
Création de sous tiret (underscore) avec le MP 270
Comment activer directement certaines commandes du système (Control Panel) au niveau du runtime d'un appareil ?
Mobile Panels -- Création de la configuration HMI -- Tuyau et trucs pour la configuration
Comment écrire ou lire des données dans un fichier au moyen d'un script sur un Comfort Panel avec SIMATIC WinCC (TIA Portal) ?
Comment créer un programmateur horaire avec WinCC flexible ?
Comment animer des objets avec des scripts dans WinCC Comfort et WinCC Advanced ?
Comment configure-t-on une liaison entre un WinCC flexible Runtime (PC/Panel) et un S7-300/400 sous Profibus/MPI ?
Comment activer directement certaines commandes du système (Control Panel) au niveau du runtime d'un appareil ?
Comment la fonction "ActiverVueNettoyage" peut être réalisée sur un Mobile Panels ou un OP 177B pour nettoyer l'écran tactile ?
Fonction "Nettoyage d'écran" bloquée sur pupitre Mobile Panel 170
Evaluation de la position du volant d'un Mobile Panel 170
A quoi faut-il faire attention lors de la configuration d'un identifiant de projet sur le Mobile Panel 177 / 277 avec le Kit d'Accu ?
Comment écrire ou lire des données dans un fichier au moyen d'un script sur un Comfort Panel avec SIMATIC WinCC (TIA Portal) ?
Nº de référence:

Description
Cet article décrit comment écrire ou lire des données dans un fichier sur un Comfort Panel avec SIMATIC WinCC Runtine (TIA Portal). VBScript (Visual Basic Scripting) est utilisé pour implémenter ces fonctions. Afin d'enregistrer ou de lire des informations dans un fichier texte, il doit être possible d'accéder au système de fichiers de Microsoft Windows CE. Cet accès est réalisé au moyen de "FileSystemObject".

Documentation sur les commandes VBScript
Des informations concernant les commandes de VBScript sont disponibles dans le système d'aide de WinCC (TIA Portal) dans l'onglet "Contenu" sous " Visualisation de procédés > Travailler avec les fonctions système et les scripts Runtime". ("Content" sous " Visualizing processes > Working with system functions and Runtime scripting")


Figure 01

Contenu de cet article

Instructions
Le tableau ci-dessous décrit la configuration de l'enregistrement dans un fichier ainsi que de la lecture dans un fichier dans WinCC (TIA Portal).
Les formats de fichier ci-dessous sont utilisés :

  • csv
  • txt

Note
Seules les variables internes sont utilisées dans cet exemple. Il est également possible d'utiliser les variables en liaison avec un contrôleur.
Dans cet exemple nous démontrons l'écriture et la lecture dans des fichiers sur une carte mémoire. En cas d'utilisation d'un média de stockage différent, une modification doit être réalisée en conséquence dans le script.  
No. Procédure
1 Création de variables
  • Ouvrir l'éditeur de variables au moyen de "Navigation de projet > HMI_1 > variables HMI > Montrer toutes les variables".
  • Ajouter les quatre variables internes avec les désignations suivantes :
Variable

Type de données

bExtension Bool
szMaterial WString
nPressure Int
nTemperature Int

 
Figure 02

2 Ajout d'objets
  • Ajouter une nouvelle vue nommée "ImportExportData" sous "Navigation de projet > Vues".
  • Insérer deux rectangles dans la vue.
  • Ajouter un champ d'E/S symbolique et trois champs d'E/S conventionnels.
  • Ajouter un bouton et neuf champs texte.
  • Positionner tous les objets et saisir les textes ci-dessous (voir Fig. 04).
     
    • "Process values"
    • "Pressure"
    • "Temperature"
    • "Material"
    • "Text file"
    • "mbar"
    • "°C"
    • "Settings"
    • "Extension"
       
  • Créer une liste de textes nommée "Extension" et de type "Value/Range".
  • Ajouter les entrées suivantes:
     
    • 0 =>  ".txt"
    • 1 =>  ".csv"

Figure 03
3 Insertion de script, de liste de textes et de variables
  • Créer un script avec la désignation "Write_data". Pour cela, aller dans navigation de projet et cliquer sur "Scripts > VBScripts > Ajouter nouvelles fonctions VB".
  • Lier le script "Write_data" au bouton "Save file" sous "Propriétés > Evènement > Clic".
  • Lier la liste de textes "Extension" au Champ d'E/S symbolique "Extension".
  • Lier les variables ci-dessous aux objets correspondants.
     
    Variable/Script Type d'objet Objet pour ...
    iPressure Champ d'E/S Pressure
    iTemperature Champ d'E/S Temperature
    szMaterial Champ d'E/S Material
    bExtension Champ d'E/S symbolique Extension


Figure 04

4 Créer script - Partie 1
  • Ajouter le code exemple au script "Write_data" (voir Fig. 05).

    Note
    Davantage d'informations sur les commandes VBScript sont disponibles dans le système Help de WinCC (TIA Portal).

Description du code source

  • <Lignes 10 - 15> Déclaration variables locales (uniquement valide dans le script).
  • <Ligne 18> La variable "mode" est initialisée pour ouverture du fichier (8 = Ajouter).
  • <Lignes 21-29> La variable "bExtension" est une variable globale qui peut être utilisée dans le projet WinCC (TIA Portal) entier. Cette variable est utilisée pour choisir l'extension de fichier au moyen du Champ d'E/S symbolique.
    Note
    La variable "delimiter" sert de séparateur et doit être modifiée en fonction du pays où il s'applique !
  • <Ligne 32> L'instruction  "On Error Resume Next" est nécessaire dans le cas où des erreurs Runtime apparaissent dans le script. Dès qu'un telle erreur apparait la ligne suivante contenant la routine d'erreur est exécutée automatiquement.
    Note
    Si cette instruction manque et qu'une erreur apparait, le script se termine.
  • <Ligne 35> La fonction "CreateObject("FileCtl.File")" crée un objet qui accède au système de fichiers de Windows CE.
  • <Lignes 38-42> Le code source contient la routine d'erreur pour une erreur Runtime. Si une erreur Runtime apparait, un message d'erreur est généré dans la fenêtre de messages et le script se termine alors.
    Note
    Si "FileCtl.File" est utilisé, il n'est possible d'accéder qu'au système de fichiers de Windows CE. Si ce script est lancé sur un PC avec un système d'exploitation différent, une erreur Runtime apparait dans le script qui est abandonné.


Figure 05

5 Créer script - Partie 2
  • <Ligne 45> En utilisant la méthode "Open" de l'objet "fo" créé, le fichier spécifié est ouvert au moyen du nom de chemin "path" et des paramètres "mode".

file.Open Path name, Mode, [access], [lock], [reclength]

  • <Lignes 48-52> La routine d'erreur est lancée si le fichier ou le nom de chemin correspondant n'existe pas. 
  • <Lignes 55-57> Dans cette section, il est vérifié si le fichier est nouveau ou déjà existant. Si le fichier est nouveau, une en-tête est ajoutée. 
  • <Ligne 60> La méthode "LignePrint" de l'objet "fo" écrit le texte spécifié dans le fichier ouvert. Des valeurs de variable values ou de valeurs de retour peuvent aussi être écrites dans le fichier.
    La fonction "Now" écrit l'horodatage dans le fichier. 
  • <Ligne 63> La méthode "Close" ferme le fichier.
  • <Ligne 66> La chaine de caractères "Nothing" est nécessaire pour séparer les variables d'objet qui sont assignées aux objets avec la commande "Set".
  • <Ligne 68> Transfert d'un message système, défini par l'utilisateur, au système de messages de l'IHM.


Figure 06

6 Lancement du Runtime
  • Transférer du projet WinCC (TIA Portal) au pupitre opérateur et lancer le Runtime.
    Note
    Le script ne peut pas être "débuggé" entre l'ordinateur de configuration et le pupitre en raison des systèmes de fichiers différents. 
  • Saisir une pression, température et Matière.
  • Confirmer avec le bouton "Save data".
  • Dans le Champ d'E/S symbolique, sélectionner ".csv" et cliquer sur le bouton à nouveau.
  • Fermer le Runtime du pupitre opérateur.


Figure 07

7 Ouverture du fichier texte
Si les deux fichiers ont été enregistrés sur la carte mémoire, ils sont alors visualisables sur le PC au moyen d'un lecteur de carte et ouvrables avec un programme approprié. 
  • Ouvrir le fichier avec l'extension ".txt".
  • Fermer ensuite le fichier.


Figure 08

  • Ouvrir le fichier avec l'extension ".csv" avec Excel, par exemple.
  • Fermer ensuite l'application Excel .


Figure 09

Tableau 01

Exemple de lecture d'informations d'un fichier .txt ou .csv
Le tableau ci-dessous explique comment lire des informations depuis un fichier .txt ou .csv et comment les afficher dans WinCC (TIA Portal). Des champs d'E/S sont utilisés pour l'affichage. Pour cette raison, seule la dernière saisie est émise.

Note
Etant donné que seule la dernière saisie est vue dans cet exemple, le script runtime augmente avec la taille du fichier. Généralement la configuration de dépend pas de l'exemple décrit précédemment. Toutefois, ses composants sont utilisés. 
No. Procédure
1 Création de variables
  • Ouvrir l'éditeur de variables au moyen de "Navigation de projet > HMI_1 > variables HMI > Montrer toutes les variables". 
  • Ajouter les trois variables internes avec les désignations suivantes :
     
    Variable

    Type de donnée

    szdate WString
    szString_1 WString
    iValue_1 Int
    iValue_2 Int

Note
If le projet précédant ne peut être utilisé, ajouter alors la variable "bExtension" de type "Bool".


Figure 10

2 Ajouter d'objets
  • Aller sur la vue "ImportExportData".
  • Insérer un rectangle dans la vue.
  • S'ils ne sont pas déjà présents, ajouter un champ d'E/S symbolique et quatre champs d'E/S conventionnels.
  • Ajouter un bouton et cinq champs texte.
  • Positionner tous les objets tels que montrés dans la Fig. 11 et et saisir les textes ci-dessous:
     
    • "Date"
    • "Value_1"
    • "Value_2"
    • "String_1"
    • "Text file"
    • "Settings" (si n'existe pas déjà)
    • "Extension" (si n'existe pas déjà)
       
  • S'ils ne sont pas déjà présents, créer une liste de textes nommée "Extension" avec les saisies ci-dessous:
     
    • 0 =>  ".txt"
    • 1 =>  ".csv"


Figure 11

3 Insertion de script, de liste de textes et de variables 
  • Copier le script "Write_data" et modifier le nom en "Read_data" (les modifications dans le script sont gérées avec le point 5).
  • Lier le script "Read_data" au bouton "Read file" sous "Propriétés > Evènement > Clic".  
  • Si cela n'a pas déjà été fait, lier la liste de textes "Extension" au Champ d'E/S symbolique "Extension".
  • Lier les variables ci-dessous aux objets correspondants.
     
    Variable/Script Objet Objet pour...
    szDate Champ d'E/S Date
    iValue_1 Champ d'E/S Value_1
    iValue_2 Champ d'E/S Value_2
    szString_1 Champ d'E/S String_1


Figure 12

4 Modification du script
  • Modifier le script "Read_data" comme décrit ci-dessous.

Description du code source

  • <Lignes 10-15> Modification des noms des variables (voir Fig. 13).
  • <Ligne 18> Modification de l'initialisation de la variable "mode" de 8 (Ajouter) à 1 (Entrée).
  • <Lignes 21-29> Suppression de la variable "gap" qui n'est plus nécessaire.


Figure 13

5 Modification du script
  • <Lignes 54-60> Suppression de la section dans laquelle se tenait l'écriture dans le fichier.
  • <Lignes 54-60> Ajout de lecture depuis le fichier (voir Fig. 14).


Figure 14

6 Lancement du Runtime
  • Transférer du projet WinCC (TIA Portal) au pupitre opérateur et lancer le Runtime.

    Note
    Lancer la simulation avec Script Debugger pour "débugger" le script.
     
  • Cliquer sur le bouton "Read data".
  • Dans le Champ d'E/S symbolique, sélectionner ".csv" et cliquer sur le bouton à nouveau.
  • Fermer le Runtime du pupitre opérateur.


Figure 15

Tableau 02

Téléchargement
Le fichier téléchargeable fourni en annexe contient le projet exemple décrit.

Annexe : Example_Projet.zip ( 1183 KB )

Note
Le code source utilisé dans le script ne peut être utilisé que sur des pupitres opérateur avec Microsoft Windows CE, parce qu'il n'est pas possible d'accéder au système de fichiers d'autres systèmes d'exploitation avec ce code source.

 ID contribution:59604194   Date:2012-05-22 
Cette contribution...m´a aidéne m´a pas aidé                                 
mySupport
My Documentation Manager 
Lettre d'information 
CAx-Download-Manager 
Demande d'assistance technique
A propos de cet article
Imprimer
Créer PDF 
Envoyer l'article
QuickLinks
Outil de compatibilité 
Aide
Aide en ligne
Guided Tour