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

Ergebnis 1 bis 9 von 9

Thema: SCL Watchdog

  1. #1
    Registriert seit
    18.10.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute

    Ich habe ein Problem mit einer Verzögerung innerhalb einer Schleife. Zum testen meines Programmes benutze ich PLCSIM. Die CPU geht nach ca.20s auf Stop. Ich glaube das der Watchdog anspringt.Kann man den irgendwie ausschalten? Oder mache ich was falsch mit den timer? Für Hilfe wär ich dankbar. Hier der Codeauszug:

    Code:
    FOR i:=0 TO x1 DO         
      IF SollwertOut=x1 THEN
        EXIT;
      END_IF; 
                
      WHILE qt=false DO
        t:=S_ODT(T_NO:= T1, S:=TRUE, TV:=T#1s, R:=FALSE,Q:=qt);
      END_WHILE;
      
      t:=S_ODT(T_NO:= T1, S:=false, TV:=T#1s, R:=true,Q:=qt); 
      SollwertOut:=SollwertOut+1;           
    END_FOR;
    Zitieren Zitieren SCL Watchdog  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Febo Beitrag anzeigen
    Oder mache ich was falsch mit den timer?
    ja, du verzögerst den zyklus! die zeit läuft zyklusübergreifend, alle funktionen, die du verzögern willst, mußt du zyklusübergreifend verzögern! 1s stellt für die CPU schon sowas wie eine endlosschleife dar.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    17.05.2006
    Beiträge
    32
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Den timer in der while-Schleife zu starten würde ich so nicht machen, weil dein Propgramm dort "stehen bleibt" (siehe 4L). Starte doch den timer und unterbreche den Baustein mit einem exit wenn qt=false ist. Dann müßte es gehen.
    "Wenn ich die Menschen gefragt hätte, was sie wollen, hätten sie gesagt schnellere Pferde."
    Henry Ford

  4. #4
    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

    ... in Anlehnung an meine Vorredner ...

    Was soll denn überhaupt die Aufgabe sein ?
    Aus deinem Code-Beispiel kann ich das nicht ableiten ...

    Gruß
    LL

  5. #5
    Febo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.10.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke erstmal für die Antworten.

    Die Problemstellung ist eine verzögerte Sollwertübernahme. Das heist wenn sich der Sollwert ändert, ändert sich der Augang dazu zeitverzögert. Dies geschieht in 3 Stufen. In der ersten Stufe beträgt der Takt 5s in der zweiten 2,5s und in der letzten 1s.
    Naja wenn man so will eine Art Regler.
    Ich wollte hallt 3 Schleifen hintereinander schalten und innerhalb dieser Schleife eine Verzögerung reinbauen.

    Gruß

  6. #6
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    ich weiß nicht, wie dein wissensstand ist, deshalb: das grundlegende prinzip der programmabarbeitung in der steuerung ist dir geläufig?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Febo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.10.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ich denke schon. dies ist nur mein erster versuch mit scl. ich wäre in der lage dazu das problem mit awl/kop/fup zu lösen.

  8. #8
    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

    Was Vierlagig dir damit sagen wollte :
    Die Bausteine werden immer zyklisch bearbeitet. Du musst also keine Schleife programmieren, die macht dir die CPU schon von selbst. Ist eine Anweisung ausführbar, so wird sie ausgeführt - wenn nicht dann nicht. Brauchst du für etwas einen sequentiellen Ablauf, dann musst du dir den künstlich erzeugen (z.B. mit einer Zähl-Variablen).

    Gruß
    LL

  9. #9
    Febo ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.10.2008
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    das leuchtet mir ein. ich glaub ich weis jetzt wo mein denkfehler ist. ich werd wohl nochmal von vorn anfangen. aber erst am montag.

    gruß

Ähnliche Themen

  1. Wago 750-841 Watchdog
    Von SeLux im Forum Feldbusse
    Antworten: 0
    Letzter Beitrag: 29.04.2009, 11:17
  2. Watchdog
    Von Pinguino im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 31.10.2007, 07:49
  3. watchdog
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 05.02.2006, 21:45
  4. watchdog
    Von Anonymous im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 27.01.2006, 08:27
  5. WATCHDOG
    Von Anonymous im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 09.11.2003, 23:35

Lesezeichen

Berechtigungen

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