Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Was macht SFB4 wenn PT=0?

  1. #1
    Registriert seit
    18.02.2009
    Ort
    Köln
    Beiträge
    196
    Danke
    54
    Erhielt 15 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo alle zusammen.

    Was macht SFB4 wenn PT=0?

    Ich habe ein SFB4 als Startverzögerung für ein Ventil eingesetzt.
    Der SFB4 Eingang "In" wird mit einem Schrittmerker gesetzt.
    Der SFB4 Eingang "PT" wird mittels Datentyp Time vom Bediengerät eingestellt.
    Der SFB4 Ausgang "Q" schaltet den nächsten Schritt aktiv.
    Schrittkettenprogramierung.

    Stelle ich nun per Bediengerät am PT einen Wert =0 ein, so kommt der Ausgang Q nicht. Ist der Wert >0 (also auch schon bei 0,001s) so funktioniert alles einwandfrei.
    Ist die Funktion so richtig?

    Habe bis jetzt im Bediengerät die Grenzen auf min.=0.001 gesetzt.
    Aber ich möchte, dass der Kunde auch 0 als Verzögerungzeit einstellen kann.
    Des weiteren möchte ich nicht jede Übergangsbedingung der Schrittkette so programmieren, dass ich den PT Wert auf 0 überprüft.

    Ideen?
    Zitieren Zitieren Was macht SFB4 wenn PT=0?  

  2. #2
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Ich habe mir meine eigene Zeitfunktion geschrieben, da habe ich dann solche Probleme nicht.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  3. #3
    rerdma3s ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.02.2009
    Ort
    Köln
    Beiträge
    196
    Danke
    54
    Erhielt 15 Danke für 5 Beiträge

    Standard

    Danke für den Beitrag, aber das hilft mir nicht weiter.
    Möchtest du mir deine schöne Zeitfunktion einmal zeigen?
    (zur Verfügung stellen?)

  4. #4
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    nutz doch einfach die Zeitfunktion, du kannst doch die Eingabe überwachen.
    Einmal kannst du das mit Grenzwerten am Panel, oder vor den Aufruf
    kannst du einen Vergleicher machen.

    Code:
     
          L SFB4.PT
          L 0
          ==D
          SPBN ENDE
          L L#1
          T SFB4.PT
    ENDE: NOP 0
     
          call SFB4.Instanz
          ....
          ....
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  5. Folgender Benutzer sagt Danke zu rostiger Nagel für den nützlichen Beitrag:

    rerdma3s (08.05.2010)

  6. #5
    rerdma3s ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.02.2009
    Ort
    Köln
    Beiträge
    196
    Danke
    54
    Erhielt 15 Danke für 5 Beiträge

    Standard

    Danke, dass ist ne Idee um das im Panel zu vereinfachen.

    Ist es denn richtig, wenn PT = 0 ist, dass dann Q nicht schaltet?

    Das fände ich aber blöd (unsinnig), da der SFB4 mit dem Hochlaufen der Zeit beginnt, wenn IN auf 1 ist.
    Ob der SFB4 nun erkennt, dass 1ms abgelaufen ist und PT gleich 1 ms parametriert wurde (funktioniert), oder das Ganze mit 0ms durchgeführt wird (funktioniert nicht).

  7. #6
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    ja das ist richtig das das die IEC Timer nicht laufen wenn die Eingabe Zeit PT auf Null ist.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  8. Folgender Benutzer sagt Danke zu rostiger Nagel für den nützlichen Beitrag:

    rerdma3s (08.05.2010)

  9. #7
    rerdma3s ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.02.2009
    Ort
    Köln
    Beiträge
    196
    Danke
    54
    Erhielt 15 Danke für 5 Beiträge

    Standard

    OK, dass ist sehr blöd.
    Da ich es höchstwahrscheinlich nicht ändern kann , so habe ich umso größeres Interessen an der Zeitfunktion von Paule!

    Ist die Multiinstanzfähig?

  10. #8
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Also wenn es Dir im 100 Millisekunden Takt reicht dann würde ich das so schreiben:

    Code:
          U #Start
          SPBN Aus
          U #Taktmerker_von_ CPU
          SPBN Wart
          L #Zeit
          +1
          T #Zeit
    Wart: L #Zeit
          L #Zeitwert
          >=I
          = #Zeit_abgelaufen
          SPA Ende
    Aus:  L 0
          T #Zeit
    Ende:NOP 0
    Das ganze ist ein FB
    Start , Taktmerker_von_ CPU, Zeitwert = Var IN
    Zeit = Var STAT
    Zeit_abgelaufen = OUT
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  11. Folgender Benutzer sagt Danke zu Paule für den nützlichen Beitrag:

    rerdma3s (08.05.2010)

  12. #9
    Registriert seit
    29.03.2004
    Beiträge
    5.739
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Man kann auch den "defekten" SFB4 TON-Baustein in einen weiteren FB kapseln, den man dann so programmiert dass dieser auch mit T#0s klarkommt, bzw. die gewünschte Funktion ausführt.
    Aufgrund der Problematik mit den 0s verwende ich den SFB4 auch nur wenn ein Benutzer die Zeiten als Parameter nicht verstellen kann.

    Der TON bei Codesys setzt den Ausgang auch bei T#0s direkt. Fragt sich nur wer von beiden Herstellern sich an die Norm hält. Die Siemens-Hilfe behauptet zumindest dass ihr TON-Baustein IEC 1131-3 konform ist. Ich finde das Verhalten zumindest unlogisch.

  13. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    rerdma3s (08.05.2010)

  14. #10
    Registriert seit
    20.03.2010
    Beiträge
    59
    Danke
    10
    Erhielt 9 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Der Vorschlag von Paule ist gut aber da fehlt noch eine Flanke.
    Ich würde das so machen:
    Code:
             U #Schrittmerker1
             U #Taktmerker_10ms
             FP #Hilfsmerker_Flanke
             NOT
             SPB Jum1
             L int_Timer_Schrittkette
             L 1
             +I
             T int_Timer_Schrittkette
    Jum1: Nop 0
             
             U #Schrittmerker1
             L int_Timer_Schrittkette
             L int_Zeitwerteingabe
             >=
             NOT
             SPB Jum2
             S #Schrittmerker1
             R #Schrittmerker1
             L 0
             T int_Timer_Schrittkette
    Jum2: Nop 0
    Das hat außerdem den Vorteil das du pro Schrittkette nur einen nachgebildeten Timer benötigst. Diesen setzt nach gebrauch immer wieder auf "0" und schon kannst du ihn im nächsten Schritt wieder gebrauchen. Der Zeitwert wird hier in 0,1sek über einen Integerwert vorgegeben.
    Den Fortschritt verdanken die Menschen den Unzufriedenen.
    Aldous Huxley

Ähnliche Themen

  1. Multiinstanz mit SFB4
    Von Dabbes vorm Herrn im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 07.12.2017, 10:02
  2. SFB4 (TON) in SCL
    Von Gerri im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 06.10.2009, 21:11
  3. Antworten: 11
    Letzter Beitrag: 30.03.2009, 07:50
  4. Probleme mit dem SFB4
    Von Christian Schröder im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 25.07.2007, 18:45
  5. ARRAY of SFB4 ...?
    Von Larry Laffer im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 02.06.2007, 09:59

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •