oscat.lib > oscat.lib fuer Step 7

Hyst was mach ich falsch?

(1/1)

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:


--- 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

--- Ende Code ---

dalbi:
Hi,

wird der Baustein FB3 mehrmals im Programm aufgerufen?


--- Code: ---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
--- Ende Code ---

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,


--- Zitat ---Der FB wir 4 mal im Ganzen Porgramm aufgerufen.
--- Ende Zitat ---

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

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln