Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 49369

TIA Abbruchbedingung FOR- Schleife wird ignoriert

$
0
0
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:
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;

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

Viewing all articles
Browse latest Browse all 49369


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>