Adressage de variables
Adressage de variables
Bonjour,
Lorsque j'essaye de donné une adresse à une variable real de type mot enregistré dans la mémoire, je ne peux pas donné d'adresse avec un numéro impaire (par exemple %MW303 ou %MW101) car si je le fait, j'obtiens l'erreur suivante:
"En raison de contraintes d'alignement, vous devez augmenter ou diminuer l'index de l'adresse topologique de 1:"
J'ai cherché sur internet et je crois avoir compris que cela est du au fait que j'utilise des mots doubles et que donc mes variables en %MWi utilisent deux cases mémoire.
Connaîtriez vous un moyen de donné à mes variables de type real une adresse avec un numéro impaire ?
Merci d'avance pour votre aide
Lorsque j'essaye de donné une adresse à une variable real de type mot enregistré dans la mémoire, je ne peux pas donné d'adresse avec un numéro impaire (par exemple %MW303 ou %MW101) car si je le fait, j'obtiens l'erreur suivante:
"En raison de contraintes d'alignement, vous devez augmenter ou diminuer l'index de l'adresse topologique de 1:"
J'ai cherché sur internet et je crois avoir compris que cela est du au fait que j'utilise des mots doubles et que donc mes variables en %MWi utilisent deux cases mémoire.
Connaîtriez vous un moyen de donné à mes variables de type real une adresse avec un numéro impaire ?
Merci d'avance pour votre aide
-
- Mi homme - Mi automate
- Messages : 2076
- Inscription : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Adressage de variables
Slt,
Pourquoi vouloir cela ? ne mets que des adresses paires et puis c'est tout !
il y a un 'cadre', respecte le, c'est plus simple
Pourquoi vouloir cela ? ne mets que des adresses paires et puis c'est tout !
il y a un 'cadre', respecte le, c'est plus simple
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part !
- Bruce33
- Créateur de langage
- Messages : 716
- Inscription : 28 oct. 2015, 06:54
- Localisation : Pas-de-Calais
Re: Adressage de variables
Bonjour,
Sur les automates TSX Premium on peut utiliser des adresses impaires pour les variables de type REAL (ou DINT, etc. de 32 bits).
Mais sur les M340 et M580 ce n'est pas possible.
C'est une contrainte hardware, liée à la conception du système (processeur, bus mémoire, etc.)
Je conseille même de ne pas utiliser d'adresses impaires sur les Premium sinon le programme ne serait pas portable directement vers le M580...
Sur les automates TSX Premium on peut utiliser des adresses impaires pour les variables de type REAL (ou DINT, etc. de 32 bits).
Mais sur les M340 et M580 ce n'est pas possible.
C'est une contrainte hardware, liée à la conception du système (processeur, bus mémoire, etc.)
Je conseille même de ne pas utiliser d'adresses impaires sur les Premium sinon le programme ne serait pas portable directement vers le M580...
Re: Adressage de variables
Bonjour,
Merci pour vos réponses.
J'avais besoin de ces adresses impaires pour le raccordement à un système de supervision, afin de pouvoir le faire, j'ai donc ajouté des variables "copies en int" de mes real.
Merci beaucoup pour la rapidité de vos réponses
Merci pour vos réponses.
J'avais besoin de ces adresses impaires pour le raccordement à un système de supervision, afin de pouvoir le faire, j'ai donc ajouté des variables "copies en int" de mes real.
Merci beaucoup pour la rapidité de vos réponses
Re: Adressage de variables
Bonjour,
J'ai le même problème que vous avez rencontré et je savoir plus de détail sur la solution que vous avez appliqué.
Merci d'avance pour votre aide.
J'ai le même problème que vous avez rencontré et je savoir plus de détail sur la solution que vous avez appliqué.
Merci d'avance pour votre aide.
-
- Mi homme - Mi automate
- Messages : 2076
- Inscription : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Adressage de variables
Salut !
Comme il l'a indiqué !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part !
Re: Adressage de variables
Salut,
Merci pour la réponse. En effet, j'ai essayé de créer des variables copies de mêmes adresses en int mais je trouve toujours le même problème.
J'ai mis une capture comme fichier joint.
Merci pour la réponse. En effet, j'ai essayé de créer des variables copies de mêmes adresses en int mais je trouve toujours le même problème.
J'ai mis une capture comme fichier joint.
-
- Mi homme - Mi automate
- Messages : 2076
- Inscription : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Adressage de variables
Salut !
Tu n'as pas compris.
Il faut déclarer ta variable REAL en adresse paire :
%MW8 par exemple
elle occupe les adresses suivantes %MW8 et %MW9
tu déclare 2 INT qui se suivent et dont le premier a une adresse impaire :
INT_01 : %MW11
INT_02 : %MW12
il te faudra faire 2 blocs opérate pour copier ton REAL dans tes INT
%MW11:=%MW8
%MW12:=%MW9
Tu n'as pas compris.
Il faut déclarer ta variable REAL en adresse paire :
%MW8 par exemple
elle occupe les adresses suivantes %MW8 et %MW9
tu déclare 2 INT qui se suivent et dont le premier a une adresse impaire :
INT_01 : %MW11
INT_02 : %MW12
il te faudra faire 2 blocs opérate pour copier ton REAL dans tes INT
%MW11:=%MW8
%MW12:=%MW9
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part !
Re: Adressage de variables
Bonjour,
Merci beaucoup pour l'explication rapide et complète que vous m'avez fournie.
Merci beaucoup pour l'explication rapide et complète que vous m'avez fournie.