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

Seite 3 von 7 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 61

Thema: Timerproblem...

  1. #21
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von schnecke Beitrag anzeigen
    Habe ich das so richtig verstanden, dass man einem Timerausgang immer einen Merker zuweisen sollte, der dann z.B. einen Ausgang setzt?
    Wie du aus den verschiedenen Beiträgen ersehen kannst geht es ggf. auch immer irgendwie anders - wenn du es dir aber so merkst dnn machst du NIE etwas falsch ...

    Zitat Zitat von schnecke Beitrag anzeigen
    Warum nun die umgedrehte Variante funktioniert und die andere nicht, ist mir noch immer nicht klar.
    Mir auch nicht ... Manches muß man halt irgendwann mal einfach so hinnehmen (nicht nur bei Siemens - aber insbesondere dort).


    Zitat Zitat von schnecke Beitrag anzeigen
    Wenn die Zeit abgelaufen ist, so wird doch der Timerausgang Q (so wie alle Zustandsänderungen an Ein- u. Ausgängen) in das Prozessabbild der Ausgänge geschrieben. Und dann kann doch im Grunde "Q" (auch ohne einen Hilfsmerker) etwas im Programm setzen oder rücksetzen.
    Wie du aus meinem und Peters Beitrag ersehen konntest sind nicht immer alle Dinge sinnvoll logisch zu erklären ...

    Gruß
    Larry

  2. #22
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke LL,

    also verwendet ihr echt am Timerausgang immer einen Merker, der dann andere Ein- u. Ausgänge im Programm steuert?

    Stimmt meine Annahme...

    ... wenn die Zeit abgelaufen ist, so wird der Timerausgang Q (so wie alle Zustandsänderungen an Ein- u. Ausgängen) in das Prozessabbild der Ausgänge geschrieben?
    L.G. schnecke

  3. #23
    Registriert seit
    26.05.2009
    Beiträge
    541
    Danke
    35
    Erhielt 78 Danke für 69 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo Peter,

    ich hatte deinen Beitrag in dem anderen Thread (auf den du dich hier beziehst) auch gelesen.
    Zur Vervollständigung :
    Code:
    un T1
    l s5t#2s
    se t1
    
    un t1
    spb n1
    l mw2
    l 1
    +i
    t mw2
    n1: nop 0
    der dargestellte Code tut nicht was er soll - aber wenn man die Sequenz umdreht ...
    Code:
    un t1
    spb n1
    l mw2
    l 1
    +i
    t mw2
    n1: nop 0
    
    un T1
    l s5t#2s
    se t1
    ... dann geht es auf einmal doch ...
    Im gewissen Sinne ist das schon logisch.
    Ausgangssituation: Der Timer schaltet vor bearbeiten des Codes.
    Beim 1. Code löscht der Timer durch eine negative Flanke am S-Eingangs (UN T1) sich selber.
    Dementsprechend ist der Timer beim Bearbeiten des nächsten UN T1 auf 0, somit überspringt er den nächsten Programmabschnitt.

    Beim 2. Code wird erst der Programmcode bearbeitet und dann der Timer durch sich selber gelöscht.

    Beim 2. Code kann es auch Probleme geben. Wenn der Timer zwischen dem addieren und dem Starten des Timers auf 1 geschaltet wird, dann könnte es auch sein, dass das Addieren nicht durchgeführt wird. Soviel ich weiß, wird der Timer nicht unbedingt am Zyklusanfang geschaltet.

    Bitte korriegiert mich, wenn ich falsch liege.

    Gruß wolder
    Wenn du denkst du denkst, dann denkst du nur, dass du denkst, denn beim Denken der Gedanken, kommt dir der Gedanke, dass das Denken der Gedanken ein gedankenloses Denken ist

  4. #24
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    ... das läßt sich nicht pauschalisieren ...
    In einem mit deinem Fall vergleichbaren Beispiel würde ich es möglicherweise so machen. Nur habe ich solche Fälle eigentlich nicht.
    Bei mir würde ein Timer vielleicht ein Signal verzögern. Das könnte dan z.B. so aussehen :
    Code:
    u e 0.0
    L s5t#1s
    SE t 100
    
    U T100
    = M 123.4   // Verzögerung des E0.0
    ... oder das Weiterschalten einer Schrittkette :
    Code:
    U M10.1
    L s5t#1s
    SE t 101
    NOP 0
    NOP 0
    NOP 0
    U T101
    S M 10.2
    R M 10.1
    ... oder was auch immer.

    Gruß
    Larry

  5. #25
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.752
    Danke
    323
    Erhielt 1.526 Danke für 1.286 Beiträge

    Standard

    @Larry
    Irgendwie enttäuscht du mich gerade, das dir der Unterschied zwischen Auswertung Timer vor bzw. nach dessen Aufruf nicht klar ist ...

    Wenn du den Timer startest, so wird dieser "irgendwann" sprich in dem Fall genau 3s nach der Startflanke High, und das asynchron zum Zyklus,
    aus dem Grund weiter oben der Hinweis "Interrupt", weil das ganze eben nicht am Zykluskontrollpunkt passiert sondern "irgendwann" im Zyklus.
    Es könnte theoretisch nun also durchaus sein, das der Timer einen halben Zyklus noch nicht abgelaufen ist, und für den nächsten halben Zyklus ist er dann abgelaufen.

    Mit der Merkerzuweisung des Timers schafft man sich nun also händisch einen definierten Punkt, der dann fürs gesamte Programm für wenigstens einen ganzen Zyklus definiert ist.

    Der Obige Code mit
    UN T1
    L S5t#3s
    SE T1

    U T1
    S A3.0

    würde also nur funktionieren, wenn die 3 Sekunden "zufällig" zwischen dem SE T1 bzw. den U T1 abgelaufen wären,
    die Wahrscheinlichkeit hierfür dürfte aber sehr nahe bei null sein.

    Die gedrehte Variante:
    U T1
    S A3.0

    UN T1
    L S5T#3s
    SE T1

    hingegen funktioniert, weil das S A3.0 so die überwiegende Zeit den Timer-Ablauf mitbekommt,
    bevor der Timer-Ablauf den Timer quasi wieder zurücksetzt "neu" startet.
    Außer im Äußerst unwahrscheinlichen Fall, das der Timer zwischen S A3.0 und UN T1 abläuft.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  6. #26
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Zitat Zitat von MSB Beitrag anzeigen
    @Larry
    Irgendwie enttäuscht du mich gerade, das dir der Unterschied zwischen Auswertung Timer vor bzw. nach dessen Aufruf nicht klar ist ...
    das tut mir leid ...
    Aber deine Erklärung ist sehr schön

  7. #27
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Sorry, wenn ich hier nochmals nachfrage… ich kapiere es leider nicht.

    Warum wird der Timer asynchron zum Zyklus High? Und was ist ein Zykluskontrollpunkt? Oder ist das bei allen Timern so?
    L.G. schnecke

  8. #28
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.752
    Danke
    323
    Erhielt 1.526 Danke für 1.286 Beiträge

    Standard

    Zitat Zitat von schnecke Beitrag anzeigen
    Warum wird der Timer asynchron zum Zyklus High? Und was ist ein Zykluskontrollpunkt? Oder ist das bei allen Timern so?
    Warum, gute Frage, ist halt so.
    Zykluskontrollpunkt: Ist wo das PAE bzw. PAA gelesen bzw. geschrieben wird.
    Ja das ist bei allen S5Timern (in der S7) so.

    P.S. Die Tatsache das der Timer asynchron abläuft ist in deinem geschilderten Fall allerdings eher unerheblich.

    Mfg
    Manuel
    Geändert von MSB (13.02.2012 um 14:10 Uhr)
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  9. #29
    Registriert seit
    20.04.2010
    Ort
    Rostock an der Warnow
    Beiträge
    47
    Danke
    7
    Erhielt 9 Danke für 8 Beiträge

    Standard

    Hallo,
    soviele Gedanken hatte ich mir bisher über die S5-Timer nicht gemacht, da ich damit noch keine Probleme hatte. Aber
    die Probleme, die mit der Interruptsteuerung der Timer auftreten können haben mich dazu veranlasst, dieses mit einem Test zu überprüfen. Dazu habe ich den OB1 auf unserer Testanlage erweitert, siehe OB1.PDF.
    - CPU 414-2DP
    - Zykluszeit ca. 3 - 4 ms, also ein kurzes Anwenderprogramm.
    Ergebnis:
    Auch bei einem einschaltverzögerten Timer tritt dieser Effekt auf.
    Im 1. u. 2. NW wird der "SE T11" und nach dem Anwenderprogramm im NW 4 abgefragt und die Merker mit Hilfe von XOR verglichen
    und bei Auftreten einer Differenz in M14.0 .. M14.2 eingespeichert.
    Ergebnis:
    M14.0 u. M14.2 werden sehr schnell gesetzt, M14.1 dauert länger, wird aber auch irgendwann gesetzt ( abhängig von der SE-Zeit );
    die ersten beiden T11 Abfragen liegen ja auch unmittelbar hintereinander.

    Das werde ich mit Sicherheit zukünftig beachten, auch wenn ich meistens SFB4 u. SFB5 benutze. Die sind ja als Multiinstanz in FB sehr praktisch.

    Besten Dank für Eure Hinweise.

    OB1.pdf
    Geändert von kalle_B (13.02.2012 um 14:37 Uhr)

  10. #30
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von MSB Beitrag anzeigen
    Warum, gute Frage, ist halt so.
    Mfg
    Manuel
    Danke Manuel,

    hängt die Tatsache, dass alle S5-Timer asynchron zum Zyklus HIGH werden, damit zusammen, dass die gewählte Zeit halt irgendwann abgelaufen ist und sich der SPS-Zyklus dabei auch gerade in einem ganz anderen Baustein (als der Timer) befinden kann?
    L.G. schnecke

Ähnliche Themen

  1. Timerproblem in SCL
    Von schnecke im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 15.09.2010, 14:10
  2. Timerproblem
    Von Tobias2k9 im Forum Programmierstrategien
    Antworten: 5
    Letzter Beitrag: 14.01.2009, 13:29
  3. Parallel laufende Programme - Timerproblem?
    Von ogstyle im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 27.06.2007, 13:45
  4. Timerproblem!
    Von Merker0.0 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 04.08.2006, 22:48
  5. Timerproblem im FB
    Von samson im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 24.09.2005, 13:20

Lesezeichen

Berechtigungen

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