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 ?
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 ?
Touch Panel / Operator Panel -- Création de la configuration HMI -- Tuyau et trucs pour la configuration
Quels sont les articles disponibles sur Internet pour la migration vers STEP 7 V11 et WinCC V11 (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 ?
Utilisation de bouton en tant que lampe de signalisation sur le TP170A
Hauteur des champs de Textes dans un projet Standard (ProTool V6.0)
Fonctions CPU pour S7-300 sur OP7/OP17
Changement d'image sur un TP170A par une fonction variable
La police "Tahoma" est la seule police que l'on peut utiliser avec les  OP/TP 170A/B et les C7-635.
Comment utiliser un OP73 sous forme de pupitre portable ?
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 ?
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 ?
Comment animer des objets avec des scripts dans WinCC Comfort et WinCC Advanced ?
Nº de référence:

Description
L'accès aux propriétés des objets à l'aide de script est une autre alternative à la configuration via la boîte de dialogue des propriétés ou de l'animation.
Certaines propriétés d'objets ne peuvent pas être dynamisées/animées en Runtime via la configuration standard, comme, par exemple, la taille d'un rectangle. Ces attributs ou propriétés peuvent alors être dynamisés à l'aide de scripts.

Vous trouverez en fin de cet article un document PDF ainsi que le projet exemple décrit.
Le document PDF contient une liste des objets qui sont inclus en standard dans WinCC Comfort ou WinCC Advanced. Vous y trouverez la liste des propriétés des objets (attributs) qui peuvent être appelées par script ainsi que le type d'accès à ces propriétés.

Guide
Dans l'exemple suivant, nous montrons comment modifier en Runtime la largeur et la hauteur d'un rectangle à l'aide d'un script.

Les noms utilisés pour les variables et pour les objets peuvent être adaptés individuellement selon vos besoins.
Les variables n'ont pas besoin d'une liaison avec l'automate (sauf si vous souhaitez assigner la largeur et la hauteur du rectangle par l'automate).

Pour une meilleure compréhension, il est utile d'ouvrir le projet joint.
 
Procédure
1 Insérer un rectangle
  • Insérez un objet de type "rectangle" dans la vue "Screen_01".
    Note
    Le nom de la vue sera utilisé ultérieurement dans le script.
  • Définissez la taille ainsi que le nom de l'objet.
    Dans cet exemple, la largeur du rectangle est de 100 et sa hauteur est de 50.
    Le nom de l'objet est "Rectangle_1".
    Note
    Le nom de l'objet (rectangle) sera utilisé ultérieurement dans le script.


Figure 01

2 Créer les variables
La largeur et la hauteur du rectangle doivent être modifiées par script. Pour cela, créez deux variables internes dénommées "RectangleHeight" et "RectangleWidth".
(Navigateur du projet > Pupitre opérateur > Variables IHM > Table de variables standard).

Une valeur initiale est assignée aux variables. Vous pouvez, par exemple, utiliser les valeurs de la configuration du rectangle. Dans ce cas, "100" pour la largeur et "50" pour la hauteur (Attributs > Valeurs > Valeur initiale). La raison de cette mesure est décrite plus bas (lien).

Note
Les variables seront utilisées ultérieurement dans le script.


Figure 02

3 Créer les scripts
Deux scripts sont utilisés dans le projet.
(Navigateur du projet > Pupitre opérateur > Scripts VB > Ajouter une nouvelle fonction VB ).
Vous pouvez donner un nom quelconque aux scripts.
Dans cet exemple:
  • Script_01_Rectangle
  • Script_02_Init_Rectangle

Vous trouverez la description détaillée des scripts utilisés ci-après.

4 Script_01_Rectangle
Le script "Script_01_Rectangle" permet de modifier la taille du rectangle.

Créer une variable interne au script
Une variable interne au script est nécessaire pour modifier les propriétés d'un objet dans WinCC Comfort ou WinCC Advanced (dans cet exemple, les propriétés du rectangle).
Vous pouvez donner un nom quelconque aux variables.
Dans cet exemple : "ObjectRectangle" 

