litlegerman
Level-2
- Beiträge
- 337
- Reaktionspunkte
- 13
-> Hier kostenlos registrieren
Hallo,
Ich habe follgendes Problem, ich würde gerne 20 Byte der Reihe nach abarbeiten und das, dass einen bestimmten Wert hat für eine bestimmte Zeit anzeigen.
Leider überspringt er ein Byte wenn 2 hintereinander diesen bestimmten Zustand haben.
Wo habe ich denn einen Denkfehler drinn?
Danke schon mal
Ich habe follgendes Problem, ich würde gerne 20 Byte der Reihe nach abarbeiten und das, dass einen bestimmten Wert hat für eine bestimmte Zeit anzeigen.
Leider überspringt er ein Byte wenn 2 hintereinander diesen bestimmten Zustand haben.
Code:
[FONT=Verdana]Var INPUT
Ar_Status: Array[0...20] ob Byte
End_Var[/FONT]
[FONT=Verdana]Var_Output
I_Aktiv: Int
B_Status: byte
End_Var[/FONT]
[FONT=Verdana]Var_InOut
Spe_X_Zeigen
End_Var[/FONT]
[FONT=Verdana]Var_Static
I: Int
Zei_Warten : Ton_Time
End_Var[/FONT]
[FONT=Verdana] IF NOT #Spe_X_Zeigen AND #I < 20 AND "Impuls 0,5 Sekunden" THEN
#I := #I + 1;
ELSIF #I >= 20 THEN
#I := 0;
END_IF;
IF (#Ar_Status[#I] <> 16#80) AND (#Ar_Status[#I] <> 16#0) THEN
#I_Aktiv := #I;
#B_Status := #Ar_Status[#I];
#Spe_X_Zeigen := TRUE;
END_IF;
#Zei_Warten(IN := #Spe_X_Zeigen,
PT := t#3s);
IF #Zei_Warten.Q THEN
#Spe_X_Zeigen := false;
END_IF;[/FONT]
Wo habe ich denn einen Denkfehler drinn?
Danke schon mal