SFB4 (TON) in SCL

Gerri

Level-1
Beiträge
822
Reaktionspunkte
37
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
kann mir jemand dabei helfen den SFB 4 in einem FB (SCL Quelle) zu verwenden.

Ich finde nichts darüber in der Hilfe über dei Deklaration und die I/O Signale des SFB.
 
Hallo Gerri,
solche Sachen gehen am Einfachsten mit "Einfügen-Bausteinaufruf" und dann den gewünschten Baustein auswählen.
Dadurch erhälst du dann auch automatisch die korrekte Schreibweise der Schnittstelle der jeweiligen Bausteine ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Alles klar, nur was kann ich mit dem DBxxx anstellen.
Dieser Timer ist ein "FB" im Prinzip u braucht seinen DB.

Ich finde es nur unschön jeden Timer mit einem anderen DB anzulegen.
 
... genau wie in AWL ...
Du legst dir im STAT-Bereich eine Variable an vom Typ SFB4 und statt dem Aufruf trägst du den "Variablen-Namen" ein. Also :
Code:
myTimer : SFB4 ;
 
und dann 
 
myTimer  (IN:= myStart ,
            PT:= myZeit ) ;
Gruß
LL
 
Folgendes Beispiel hat den SFB 4 als Multinstanz integriert und erzeugt
den Instanz DB111 für FB999

FUNCTION_BLOCK FB999
VAR_INPUT
Start:BOOL;//Timer Starten
Laufzeit_soll:TIME;// Laufzeit des Timers
END_VAR
VAR_OUTPUT
TIMER_Q:BOOL;//Timerausgang bool
Laufzeit_Ist:TIME;//Laufende Zeit des Timers
END_VAR
VAR_TEMP
END_VAR
VAR
sfb4_1:sfb4; // Multiinstanz SFB 4
END_VAR
BEGIN
sfb4_1 (in:=Start,PT:=Laufzeit_soll);
TIMER_Q:=sfb4_1.Q;
Laufzeit_Ist:=sfb4_1.ET;
END_FUNCTION_BLOCK
DATA_BLOCK DB111 FB999//Multiinstanz DB bezogen auf FB999
BEGIN
END_DATA_BLOCK
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Folgendes Beispiel hat den SFB 4 als Multinstanz integriert und erzeugt
den Instanz DB111 für FB999

FUNCTION_BLOCK FB999
VAR_INPUT
Start:BOOL;//Timer Starten
Laufzeit_soll:TIME;// Laufzeit des Timers
END_VAR
VAR_OUTPUT
TIMER_Q:BOOL;//Timerausgang bool
Laufzeit_Ist:TIME;//Laufende Zeit des Timers
END_VAR
VAR_TEMP
END_VAR
VAR
sfb4_1:sfb4; // Multiinstanz SFB 4
END_VAR
BEGIN
sfb4_1 (in:=Start,PT:=Laufzeit_soll);
TIMER_Q:=sfb4_1.Q;
Laufzeit_Ist:=sfb4_1.ET;
END_FUNCTION_BLOCK
DATA_BLOCK DB111 FB999//Multiinstanz DB bezogen auf FB999
BEGIN
END_DATA_BLOCK

Schön, aber es wäre megasuper, wenn du mal die Code-Tags nutzen würdest, dann bleiben auch Einrückungen erhalten und man kann das 10x besser lesen. ;)

Siehe Larrys Post!
 
Schön, aber es wäre megasuper, wenn du mal die Code-Tags nutzen würdest

Tut mir Leid,dies ist mein erster Chat,habe keine Ahnung wie man code-Tags einpflegt
 
Tut mir Leid,dies ist mein erster Chat,habe keine Ahnung wie man code-Tags einpflegt

Code:
sfb4_1 (in:=Start,PT:=Laufzeit_soll);
TIMER_Q:=sfb4_1.Q;
Laufzeit_Ist:=sfb4_1.ET;


PS: Kann sein, daß du in deinem Kontrollzentrum den erweiterten Editor wählen mußt.
 

Anhänge

  • Editor_CodeTags.jpg
    Editor_CodeTags.jpg
    115,2 KB · Aufrufe: 104
Zuviel Werbung?
-> Hier kostenlos registrieren
Versuch`s mal mit Code-Tags

Code:
FUNCTION_BLOCK FB999
VAR_INPUT
Start:BOOL;//Timer Startten
Laufzeit_soll:TIME;// Laufzeit des Timers
END_VAR
VAR_OUTPUT
TIMER_Q:BOOL;//Timerausgang bool
Laufzeit_Ist:TIME;//Laufende Zeit des Timers
END_VAR
VAR_TEMP
   END_VAR
VAR
  sfb4_1:TON; // Multiinstanz SFB 4
END_VAR
BEGIN 
sfb4_1 (in:=Start,PT:=Laufzeit_soll);
TIMER_Q:=sfb4_1.Q;
Laufzeit_Ist:=sfb4_1.ET;
END_FUNCTION_BLOCK
DATA_BLOCK DB111 FB999//Multiinstanz DB bezogen auf FB999
BEGIN
END_DATA_BLOCK
Vielen Dank Bernard
 
Zurück
Oben