Autor Thema: Hyst was mach ich falsch?  (Gelesen 6647 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

speedo

  • Gast
Hyst was mach ich falsch?
« am: 06. Januar 2011, 14:13:39 »
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

dalbi

  • Gast
Re:Hyst was mach ich falsch?
« Antwort #1 am: 06. Januar 2011, 15:42:15 »
Hi,

wird der Baustein FB3 mehrmals im Programm aufgerufen?

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

Bitte von diesem Teil einen Screenshot aus der Onlinesicht machen, dass man auch Werte sieht.

Gruss Daniel

speedo

  • Gast
Re:Hyst was mach ich falsch?
« Antwort #2 am: 06. Januar 2011, 17:07:46 »
Hallo Daniel

Der FB wir 4 mal im Ganzen Porgramm aufgerufen.

IOm anhang das bild in Online..

Gruss Simon

[gelöscht durch Administrator]

dalbi

  • Gast
Re:Hyst was mach ich falsch?
« Antwort #3 am: 06. Januar 2011, 18:39:31 »
Hi,

Zitat
Der FB wir 4 mal im Ganzen Porgramm aufgerufen.

na ok, dass kann so nicht funktionieren, da der Baustein bei jedem Aufruf Deines FB3 mit anderen Werten beschrieben wird.  ;)

Gruss Daniel

speedo

  • Gast
Re:Hyst was mach ich falsch?
« Antwort #4 am: 06. Januar 2011, 19:34:23 »
Jetzt laufts hab Total die Multiinstanz vergessen.

Übung machtd er meister werde no chviel zeit brauchen ;)

Dank dir Daniel!

Gruss Simon