- Beiträge
- 5.436
- Reaktionspunkte
- 1.410
-> Hier kostenlos registrieren
Hi Zusammen ich versuch grad meinen ersten Funktionsblock in SCL zu schreiben. Bis jetzt hab ich nur Funktionen geschrieben.
Leider kriege ich die Flanke nicht zum flanken
Die Funktion ist eigentlich ganz einfach wenn DEC 1 wird soll X um 1 hochgezählt werden.
Wenn ich an INC direkt einen Flankenmerker anschliesse und dann auf IF INC abfrage funktioniert die Zählung. Aber die Abfrage auf IF INC_F nicht.
I starre schon seid ner Stunde auf den Code sehe den Fehler aber nicht.
Leider kriege ich die Flanke nicht zum flanken
Die Funktion ist eigentlich ganz einfach wenn DEC 1 wird soll X um 1 hochgezählt werden.
Wenn ich an INC direkt einen Flankenmerker anschliesse und dann auf IF INC abfrage funktioniert die Zählung. Aber die Abfrage auf IF INC_F nicht.
I starre schon seid ner Stunde auf den Code sehe den Fehler aber nicht.
Code:
VAR_IN_OUT
X: REAL;
OUT: REAL;
END_VAR
VAR
INC_F: BOOL;
INC_Imp: BOOL;
DEC_F: BOOL;
DEC_Imp: BOOL;
END_VAR
BEGIN
(*Eingang X wird hoch oder runtergezählt*)
INC_F := INC AND NOT INC_Imp;
INC_Imp := INC;
IF INC_F THEN
X := X + 1.0;
END_IF;
DEC_F := DEC AND NOT DEC_Imp;
DEC_Imp := DEC;
IF INC_F THEN
X := X - 1.0;
END_IF;