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

Ergebnis 1 bis 10 von 10

Thema: Zeitglied SFB4 (SCL) bei bei erneutem Aufruf .Q sofort true

  1. #1
    Registriert seit
    03.12.2010
    Beiträge
    29
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    bei meinem Zeitglied Timer_1 : SFB4 (SCL-Quelle) funktioniert der erste Aufruf einwandfrei. Allerdings wenn ich am Ende des gesamten Progs angekommen bin und wieder am Anfang beginne(fotlaufend), dann "läuft" er über das Zeitglied hinweg. Die Zeit läuft nicht erneut ab, es wird sofort Timer_1.Q true.

    Sieht folgendermaßen aus:
    (Var1 wird an dieser Stelle gerade von false auf true)

    IF ( Var1 = true)

    Time_1(IN := Var1
    ,PT := t#30s
    );
    Var2 := Time_1.Q;
    END_IF;

    ... Var1 wird hier wieder false

    Vielen Dank & Gruß

    Max
    Zitieren Zitieren Zeitglied SFB4 (SCL) bei bei erneutem Aufruf .Q sofort true  

  2. #2
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Der Timer bekommt den Wechsel von False nach True und umgekehrt garnicht mit. Lass Var1 mal ein ganzen Zyklus auf False
    Gruß von der Ostsee

    Nordischerjung
    _____________________

    Wenn man seinem Paßbild ähnlich zu sehen beginnt, sollte man schleunigst Urlaub machen. (Vico Torriani, schw. Entertainer)

    Ich habe eine Diät gemacht und fettem Essen und Alkohol abgeschworen - in zwei Wochen verlor ich 14 Tage. (Joe E. Lewis)

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Hallo,
    der SFB4 möchte (genau wie der SE-Timer in AWL) gerne eine Flanke am Eingang mitbekommen. Das kann er aber nicht, wenn du ihn in einer IF-Abfrage stellst - dadurch würde er im AWL-Code übersprungen. Timer IMMER bearbeiten - nicht bedingt.

    Und so, wie du es gemacht hast, brauchst du die vorgeschaltete IF-Abfrage sowieso nicht - schmeiss die also einfach raus - dann gehts.

    Gruß
    Larry

  4. #4
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Hallo,

    TON= Einschaltverzögerung. sollte doch 30s lang eine 1 am "IN" anstehen, bevor Ausgang=true ist.

    Desweiteren ist der timer in einer If-Then anweisung. Übersprungene SE-Timer funktionieren so doch nicht.

  5. #5
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Zitat Zitat von Verpolt Beitrag anzeigen
    Desweiteren ist der timer in einer If-Then anweisung. Übersprungene SE-Timer funktionieren so doch nicht.
    upps, übersehen
    Gruß von der Ostsee

    Nordischerjung
    _____________________

    Wenn man seinem Paßbild ähnlich zu sehen beginnt, sollte man schleunigst Urlaub machen. (Vico Torriani, schw. Entertainer)

    Ich habe eine Diät gemacht und fettem Essen und Alkohol abgeschworen - in zwei Wochen verlor ich 14 Tage. (Joe E. Lewis)

  6. #6
    max_sho ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.12.2010
    Beiträge
    29
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    vielen Dank.

    Die IF Anweisung hat bei mir noch drei Bedingungen. Das Zeitglied soll nur anlaufen wenn IF (STOP = false, Var1 = true, VarXY = true)THEN Zeitglied.

    Kann ich in der IF-Anweisung eine neue Variable setzten (Diese dann auf IN) und somit eine Flankenänderung für das Zeitglied erzeugen? Funktioniert das so bei Zeitgliedern?

    Danke & Gruß

    Max

  7. #7
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Wieso denn if then und dann auf die Zeit?

    3 Und- Bedingungen direkt auf die Teit-IN reicht doch aus

  8. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Zitat Zitat von max_sho Beitrag anzeigen
    Die IF Anweisung hat bei mir noch drei Bedingungen. Das Zeitglied soll nur anlaufen wenn IF (STOP = false, Var1 = true, VarXY = true)THEN Zeitglied.
    Die Möglichkeit von IF-Zweigen und Schleifen in SCL läßt leider oft die Programmierer vergessen, wie die CPU tatsächlich funktioniert.

    Damit ein Timer nur unter 3 Bedingungen läuft, weist man das Verknüpfungsergebnis der 3 Bedingungen einer boolschen Hilfsvariable zu und ruft den Timer IMMER mit dieser Hilfsvariable als IN auf. Etwa so:
    Code:
    Var3 := bedingung1 AND bedingung2 AND bedingung3 ;
    Time_1(IN := Var3, PT := t#30s);
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #9
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Also Ich mach das in meinen Bausteinen in AWL immer so, das Ich Zeitglieder ganz am Ende des Bausteines Aufrufe, und diese immer durchlaufe. Es gibt dann kein BEA oder BEB im Baustein, sonderen ein SPA Ende oder SPB Ende.

    Sollte ja in SCL auch so möglich sein... Die Zeiten einfach immer ans Ende des SCL-Codes, so das sie aber nicht von einer Bedingung eingeschlossen sind, und immer durchlaufen werden!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Timer...  

  10. #10
    Registriert seit
    25.01.2011
    Ort
    97980
    Beiträge
    23
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    *, sry zu früh gepostet ohne zu Überlegen.
    Naja egal Beitrag löschen geht net...Ich schreibs doch mal rein:

    Ich hatte mal ähnliches Problein beim Wiedereinschalten der CPU weil Timer und Merker im Remanenten Bereich der CPU waren.
    Geändert von Heinz2011 (10.02.2011 um 11:02 Uhr)

Ähnliche Themen

  1. Problem mit Zeitglied S_Everz
    Von Seth_Gecko im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 24.04.2010, 21:34
  2. Antworten: 4
    Letzter Beitrag: 23.06.2009, 19:16
  3. Welches Zeitglied S5
    Von easyprivate im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 20.01.2009, 18:11
  4. Zeitglied IP67
    Von merlin im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 05.04.2007, 12:53
  5. Antworten: 4
    Letzter Beitrag: 18.08.2004, 11:01

Lesezeichen

Berechtigungen

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