Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
Bonjour,
Je debute avec les automates Schneider, et sur Unity Pro XL, mais je dois examiné un projet.
Dans le projet se trouve plusieurs structure, et tableau.
Mon probleme vient avec l'adresse automatique ment donnée à des tableaux de structure.
Dans deux cas j'ai deux structures qui se suivent, mais la seconde structure ne commence pas avec le meme ecart d'adressage.
Sur la capture 1, il y a un ecart de 1, et sur la capture 2 il y a un ecart de 2 au niveau de l'adressage.
J'aimerais savoir si il y a une raison ? Etant des bool l'ecart devrait etre de 0 ou de 1 ?
Merci d'avoir lu, et bonne journée
Je debute avec les automates Schneider, et sur Unity Pro XL, mais je dois examiné un projet.
Dans le projet se trouve plusieurs structure, et tableau.
Mon probleme vient avec l'adresse automatique ment donnée à des tableaux de structure.
Dans deux cas j'ai deux structures qui se suivent, mais la seconde structure ne commence pas avec le meme ecart d'adressage.
Sur la capture 1, il y a un ecart de 1, et sur la capture 2 il y a un ecart de 2 au niveau de l'adressage.
J'aimerais savoir si il y a une raison ? Etant des bool l'ecart devrait etre de 0 ou de 1 ?
Merci d'avoir lu, et bonne journée
- itasoft
- Mi homme - Mi automate

- Messages : 7805
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
slts,
déjà, pour quelle raison tu utilise la localisation (adressage absolu) ? %MWxxx
si ça ne se justifie pas il faut enlever l'adressage absolu comme ça tu ne te posera plus la question
ceci dit, Les deux premiers %MW12800 et le premier %MW12812 sont des pointeurs sur la structure
déjà, pour quelle raison tu utilise la localisation (adressage absolu) ? %MWxxx
si ça ne se justifie pas il faut enlever l'adressage absolu comme ça tu ne te posera plus la question
ceci dit, Les deux premiers %MW12800 et le premier %MW12812 sont des pointeurs sur la structure
Modifié en dernier par itasoft le 08 juin 2022, 17:16, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
Bonjour,
Désolé de pas l'avoir précisé.
J'ai besoin à partir du fichier de variable exporter .xsy d'avoir toute les variables de l'automates, (y compris les variables dans une structure, dans un tableau, ou dans un tableau de structure) dans un .csv
Le but est donc d'avoir toute les variables avec adresse de l'automates dans un fichier .csv avec Adresse, Type comme info necessaire.
Pour cela actuellement je me sert de python, et le fichier csv sera utilisé avec le protocole modbus.
Merci de votre reponse
Désolé de pas l'avoir précisé.
J'ai besoin à partir du fichier de variable exporter .xsy d'avoir toute les variables de l'automates, (y compris les variables dans une structure, dans un tableau, ou dans un tableau de structure) dans un .csv
Le but est donc d'avoir toute les variables avec adresse de l'automates dans un fichier .csv avec Adresse, Type comme info necessaire.
Pour cela actuellement je me sert de python, et le fichier csv sera utilisé avec le protocole modbus.
Merci de votre reponse
- itasoft
- Mi homme - Mi automate

- Messages : 7805
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
slts,
ok alors Les deux premiers %MW12800 et le premier %MW12812 sont des pointeurs sur la structure,
c'est à dire à quelle adresse absolue commence la structure
ok alors Les deux premiers %MW12800 et le premier %MW12812 sont des pointeurs sur la structure,
c'est à dire à quelle adresse absolue commence la structure
Modifié en dernier par itasoft le 08 juin 2022, 17:23, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
Bonjour,
C'est des pointeurs, mais cela affecte l'adressage des variables ?
Sur mes premier screenshot, j'ai entouré en rouge a chaque fois 2 variables.
Sur la capture2 est ce que la deuxieme ne devrait pas etre %MW12811 ?
Etant donné que la variables precedentes est un bool ?
J'aurais meme voulu dire %MW12810, etant donné qu'on a 2 BOOL par adress %MW.
(Je joins la capture 2 a nouveau)
C'est des pointeurs, mais cela affecte l'adressage des variables ?
Sur mes premier screenshot, j'ai entouré en rouge a chaque fois 2 variables.
Sur la capture2 est ce que la deuxieme ne devrait pas etre %MW12811 ?
Etant donné que la variables precedentes est un bool ?
J'aurais meme voulu dire %MW12810, etant donné qu'on a 2 BOOL par adress %MW.
(Je joins la capture 2 a nouveau)
- itasoft
- Mi homme - Mi automate