Définition de l'objet
Dans l'éditeur de script, l'objet "Rectangle_1" est transféré à la variable "ObjectRectangle".
L'instruction "HmiRuntime.Screens" permet d'indiquer la vue qui contient l'objet (rectangle).
L'accès explicite à l'objet (rectangle) dans la vue se fait grâce à l'instruction "ScreenItems".
Dans cet exemple :
Set ObjectRectangle = HmiRuntime.Screens("Screen_01").ScreenItems("Rectangle_1")

Note
Veuillez noter que le nom de l'objet doit être univoque dans la vue ; cela signifie que ce nom ne doit pas être utilisé par un autre objet.
Le même nom d'objet mais dans une vue différente est autorisé !

Affecter à l'objet (rectangle) les attributs et les variables pour la "hauteur" et la "largeur"
La largeur de l'objet est transmise via l'attribut "Width".
La hauteur de l'objet est transmise via l'attribut "Height".
Deux variables pour la "largeur" et la "hauteur" ont été défini pour le rectangle utilisé.
Ces variables sont à affecter à l'objet.

Dans notre exemple :
ObjectRectangle.Width = SmartTags("RectangleWidth")
ObjectRectangle.Height = SmartTags("RectangleHeight")


Figure 03

5 Script_02_Init_Rectangle
Le script "Script_02_Init_Rectangle" permet de modifier la taille du rectangle à une taille définie dans le script (retour à la "taille standard").
Il ne sert qu'à remettre le rectangle à sa "taille d'origine" sans avoir à renseigner auparavant les valeurs dans les champs d'E/S.

La structure du script est identique à celle du script "Script_01_Rectangle". Il se distingue uniquement par l'affection d'une taille fixe pour la largeur ("200") et pour la hauteur ("100") du rectangle.

 
Figure 04 

6 Astuces pour créer les scripts

Complètement automatique

  • Lors de la création de script, utilisez le "complètement automatique".
    Le "complètement automatique" signifie que vous obtenez une liste contextuelle depuis laquelle vous pouvez choisir les variables ou instructions souhaitées.
    Exemple 1
    Après avoir inséré "...= HmiRuntime", ajoutez un "point".
    Un "menu contextuel" s'ouvre depuis lequel vous pouvez choisir parmi les variables ou instructions disponibles.


Figure 05

Exemple 2
Après avoir inséré "ObjectRectangle", ajoutez un "point".
Un "menu contextuel" s'ouvre depuis lequel vous pouvez choisir parmi les propriétés disponibles.


Figure 06

Insérer les variables

  • Placez-vous à l'endroit où vous souhaitez insérer la variable
  • Cliquez sur le bouton droit de la souris. Un menu contextuel apparaît.
    Choisissez le menu "Complètement automatique > Lister objets".
    Une autre fenêtre s'ouvre depuis laquelle vous pouvez sélectionner la variable correspondante et l'insérer en cliquant sur le bouton "OK".


Figure 07

7 Insérer des boutons et des champs d'E/S
Pour pouvoir indiquer la largeur et la hauteur, deux champs d'E/S sont nécessaires. Deux boutons sont utilisés pour exécuter les scripts.
  • Bouton "Change size" (Script  "Script_01_Rectangle")
  • Bouton "Standard size" (script "Script_02_Init_Rectangle")


Figure 08

Les variables internes pour la "largeur" et la "hauteur" sont configurées chacune sur un champ d'E/S
(Attributs > Général > Process).

Le script "Script_01_Rectangle" est appelé par le bouton "Change size"
(Propriétés > Evénements > Appuyer).

Le script "Script_02_Init_Rectangle" est appelé par le bouton "Standard size"
(Propriétés > Evénements > Appuyer).

8 Propriétés de la vue "Screen_01"
L'exemple est exécuté via la vue "Screen_01".

Si la taille du "rectangle" est modifiée, ceci n'est fait que "temporairement". Si la vue est réappelée, le rectangle reprend la taille issue de la configuration.

Si vous souhaitez conserver la taille modifiée après un changement de vue, vous devez appeler le script "Script_01_Rectangle" au chargement de la vue "Screen_01". (Propriétés > Evénements > Chargé).

