Page 1 sur 1
Adressage dans un FB
Posté : 25 avr. 2017, 14:59
par Damall
Bonjour,
j'ai une question qui me parait bête, mais je ne trouve pas la solution.
J'ai par exemple dans un FB, une variable temporaire de type BYTE, si je veux un octet de cette variable, je peux faire L0.5 par exemple.
Ma question est comment peu t’on faire avec une variable statique sachant que cette variable reste en interne et on ne connais pas le DB d'instance?
Merci.
Re: Adressage dans un FB
Posté : 25 avr. 2017, 17:47
par JC87
Bonsoir,
Je ne comprend pas, tu connais forcement le DB d'instance puisque tu est obligé de le lui spécifier à l'appel du FB ?
JC
Re: Adressage dans un FB
Posté : 25 avr. 2017, 21:04
par R26R
C'est tout simple, tu l'appelle par son mnémonique ! #ma_variable
Re: Adressage dans un FB
Posté : 26 avr. 2017, 07:24
par Damall
JC87 a écrit : ↑25 avr. 2017, 17:47
Bonsoir,
Je ne comprend pas, tu connais forcement le DB d'instance puisque tu est obligé de le lui spécifier à l'appel du FB ?
JC
Salut, et bien non, lorsque tu crée ton FB et que tu ne l'as pas encore appelé, tu ne connais pas le DB d'instance.
Re: Adressage dans un FB
Posté : 26 avr. 2017, 07:30
par Damall
R26R a écrit : ↑25 avr. 2017, 21:04
C'est tout simple, tu l'appelle par son mnémonique ! #ma_variable
Effectivement ça fonctionne si je veux utiliser la variable tel quelle.
Mais si par exemple ma variable est la suivante :
TOTO, BYTE, (Adresse en STAT 5.0)
Donc effectivement dans le programme je l'appel par #TOTO, mais si je veux écrire le premier BIT de cette octet, je fait comment ??
En variable temporaire, j'utilise L5.0 mais en statique je ne sais pas...
Sinon, je suis obliger de faire des masques et ça va alourdir mon code.
Re: Adressage dans un FB
Posté : 26 avr. 2017, 08:23
par JC87
Bonjour,
Ok effectivement je n'avais pas pensé à ça. Cela dit je n'ai jamais eu besoin de faire ça parce que si je veut manipuler un bit stat et bien je déclare des bits et pas des bytes ou autres choses. Dans ton cas à part jouer avec des Temp pour travailler sur une partie de variable stat je ne vois pas comment faire.
JC
Re: Adressage dans un FB
Posté : 26 avr. 2017, 13:41
par Cyril93
Damall a écrit : ↑26 avr. 2017, 07:30
Donc effectivement dans le programme je l'appel par #TOTO, mais si je veux écrire le premier BIT de cette octet, je fait comment ??
En variable temporaire, j'utilise L5.0 mais en statique je ne sais pas...
Sinon, je suis obliger de faire des masques et ça va alourdir mon code.
Tu peux aussi utiliser l’adressage absolu, par exemple DIX5.0 pour le premier bit. Mais comme dit JC pourquoi ne pas faire une copie dans une var local