afficher la liste des articles
WinCC -- Création d'un projet HMI -- Utilisation des variables
Comment peut-on partager une variable process (16 bits) en deux variables internes de 8 bits chacune ?
Comment peut-on adresser indirectement une variable à l'aide d'un script C?
Comment peut-on adresser un bit dans un automate avec une liaison FMS de WinCC vers cet automate ?
Conversion d'une variable INT en une variable ASCII avec WinCC
Pourquoi, dans WinCC, des espaces sont-ils affichés au début d'une variable associée de procédé (Text) et qu'à la fin de cette variable, les caractères sont tronqués ?
Comment accélérer lepremier appel d'une fonction GetTag ou SetTag ?
Quelles sont les opérations logiques possibles avec les variables dans les scripts en C ?
Comment utilise-t-on les fonctions GetTagMultiWait et SetTagMultiWait avec le format String ?
Quelles sont les particularités dans un VBScript concernant les opérations sur bit de variables et comment positionner le bit de poids fort (Bit-31/Bit-32) dans WinCC avec VBS ?
Comment utiliser la fonction "SetTagMultiWait()"-pour écrire plusieurs variables WinCC?
Comment utiliser la fonction "GetTagMulti()"-pour lire plusieurs variables WinCC?
Pourquoi l'accès à des variables -avec indication du préfixe de variable dans le nom de la variable- provoque des erreurs d'accès à l'intérieur d'une fenêtre de vue ?
Comment basculer/commuter une variable WinCC de type de données "binaire" en utilisant VBS (Visual Basic Scripting) ?
Pourquoi la valeur n'est-elle pas affichée correctement lorsque l'on pointe une variable avec un VBS et qu'on la lit dans la foulée ?
Comment définir la taille mémoire pour les types de données en C ou les variables C?
Comment peut-on adresser indirectement une variable à l'aide d'un script C?
Nº de référence:


Instructions

Ce script lit un nom de structure d'une variable interne "Variablenmerker" et l'utilise comme nom d'instance. La valeur de la variable est lue de la variable finale.
Le script décrit ci dessous est lancé par clic sur un bouton.

Programme :
=========

#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
char* InstanzNameA;
DWORD VarInhA;
// Préparation de la variable interne avec le nom de structure, ceci peut être déjà fait
// à un autre endroit du programme.
SetTagChar("Variablenmerker","DreieckHuellkurve");
// Réservation de la place mémoire
InstanzNameA = SysMalloc(200);
// lecture du nom de structure
strcpy(InstanzNameA,GetTagChar("Variablenmerker");
// Edition de contrôle dans la fenêtre de diagnostique
printf("Inhalt Pointer 1. Stelle: %s\r\n", InstanzNameA);
// sélectionner le nom de la variable pour le nom d'instance
strcat(InstanzNameA,".Dreieck_1");
// Edition de contrôle dans la fenêtre de diagnostique
printf("Inhalt Pointer 2. Stelle: %s\r\n", InstanzNameA);
// entrée de la valeur de la variable
VarInhA = GetTagWord(InstanzNameA);
// Edition de contrôle dans la fenêtre de diagnostique
printf("Variableninhalt: %d\r\n", VarInhA);
// libération de la mémoire réservée
SysFree(InstanzNameA);
}
 

 ID contribution:218537   Date:2011-01-20 
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