Hi zusammen,
ich sitze heute abend im Hotel auf Inbetriebnahme und brüte gerade über den Fehlern des Tages.
Zu diesem hier kann ich mir absolut keinen Reim darauf machen.
Folgender Code erzeugt Längenfehler beim Arrayzugriff:
Im Instanzdatenbaustein kann man sehen, dass der Wert von siLaufvar auf 121 geht zu welchem Punkt die Steuerung Fehler meldet und die Bearbeitung des Bausteins stoppt.
Schreibe ich die Abbruchbedingung dagegen auf 119 fest, läuft es ganz normal durch und der Wert im Instanzdatenbaustein bleibt bei 120 stehen.
Folgende Frage lässt mir keine Ruhe, wieso bricht die For Schleife nicht wie gewollt bei 120 ab, sondern macht noch einen Durchlauf?
Bin ich einfach nur Übermüdet und sehe meinen Fehler nicht, oder ist da was Faul im Staate Dänemark?
Steuerungen sind 1214C AC/DC/RLY 1BG30 und 1BG31 alle mit V2.2, bzw eine mit V3.0. Alles Bestandssteuerungen des Kunden.
Programmiert wird mit TIA V15.0.
Danke
ich sitze heute abend im Hotel auf Inbetriebnahme und brüte gerade über den Fehlern des Tages.
Zu diesem hier kann ich mir absolut keinen Reim darauf machen.
Folgender Code erzeugt Längenfehler beim Arrayzugriff:
Code:
For siLaufvar = 1 to 120 Do
If "dbTaghist".saTagval[siLaufvar] = 9999 Then
siBadcount := siBadcount + 1;
End_If;
End_For;
If siBadcount >= 3 Then
//Fehler melden
saSto[2] := TRUE;
End_If;
Schreibe ich die Abbruchbedingung dagegen auf 119 fest, läuft es ganz normal durch und der Wert im Instanzdatenbaustein bleibt bei 120 stehen.
Folgende Frage lässt mir keine Ruhe, wieso bricht die For Schleife nicht wie gewollt bei 120 ab, sondern macht noch einen Durchlauf?
Bin ich einfach nur Übermüdet und sehe meinen Fehler nicht, oder ist da was Faul im Staate Dänemark?
Steuerungen sind 1214C AC/DC/RLY 1BG30 und 1BG31 alle mit V2.2, bzw eine mit V3.0. Alles Bestandssteuerungen des Kunden.
Programmiert wird mit TIA V15.0.
Danke