Au premier chargement de la vue ou lorsque qu'aucune valeur pour la taille du rectangle n'a été indiquée, le rectangle n'est pas visible sur la vue ! (largeur et hauteur ont une longueur "Null").
Pour que ce phénomène ne se produise pas, il faut indiquer une valeur initiale aux variables "largeur" et "hauteur" (lien).


Figure 09

9 Remarques et astuces sur la configuration
  • Pour tester le projet joint, vous pouvez utiliser un pupitre TP1200 Comfort ou démarrer la simulation WinCC Comfort ou WinCC Advanced. 
  • Lorsque vous changez une valeur pour le rectangle via un champ d'E/S, veillez à ce que cette valeur ne dépasse pas la hauteur ou la largeur de la vue en cours. Sinon, vous obtiendrez un message d'erreur (erreur de script).
    Remède
    Vous pouvez indiquer une valeur maximale pour les variables "RectangleHeight" et "RectangleWidth" sous "Attributs > Plage > Paramètres". Cette valeur est dépendante de la position de l'objet configuré.
  • Erreur dans le script ....
    Les scripts lisent le nom de l'objet (rectangle). Si vous souhaitez tester le projet dans une "Simulation Runtime PC", avant le démarrage du Runtime, vérifiez que l'option sous "Paramètres Runtime > Général > Vue > Charger le nom" soit cochée.
  • Dans l'aide de WinCC (TIA Portal), vous trouverez d'autres informations sur le thème "Modèle d'objet VBS" (cf. figure suivante).


Figure 10

Tableau 01

Informations complémentaires (insignifiantes pour l'exemple actuel)
Dans l'aide de WinCC V11 (TIA Portal), vous trouverez tous les objets en liaison avec VBS. Les tableaux suivants contiennent la liste des objets avec leur désignation.

Dans l'onglet "index" du système d'aide, indiquez par exemple le mot-clé "rectangle". Vous obtiendrez alors un aperçu de l'objet pour lequel vous pourrez obtenir d'autres informations.


Figure 11

Objets de base
 

Objet HMI Runtime Object
1 Ligne Line
2 Ligne polygonale Polyline
3 Polygone Polygon
4 Ellipse Ellipse
5 Cercle Circle
6 Rectangle Rectangle
7 Champ de texte TextField
8 Vue de graphique GraphicView
Tableau 02

Eléments
 

Objet HMI Runtime Object
1 Champ d'E/S IOField
2 Bouton Button
3 Champ d'E/S symbolique SymbolicIOField
4 Champ d'E/S graphique GraphicIOField
5 Champ de date/heure DateTimeField
6 Bargraphe Bar
7 Commutateur Switch
8 Bibliothèque des icônes SymbolLibrary
9 Curseur Slider
10 Instrument à aiguille Gauge
11 Horloge Clock
Tableau 03

Contrôles
 
Objet HMI Runtime Object
1 Vue des alarmes MessageView
2 Vue de courbes TrendView
3 Vue des utilisateurs UserView
4 Visualisation/forçage StatusForce
5 Vue Sm@rtClient SmartClientView
6 Vue de recette RecipeView
7 Vue de courbes f(x) f(x)TrendView
8 Vue du diagnostic système SystemDiagnosticsView
9 Media Player MediaPlayer
Tableau 04

Remarque
Veuillez noter que tous les objets ne sont pas disponibles sur tous les pupitres.

Environnement de création
Les figures et téléchargements de ce FAQ ont été créés avec WinCC V11.

Téléchargements
 
Contenu du téléchargement

Téléchargement

Documentation 
L'annexe contient une liste des objets contenus en standard dans WinCC Comfort ou WinCC Advanced. Toutes les propriétés (attributs) des objets, ainsi que le type d'accès à ces propriétés,  qui peuvent être appelées dans un script via les instructions "HmiRuntime.Screens" et "ScreenItems" sont listées. 

Object_Attributes ( 40 KB )
Code 
Le fichier compacté contient le projet exemple décrit.

TIA_Project_V11
( 2314 KB )

 ID contribution:53752382   Date:2012-03-27 
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