Recopie d'un tableau de UDINT dans une structure en UDINT

Forum traitant des automates industriels de marque Schneider - Telemecanique
Répondre
Scoobyseb
Code sa première boucle
Code sa première boucle
Messages : 16
Enregistré le : 30 avr. 2021, 13:57

Recopie d'un tableau de UDINT dans une structure en UDINT

Message par Scoobyseb »

Bonjour.

Je sèche sur une fonction de recopie de variables UDINT :
Cela marche mais ne me plaît pas :
Archivage.AN_2021:=Annee[0];
Archivage.AN_2022:=Annee[1];
| | | |
| | | |
Archivage.AN_2039:=Annee[18];
Archivage.AN_2040:=Annee[19];
Archivage.AN_2041:=Annee[20];

Je voudrais faire la même chose mais plus facilement.
Si vous avez une idée. Je suis preneur.
Voici les déclarations :
Annee : ARRAY[0..20] OF UDINT

Archivage.AN_2021 : UDINT
Archivage.AN_2022 : UDINT
| | | |
| | | |
Archivage.AN_2040 : UDINT
Archivage.AN_2041 : UDINT

Je pensais qu'on pouvais faire une sélection en utilisant ':22' mais cela fonctionne pour Archivage.AN_2021:21 mais pas pour Annee[0]:21 ou Annee[0]-21.

Dans l'attente d'une aide.
Encore merci.
Modifié en dernier par Scoobyseb le 30 avr. 2021, 14:28, modifié 1 fois.
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Recopie d'un tableau de UDINT dans une structure en UDINT

Message par philou77 »

Salut !

Annee[0] est un élément d’un tableau.
Archivage.An-2021 c’est quoi dans la structure archivage ? Un tableau ?
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Scoobyseb
Code sa première boucle
Code sa première boucle
Messages : 16
Enregistré le : 30 avr. 2021, 13:57

Re: Recopie d'un tableau de UDINT dans une structure en UDINT

Message par Scoobyseb »

Salut.

Archivage appelle la structure Années qui comporte les données :
AN_2021 UDINT
AN_2022 UDINT

jusqu' AN_2041.

J’espère être compréhensible.
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Recopie d'un tableau de UDINT dans une structure en UDINT

Message par philou77 »

Re !

Tu peux pas faire autrement qu’accéder à tes années 1 par une dans ta structure , a moins déclarer aussi un tableau dans ta structure Années

Et si c’est un tableau aussi alors
Archivage. An-2021:22 := Annee:22 devrait fonctionner
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Scoobyseb
Code sa première boucle
Code sa première boucle
Messages : 16
Enregistré le : 30 avr. 2021, 13:57

Re: Recopie d'un tableau de UDINT dans une structure en UDINT

Message par Scoobyseb »

Merci pour ton aide.

J'ai changé la structure par un tableau.
J’écris cela mais il n'aime pas le 2eme ':21'.

Archivage.An2021[0]:21 := Annee[0]:21;

Si j’écris cela, c'est le 1er ':21' qu'il n'aime pas :
Archivage.An2021:21 := Annee:21;

L'aide en plus est nulle 'Erreur de syntaxe' : Ca aide pas.
Scoobyseb
Code sa première boucle
Code sa première boucle
Messages : 16
Enregistré le : 30 avr. 2021, 13:57

Re: Recopie d'un tableau de UDINT dans une structure en UDINT

Message par Scoobyseb »

Cela marche en écrivant :

Archivage.An2021 := Annee; Car même longueur.

Merci de ton aide, en tout cas.
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7807
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Recopie d'un tableau de UDINT dans une structure en UDINT

Message par itasoft »

slts,
Copier un tableau dans une structure c'est pas prévu au programme .
de plus si ta structure ,n'est pas localisé je vois pas comment on peut faire pour connaitre les adresses suivante dans Archivage.AN_2021:21
Automaticien privé (de tout)
itasoft@free.fr
Scoobyseb
Code sa première boucle
Code sa première boucle
Messages : 16
Enregistré le : 30 avr. 2021, 13:57

Re: Recopie d'un tableau de UDINT dans une structure en UDINT

Message par Scoobyseb »

Merci en tout cas pour vos réponses.

Je le mets dans un coin de tête.

A bientot.
Répondre