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

Ergebnis 1 bis 5 von 5

Thema: SFB3 in SCL

  1. #1
    Registriert seit
    05.04.2016
    Ort
    Leer
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag,
    ich brauche in meinem FB ein Zähler, der alle 20ms hochzählt.
    Ich wollte das ganze mit zwei SFB3 lösen und von einem SFB3 die Flanke dafür auswerten.
    Das funktioniert auch soweit, nur leider zählt er nicht in der gewünschten Zeit hoch, sondern ist etwas langsamer.
    Was mache ich falsch:
    Code:
    VAR       
        zaehler         :   REAL;
        sfb3_1          :   SFB3 ;
        sfb3_2          :   SFB3 ;                  
        sfb3_1_start    :   BOOL;
        sfb3_2_start    :   BOOL;
        HM              :   BOOL;           //HIGH-Merker; für Flankenerkennung 
        
        
    END_VAR
    Code:
    BEGIN
        sfb3_1  (IN := sfb3_1_start             // IN: BOOL
                ,PT := t#10ms                   // IN: TIME
                ); 
        sfb3_2  (IN := sfb3_2_start
                ,PT := t#10ms
                );
     
       
                
        sfb3_1_start := NOT sfb3_2.Q;
        sfb3_2_start := NOT sfb3_1.Q;
    
        IF sfb3_1.Q AND NOT HM THEN
            zaehler:=zaehler+0.02;
            HM := TRUE;                        
        ELSIF NOT sfb3_1.Q THEN
            HM := FALSE;        
        END_IF;
    Zitieren Zitieren SFB3 in SCL  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Dein 20ms-Zählraster ergibt sich etwa zu: 10ms + 0.5 * Zykluszeit + Zykluszeit + 10ms + 0.5 * Zykluszeit + Zykluszeit = 20ms + 3 * Zykluszeit

    Wenn Du es genauer haben mußt, dann richte Dir einen Weckalarm OB3x ein, welcher alle 20ms aufgerufen wird oder addiere #OB1_PREV_CYCLE oder nutze SFC64 TIME_TCK oder notfalls stelle die SFB3 auf ungefähr "10ms - 1.5 Zykluszeit" ein.


    Desweiteren empfehle ich Dir, als "zaehler" eine DINT-Variable statt REAL zu verwenden. Nach ca. 16 Mio addierungen (etwa 320 Sekunden) wird der REAL-Zähler stehenbleiben, weil dann ungefähr dies passiert: 320000.00 + 0.02 = 320000.00

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    MaCit ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.04.2016
    Ort
    Leer
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die Antwort.
    Mit einem Weckalarm hatte ich es schon umgesetzt, jedoch ist diese Realisierung vom Prof nicht gewünscht.
    Der Hinweis zum SFC64 war sehr hilfreich. jetzt funktionierts.

    "zaehler" hab ich als REAL gelassen, da diese sowieso alle 10s auf Null gesetzt wird und ich so besser damit arbeiten kann

  4. #4
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.351
    Danke
    452
    Erhielt 692 Danke für 517 Beiträge

    Standard

    Wenn du den SFC64 verwendest, dann wäre noch der Überlauf zu erwähnen der ca. alle 25 Tage passiert...
    Da springt der Wert von L#2147483547 auf L#0.

    Ein paar Beispiele zum Abfangen hier...
    S0 Impulse von Energiezähler i. d. S7 in akt. Wirkleistung umrechnen u. visualisieren
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  5. #5
    MaCit ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    05.04.2016
    Ort
    Leer
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für den Hinweis, werde es beachten

Ähnliche Themen

  1. Step 7 Probleme mit SFB3 TP beim Erzeugen von Pulsen
    Von DDuesentrieb im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 21.01.2015, 18:24
  2. Problem mit SFB3 TP
    Von hotrodhool im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 04.01.2012, 20:01
  3. SFB3 rücksetzen
    Von loriculus im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 31.07.2009, 13:30
  4. IEC Timer SFB3, SFB4 oder SFB5
    Von steinche im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 19.04.2008, 23:23
  5. SFB3 "TP" parametrieren
    Von fubu16 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 11.10.2005, 07:58

Lesezeichen

Berechtigungen

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