-> Hier kostenlos registrieren
Guten Tag,
ich habe folgendes Problem. Ich will nach einer erfolgreichen Messung, Inhalte eines Array mit IST Messwerten, mit 2 Array vergleichen die, die Min und Max Werte beinhalten:
Ist die Messung beendet und der Trigger spricht an. Steigt mein i direkt auf maximal wert 6. Als Kontrolle habe ich ein j eingefügt, welches nach jedem Schleifendurchlauf J+1 macht.
Nach meinem Verständnis müsste das i sich doch auch so verhalten oder?
Mein Ergebnis ist nämlich, dass mein Array mit den Fehlerhaften Messergebnissen immer nur den i Wert 6 als TRUE anzeigt.
Als würde er 1-5 überfliegen und direkt bei 6 landen.
ich habe folgendes Problem. Ich will nach einer erfolgreichen Messung, Inhalte eines Array mit IST Messwerten, mit 2 Array vergleichen die, die Min und Max Werte beinhalten:
Ist die Messung beendet und der Trigger spricht an. Steigt mein i direkt auf maximal wert 6. Als Kontrolle habe ich ein j eingefügt, welches nach jedem Schleifendurchlauf J+1 macht.
Nach meinem Verständnis müsste das i sich doch auch so verhalten oder?
Mein Ergebnis ist nämlich, dass mein Array mit den Fehlerhaften Messergebnissen immer nur den i Wert 6 als TRUE anzeigt.
Als würde er 1-5 überfliegen und direkt bei 6 landen.
Code:
hoehe_tol_min :ARRAY [1..6] OF REAL :=[12,12,12,12,12,10];
hoehe_tol_max :ARRAY [1..6] OF REAL := [13,14,13,16,10,10];
hoehe :ARRAY [1..6] OF REAL :=[12.5,14.2,13.2,15.4,9.4,10.3];
hoehe_fehlerhaft :ARRAY[1..6] OF BOOL;
r_trig(clk:=GVl.ende_messung);
IF r_trig.Q
THEN
FOR i := 1 TO i := 6 DO
IF GVL.hoehe[i] > GVL.hoehe_tol_max[i] OR GVL.hoehe[i] < GVL.hoehe_tol_min[i]
THEN GVL.hoehe_fehlerhaft[i] :=TRUE;
ELSE GVL.hoehe_fehlerhaft[i] :=FALSE;
END_IF
j:=j+1;
END_FOR
END_IF
Zuletzt bearbeitet: