Page 1 sur 2
Variable Local FB
Posté : 06 juin 2017, 17:13
par Yacub
Bonjour,
J'ai une question sur les variables Local d'un FB.
De ce que j'ai pu comprendre ces variables sont en realiter les variables TEMP du FB.
Dans mon nouveau programme que je tente de scruter, pour comprendre les conditions de mise en marche de deux compresseur il y a une condition, qui est que si L5.0 vaut 1 je demarre mon compresseur 1 , si L5.1 vaut 1 je demarre mon compresseur 2 .
Le probleme c'est que je n'arrive pas a faire le lien entre cette variable Local et mes TEMP ( je pense que que cela correspond a la variable "AuxInt" de type integer mais je ne saurais etre sur de mon coup ) .
Re: Variable Local FB
Posté : 06 juin 2017, 17:19
par Yacub
Ce qui me fait dire que c'est la variable AuxInt c'est que sur un autre reseau, on écrit les variables local
L3.0 et L3.1 en fonction de deux entrées appelés C1_Auto_Ready et C2_Auto_Ready et que dans les variables TEMP il y une variable appelé "ready" de type word .
Ce que je ne comprends pas c'est que cette variable démarre a l'adresse 4 alors que le programme ecrit dans la variable Local 3 ...
Re: Variable Local FB
Posté : 06 juin 2017, 19:07
par Cyril93
Salut
L5.0 avec L pour identifier la pile local. Donc c'est bien la zone TEMP d'un FB
Chez siemens le poids des octets est inversé dans un word. Pour ecrire le bit le plus a droite du WORD ready il faut donc ecrire L5.0 et non pas L4.0
L3.0 et L3.1 sont donc les deux premiers bit de activationW en partant de la droite
Re: Variable Local FB
Posté : 06 juin 2017, 21:16
par Yacub
Cyril93,
Merci pour l'infos donc tu me confirmes bien que la variable L 5.0 correspond a un bit que la fameuse variable AuxInt ?
Re: Variable Local FB
Posté : 06 juin 2017, 21:21
par Yacub
Cyril,
Ce que je ne comprends pas c'est que cette variable commence a l'adresse 6 et que dans le programme on lit l’état de la variable local L 5.0 pour mettre a 1 mes compresseurs, normalement le Word 6 contient les bytes 6 et 7 non ?
Re: Variable Local FB
Posté : 06 juin 2017, 23:05
par Ulairi
Yacub a écrit : ↑06 juin 2017, 21:16
Cyril93,
Merci pour l'infos donc tu me confirmes bien que la variable L 5.0 correspond a un bit que la fameuse variable AuxInt ?
Bonjour,
Cyril93 n'a jamais écrit cela,
L3.0 est le bit de poids le plus faible du mot "ActivationW" (octets 2 et 3)
L5.0 est le bit de poids le plus faible du mot "ready" (octets 4 et 5)
Re: Variable Local FB
Posté : 07 juin 2017, 09:45
par Yacub
Ulairi,
L3.0 est le bit de poids le plus faible du mot "ActivationW" (octets 2 et 3)
L5.0 est le bit de poids le plus faible du mot "ready" (octets 4 et 5)
De ce que j'ai compris ActivationW est un Word et il demarre a l'adresse 4.0 donc ActivationW contient les octets 4 et 5 non ? Du coup L5.0 est un bit appartenant a cette variable .
Idem pour le Word ready, il demarre a l'adresse 2.0 il devrait donc contenir les octets 2 et 3 , y a un truc que je ne pige pas bien la, normalement tu peux voir dans la copie d'ecran l'adresse de ces TEMP
Re: Variable Local FB
Posté : 07 juin 2017, 10:01
par Cyril93
De ce que j'ai compris ActivationW est un Word et il demarre a l'adresse 4.0 donc ActivationW contient les octets 4 et 5 non ? Du coup L5.0 est un bit appartenant a cette variable .
ActivationW démarre à l'octet 2, il n' y a rien à comprendre il suffit de le lire dans l'entête du bloc
Re: Variable Local FB
Posté : 07 juin 2017, 12:12
par Yacub
Juste dans l'entete j'ai ca :
operation word 0.0
ready word 2.0
ActivationW word 4.0
AuxInt word 6.0
Donc pourquoi dis tu que ActivationW demarre a 2 ??? Moi je vois 4 !
Re: Variable Local FB
Posté : 07 juin 2017, 20:05
par Ulairi
Yacub a écrit : ↑07 juin 2017, 12:12
Juste dans l'entete j'ai ca :
operation word 0.0
ready word 2.0
ActivationW word 4.0
AuxInt word 6.0
Donc pourquoi dis tu que ActivationW demarre a 2 ??? Moi je vois 4 !
Regarde la capture d'écran postée dans ton premier message :
