Hallo
Ich kämpfe gerade mit dem FB167 dem Hyst.
Der Baustein funktionieren gar nicht richtig der Tank wird mir gefüllt jedoch schaltete er den Ausgang nicht aus.
Und ich weis nichtw as ich falsch mache?
Für Hilfe bin ich dankbar.
Hier der Code:
FUNCTION_BLOCK FB3
VAR_INPUT
e_Freigabe:BOOL;
e_HandAuto:BOOL;
e_Inhalt:INT;
e_tankgroesse:INT;
END_VAR
VAR_OUTPUT
A_IstInhalt:REAL;
a_HandAuto:BOOL;
a_status:INT;
a_Einlassventil:BOOL;
END_VAR
VAR
ENDE:BOOL;
Inhalt_Real:REAL;
Tankgroesse_Real:REAL;
MaxInhalt:REAL;
MinInhalt:REAL;
END_VAR
LABEL
AAA;
BBB;
ABA;
BAUENDE;
END_LABEL
BEGIN
////////////////////////////////////////////////////////////// Füllstand berechnen
Inhalt_Real:=INT_TO_REAL(e_Inhalt);
Tankgroesse_Real:=INT_TO_REAL(e_tankgroesse-1);
A_IstInhalt:=(Tankgroesse_Real/27648)*Inhalt_Real;
////////////////////////////////////////////////////////////// Variablen Rücksetzen
a_HandAuto:=FALSE;
ENDE:=FALSE;
a_Einlassventil:=FALSE;
////////////////////////////////////////////////////////////// Abfrage der Freigabe
IF e_freigabe=TRUE THEN
GOTO AAA;
ELSE
GOTO BAUENDE;
END_IF;
////////////////////////////////////////////////////////////// Abfrage ob Hand- oder AutoBetrieb AAA
AAA:
a_status:= 0010;
IF e_HandAuto = FALSE THEN
a_HandAuto:=False;
GOTO BBB;
ELSE
a_HandAuto:=True;
GOTO ABA;
END_IF;
////////////////////////////////////////////////////////////// Abfrage ob Hand- oder AutoBetrieb AAA
BBB:
a_Einlassventil:=FALSE;
GOTO BAUENDE;
////////////////////////////////////////////////////////////// Autobetrieb ABA
ABA:
HYST.DB110(In := A_IstInhalt // IN: REAL
,ON:= INT_TO_REAL(50) // IN: REAL
,OFF:= Tankgroesse_Real // IN: REAL
);
a_Einlassventil:= DB110.Q; // OUT: BOOL
BAUENDE: ENDE:=TRUE;
END_FUNCTION_BLOCK