Présentation
Les DDT sont stockés dans la mémoire de l'automate dans l'ordre de déclaration de ses éléments.
Les règles ci-après sont toutefois utilisées.
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
etBYTE
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
etBYTE
s'ils ne contiennent que des élémentsBOOL
etBYTE
, sinon ils sont alignés sur les bits impairs de la mémoire.
AVERTISSEMENT | |
---|---|
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
etBYTE
sont alignés sur les octets pairs ou impairs ;les types
INT
,WORD
etUINT
sont alignés sur les octets impairs ;DINT
,UDINT
,REAL
,TIME
,DATE
,TOD
,DT
etDWORD
sont alignés sur les mots doubles ;les structures et les tableaux sont alignés conformément aux règles de leurs éléments.
AVERTISSEMENT | |
---|---|
Alignement des DDT d'équipement Modicon M580 pour la scrutation des E/S
Deux modes de scrutation d'E/S sont proposés :
Le mode de scrutation d'E/S hérité (utilisé dans Unity Pro ≤ V11.1) crée des structures de DDT d'équipement alignées sur 32 bits par défaut.
Le mode de scrutation d'E/S amélioré (compatible pour les applications créées avec Unity Pro ≤ V12.0) crée des structures de DDT d'équipement alignées sur 16 bits par défaut.
Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures.
Pour conserver l'alignement d'origine des applications créées pour Unity Pro ≤ V11.1, sélectionnez le mode de scrutation d'E/S hérité.
Exemple d'alignement non concordant pour un équipement Modbus TCP :
Exemple d'agencement en mode hérité (alignement 32 bits, tableau de 4 types
BYTE
). Si 3 typesINT
sont transmis, la structure en mode hérité crée 2 octets vides à prendre en compte dans l'interprétetation de la structure globale.Exemple d'agencement en mode amélioré (alignement 16 bits, tableau de types
INT
). Si 3 typesINT
sont transmis, aucun octet vide n'est ajouté par le système ; toutes les données de la structure sont utiles.
Exemples
Le tableau
ci-après donne quelques exemples de structures de données.
Dans les exemples suivants, des DDT de type de structure sont adressés
à %MWi
. Le premier octet du mot correspond aux
8 bits de poids faible, le deuxième octet correspond aux
8 bits de poids fort.
Dans le cas des structures suivantes,
la première variable est mappée avec l'adresse %MW100
:
Première adresse de la mémoire |
Description de la structure |
||
---|---|---|---|
Modicon M340, M580 ou Momentum |
Premium |
Para_PWM1 |
|
|
|
t_period : TIME |
|
|
|
t_min : TIME |
|
|
|
in_max : REAL |
|
Mode_TOTALIZER |
|||
|
|
hold : BOOL |
|
|
|
rst : BOOL |
|
Info_TOTALIZER |
|||
|
|
outc : REAL |
|
|
|
cter : UINT |
|
|
|
done : BOOL |
|
|
|
Réservé à l'alignement |
Le tableau ci-après donne deux exemples de structures de données avec des tableaux :
Première adresse de la mémoire |
Description de la structure |
||
---|---|---|---|
Modicon M340, M580 ou Momentum |
Premium |
EHC105_Out |
|
|
|
Quit : BYTE |
|
|
|
Control : ARRAY [1..5] OF BYTE |
|
|
|
Final : ARRAY [1..5] OF DINT |
|
CPCfg_ex |
|||
|
|
Profile_type : INT |
|
|
|
Interp_type : INT |
|
|
|
Nb_of_coords : INT |
|
|
|
Nb_of_points : INT |
|
|
|
reserved : ARRAY [0..4] OF BYTE |
|
|
|
Réservé à l'alignement de la variable Master_offset sur les octets pairs |
|
|
|
Master_offset : DINT |
|
|
|
Follower_offset : INT |
|
|
- |
Réservé à l'alignement |