[TIA V16] Bits de mots interne WinCC Advanced

Forum traitant des automates industriels de marque Siemens.
Avatar de l’utilisateur
sinced
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1230
Inscription : 13 oct. 2015, 16:56

[TIA V16] Bits de mots interne WinCC Advanced

Message par sinced »

Bonjour à tous,
j'ai créé une variable interne de type WORD.
Pour des animations j'ai besoin d'accéder à un bit à une certaine position.
Dois-je passer forcément par 1 script ou il y a une syntaxe pour accéder aux bits de mots internes ?
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: [TIA V16] Bits de mots interne WinCC Advanced

Message par philou77 »

Salut,

variable interne de type word ? tu es sûr de ça ?
bon , je suis qu'en V13, mais j'ai pas de variable interne de type WORD...

Si c'est pour de l'animation.. choisis ton mot et coche bit unique, puis le numéro de bit.
Ensuite renseignes les deux états (0 et 1).
Ca marche aussi avec un INT.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar de l’utilisateur
sinced
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1230
Inscription : 13 oct. 2015, 16:56

Re: [TIA V16] Bits de mots interne WinCC Advanced

Message par sinced »

En fait c'est une variable de type Integer.
J'ai besoin pour gérer l'acquittement des alarmes.
L'animation se fait si l'alarme est acquittée ou pas.
Donc j'ai besoin sur mon faceplate de définir un booléen raison pour laquelle je veux extraire un bit de mot.
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: [TIA V16] Bits de mots interne WinCC Advanced

Message par itasoft »

slts,
Connais pas, mais si on ne peut pas accéder aux bits en lecture, alors par Script

(*Exemple Lire l'état du bit 3 du mot myWORD *)
myBIT:=(myWORD AND SHL(1,3))<>0;
Dernière modification par itasoft le 24 janv. 2023, 00:17, modifié 5 fois.
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: [TIA V16] Bits de mots interne WinCC Advanced

Message par philou77 »

Re,

Tu as besoin de quoi pour gérer l’acquittement ?
Post ton faceplate je comprend pas bien ton problème.

Ce que j'ai écrit précédemment rempli ton problème initial à savoir :
pour l'animation, connaitre l'état d'un bit de mot

petite image
Sans titre 1.jpg
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar de l’utilisateur
sinced
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1230
Inscription : 13 oct. 2015, 16:56

Re: [TIA V16] Bits de mots interne WinCC Advanced

Message par sinced »

Je posterai mon faceplate.
Le bit se mot à déclarer dans l'animation marche quand c'est toujours a la même position.
Dans mon cas de figure le bit de mot est différent entre deux instances.
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: [TIA V16] Bits de mots interne WinCC Advanced

Message par philou77 »

Ok, je comprend mieux alors.

une solution ici :
https://support.industry.siemens.com/fo ... ble/258864

ou là :
https://support.industry.siemens.com/fo ... its/262384

Je continue de chercher un peu..
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar de l’utilisateur
sinced
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1230
Inscription : 13 oct. 2015, 16:56

Re: [TIA V16] Bits de mots interne WinCC Advanced

Message par sinced »

philou77 a écrit : 23 janv. 2023, 15:13 Ok, je comprend mieux alors.

une solution ici :
https://support.industry.siemens.com/fo ... ble/258864

ou là :
https://support.industry.siemens.com/fo ... its/262384

Je continue de chercher un peu..
Apparemment il faut le script :(
Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7037
Inscription : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: [TIA V16] Bits de mots interne WinCC Advanced

Message par itasoft »

slts,
j’ai déjà eu un problème similaire avec le Script sur un IHM.
Sur certains Scripts on as pas d’accès direct à un bit de mot pour le mettre à 1 ou à 0
ci dessous un Script générique exemple à convertir en fonction du langage

(*Exemple SET du bit 3 du mot myWORD *)
IF DEFAUT3 THEN
myWORD:= myWORD OR SHL(1,3);
END_IF ;


(*Exemple RESET du bit 3 du mot myWORD *)
IF BP_Acquit3 THEN
myWORD:= myWORD AND NOT SHL(1,3);
END_IF ;
03.JPG
03.JPG (22.35 Kio) Consulté 222 fois
Dernière modification par itasoft le 24 janv. 2023, 16:16, modifié 4 fois.
Automaticien privé (de tout)
itasoft@free.fr
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2076
Inscription : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: [TIA V16] Bits de mots interne WinCC Advanced

Message par philou77 »

Re !

Si il y a plusieurs instances du faceplate affichées en même temps, qu'est-ce qui déclenche le script ?

Dans l'idée (pour des moteurs ) tu devrais avoir :
-des structures type
MOTEUR
.Marche (BOOL)
.Arrêt (BOOL)
.Status (BOOL)

Une variable DéfautsMoteurs (INT)

et des variables type MOTEUR
MOTEUR1.Marche (Adresse)
MOTEUR1.Arrêt (Adresse)
MOTEUR1.Status (adresse bit 0 de DéfautsMoteurs )

MOTEUR2.Marche ((Adresse)
MOTEUR2.Arrêt (Adresse)
MOTEUR2.Status (BOOL) (adresse bit 1 de DéfautsMoteurs )
Etc

Ces variables de structures sont a lier avec les propriétés de chaque instance de faceplate :
Marche
Arrêt
Status

Donc ton BOOL pour l'animation devrait être dans la structure.
à moins que cela ne sois pas possible, Je me trompe ?

edit :

Oui je me trompe car en variable interne, c'est mort pour donner l'adresse d'un bit de mot.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Répondre