Migration M580 : Debordment INDEX (Defaut %S20)
Posté : 23 sept. 2024, 12:34
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. »
*)
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. »
*)