Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL

Forum traitant des automates industriels de marque Schneider - Telemecanique
Répondre
Avatar du membre
Giles
Apprend le binaire
Apprend le binaire
Messages : 10
Enregistré le : 08 juin 2022, 16:36

Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL

Message par Giles »

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
Fichiers joints
Structure avec un ecart d'adresse de 2
Structure avec un ecart d'adresse de 2
Structure avec un ecart d'adresse de 1
Structure avec un ecart d'adresse de 1
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
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

Message par itasoft »

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
Modifié en dernier par itasoft le 08 juin 2022, 17:16, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
Giles
Apprend le binaire
Apprend le binaire
Messages : 10
Enregistré le : 08 juin 2022, 16:36

Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL

Message par Giles »

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
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
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

Message par itasoft »

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
Modifié en dernier par itasoft le 08 juin 2022, 17:23, modifié 1 fois.
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
Giles
Apprend le binaire
Apprend le binaire
Messages : 10
Enregistré le : 08 juin 2022, 16:36

Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL

Message par Giles »

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)
Fichiers joints
Capture2.png
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
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

Message par itasoft »

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
Automaticien privé (de tout)
itasoft@free.fr
Avatar du membre
Sbukx
Première mise en service
Première mise en service
Messages : 51
Enregistré le : 15 janv. 2016, 14:59

Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL

Message par Sbukx »

Bonjour Gilles,

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.
Principe 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.
Voir la doc: Voir ici
Uphelus
Première mise en service
Première mise en service
Messages : 52
Enregistré le : 02 janv. 2019, 08:35

Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL

Message par Uphelus »

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
Bonjour,

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.
Sans titre.png
Sans titre.png (11.78 Kio) Vu 1975 fois
Cordialement,
Avatar du membre
Giles
Apprend le binaire
Apprend le binaire
Messages : 10
Enregistré le : 08 juin 2022, 16:36

Re: Question sur l'adressage automatique dans un tableau de structure sur Unity Pro XL

Message par Giles »

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 ! :)
Répondre