Hyst was mach ich falsch?

Begonnen von speedo, 06. Januar 2011, 14:13:39

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

speedo

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

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

Hallo Daniel

Der FB wir 4 mal im Ganzen Porgramm aufgerufen.

IOm anhang das bild in Online..

Gruss Simon

[gelöscht durch Administrator]

dalbi

Hi,

ZitatDer 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

Jetzt laufts hab Total die Multiinstanz vergessen.

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

Dank dir Daniel!

Gruss Simon