- Messages : 7805
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
ok alors Les deux premiers %MW12800 et le premier %MW12812 sont des pointeurs sur la structure,
c'est à dire à quelle adresse absolue commence la structure, c'est l'adresse qui est utilisée et non pas le contenu ou l'état de l'adresse
ex:
%MW12812 c'est l'adresse 12812 qui est pris en compte et non pas le contenu de la variable %MW12812
c'est à dire à quelle adresse absolue commence la structure, c'est l'adresse qui est utilisée et non pas le contenu ou l'état de l'adresse
ex:
%MW12812 c'est l'adresse 12812 qui est pris en compte et non pas le contenu de la variable %MW12812
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
Bonjour Gilles,
En fonction de l'API que tu utilises l'adressage de tes structures est un peu différent:
En fonction de l'API que tu utilises l'adressage de tes structures est un peu différent:
Principe pour Premium et Quantum
Principe de stockage pour Premium et Quantum :
les éléments sont stockés dans l'ordre dans lequel ils sont déclarés dans la structure ;
l'octet est l'élément de base (alignement des données dans les octets de mémoire) ;
une règle d'alignement est associée à chaque élément :
les types BOOL et BYTE sont alignés de façon indifférente sur les octets pairs ou impairs ;
tous les autres types élémentaires sont alignés sur les octets impairs ;
les structures et les tableaux sont alignés conformément à la règle d'alignement des types
BOOL et BYTE s'ils ne contiennent que des éléments BOOL et BYTE, sinon ils sont alignés sur
les bits impairs de la mémoire.
Voir la doc: Voir iciPrincipe pour Modicon M340, M580 et Momentum
Principe de stockage de ces automates :
les éléments sont stockés dans l'ordre dans lequel ils sont déclarés dans la structure ;
l'octet est l'élément de base ;
une règle d'alignement et fonction de l'élément :
les types BOOL et BYTE sont alignés sur les octets pairs ou impairs ;
les types INT, WORD et UINT sont alignés sur les octets impairs ;
DINT, UDINT, REAL, TIME, DATE, TOD, DT et DWORD sont alignés sur les mots doubles ;
les structures et les tableaux sont alignés conformément aux règles de leurs éléments.
Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
Bonjour,Giles a écrit : ↑08 juin 2022, 16:52 Bonjour,
Je debute avec les automates Schneider, et sur Unity Pro XL, mais je dois examiné un projet.
Dans le projet se trouve plusieurs structure, et tableau.
Mon probleme vient avec l'adresse automatique ment donnée à des tableaux de structure.
Dans deux cas j'ai deux structures qui se suivent, mais la seconde structure ne commence pas avec le meme ecart d'adressage.
Sur la capture 1, il y a un ecart de 1, et sur la capture 2 il y a un ecart de 2 au niveau de l'adressage.
J'aimerais savoir si il y a une raison ? Etant des bool l'ecart devrait etre de 0 ou de 1 ?
Merci d'avoir lu, et bonne journée
J'ai obtenu le même résultat en réalisant des essais de mon coté:
Le décalage de 2 apparait lorsque dans la structure j'utilise au moins une variable stocké dans un double mot (un real, un dint, ...). Dans se cas l'organisation des adressages se réalise de sorte que la variable en double mot commence par une adresse pair. Soit par décalage d'un mot de la structure (dans ton cas) soit par décalage d'1 mot dans la structure comme le cas suivant entre %MW4 et %MW6.
Cordialement,
Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL
Bonjour,
Merci de vos reponse, pour résumé :
Les variables 32b sont sur adresse pair %MW. (Octet 1 tout les 2 %MW)
Les variables 16b sont sur toute adresse %MW. (Octet 1 de chaque %MW)
Les variables binaire sont sur l'octet 1 ou 2 de %MW.
Si dans une un tableau de structure, une variable 32b compose la structure, alors chaque structure du tableau sera aligné suivant la regle 32b.
Dans la meme logique, dans un tableau de structure la structure est composé de variable 16b, la structure sera aligné suivant la regle 16b.
La regles d'alignement est vraiment, meme en dehors des structures.
A noté : clic droit > Analyser permet de verifier si l'adresse est valide ou non. Je le faisais pas, et ca me posait probleme dans mes test.
Merci de votre aide !
Merci de vos reponse, pour résumé :
Les variables 32b sont sur adresse pair %MW. (Octet 1 tout les 2 %MW)
Les variables 16b sont sur toute adresse %MW. (Octet 1 de chaque %MW)
Les variables binaire sont sur l'octet 1 ou 2 de %MW.
Si dans une un tableau de structure, une variable 32b compose la structure, alors chaque structure du tableau sera aligné suivant la regle 32b.
Dans la meme logique, dans un tableau de structure la structure est composé de variable 16b, la structure sera aligné suivant la regle 16b.
La regles d'alignement est vraiment, meme en dehors des structures.
A noté : clic droit > Analyser permet de verifier si l'adresse est valide ou non. Je le faisais pas, et ca me posait probleme dans mes test.
Merci de votre aide !

