Page 1 sur 2

Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 12:34
par Benitole7
Bonjour a TOUS,
J'espère que mon post vous trouve bien.

Je travail actuellement sur un projet de Migration du Quantum vers du M580.
J' ai utilisé le logiciel de migration de Schneider UMAC pour la conversion..
Jai fini avec les corrections et je suis actuellement dans la phase de simulation..

Seulement j'ai des erreurs système liés a des débordements d'index (%S20) qui mettent mon automate en mode HALT et aussi du whachdog.
Et les défauts me ramene sur le programme suivant :

Scan_Line_Out_Offset := 0;
Scan_Line_Out_Len := LENGTH_ARWORD(Scan_line2_1_output);
FOR LoopIndex:= 0 TO Scan_Line_Out_Len - 1 DO
E301_SWB_001.Outputs.E301_CR_01_SEPAM_DATA_OUT[LoopIndex + Scan_Line_Out_Offset] := Scan_line2_1_output[LoopIndex];
End_FOR;

Scan_Line_Out_Offset := 1;
Scan_Line_Out_Len := LENGTH_ARWORD (Scan_line2_2_output);
FOR LoopIndex:= 0 TO Scan_Line_Out_Len - 1 DO
E301_SWB_001 .Outputs.E301_CV_01_SEPAM_DATA_OUT[LoopIndex + Scan_Line_Out_Offset] := Scan_line2_2_output[LoopIndex];
End_FOR;

Scan_Line_Out_Offset := 2;
Scan_Line_Out_Len := LENGTH_ARWORD (Scan_line2_3_output);
FOR LoopIndex:= 0 TO Scan_Line_Out_Len - 1 DO
E301_SWB_001.Outputs.EINCOMING_DATA_OUT[LoopIndex + Scan_Line_Out_Offset] := Scan_line2_3_output[LoopIndex];
End_FOR;

A noté que les tableaux Scan_line2_1_output(Scan_line2_3_output,Scan_line2_3_output) sont de taille 2 [0,1].


J'aimerais avoir vos avis sur comment je peux résoudre ce problème.

NB:(*
« L'outil UMAC génère automatiquement cette section pour mapper les variables localisées (à l'adresse de registre de ligne de balayage héritée) avec les variables d'écriture DDT du dispositif non localisé M580. La modification du code ci-dessous peut entraîner un comportement inattendu. »
*)

Re: Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 15:10
par itasoft
ça vient de la: Scan_line2_3_output[LoopIndex];

Re: Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 15:15
par Benitole7
itasoft a écrit : 23 sept. 2024, 15:10 ça vient de la: Scan_line2_3_output[LoopIndex];
Quelle est l'intérêt de faire cet algorithme si j'arrive a récupérer/envoyer les informations directement par IOSCANNING et que je vienne les loger dans le
EINCOMING_DATA_OUT( dans le cas du Scan_line2_3_output[LoopIndex])

Re: Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 15:21
par itasoft
dejà écris Scan_line2_3_output[0] pour confirmer que ça vient de ça ;

Re: Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 18:15
par Benitole7
itasoft a écrit : 23 sept. 2024, 15:21 dejà écris Scan_line2_3_output[0] pour confirmer que ça vient de ça ;
J'ai bien vérifié mais toujours les même défauts

Re: Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 18:35
par Benitole7
Benitole7 a écrit : 23 sept. 2024, 18:15
itasoft a écrit : 23 sept. 2024, 15:21 dejà écris Scan_line2_3_output[0] pour confirmer que ça vient de ça ;
J'ai bien vérifié mais toujours les même défauts
Etant donné que les information du Scan_line2_3_output[0,1] doivent être en voyer dans le E301_SWB_001.Outputs.EINCOMING_DATA_OUT[0,1]
J'ai fais une liaison directe : E301_SWB_001.Outputs.EINCOMING_DATA_OUT :=Scan_line2_3_output.
Vue que je suis en mode simulation pour le moment j'ai plus d'erreur

Que pensez vous de cette méthode?

Re: Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 18:56
par itasoft
line2_3_output[0,1] c'est un tableau à deux dimensions ?

Re: Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 19:18
par Benitole7
itasoft a écrit : 23 sept. 2024, 18:56 line2_3_output[0,1] c'est un tableau à deux dimensions ?
Oui effectivement
de même que le E301_SWB_001.Outputs.EINCOMING_DATA_OUT

Re: Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 19:22
par itasoft
il faut donner les tailles de tous les tableaux

Re: Migration M580 : Debordment INDEX (Defaut %S20)

Posté : 23 sept. 2024, 19:25
par Benitole7
itasoft a écrit : 23 sept. 2024, 19:22 il faut donner les tailles de tous les tableaux
Tous les tableaux que j' ai donné Dans le programme plus haut sont de dimension 2.