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

Ergebnis 1 bis 10 von 10

Thema: S7 1200 1212C DC/DC/DC While Schleife

  1. #1
    Registriert seit
    21.10.2013
    Beiträge
    29
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich versuche gerade bei der oben genannten Steuerung in SCL eine While Schleife Einzugeben.
    Die SPS gibt beim Ausführen immer den folgenden Fehler aus und geht in Stopp zustand.
    -Max. cycle time error(OB start event)- CPU wechselt in STOP-Zustand(keine OB bearbeitung)
    -Max. freie Zykluszeit überschritten-Zeitfehler, Start von OB80 angefordert
    Gibt es was bei den While Schleifen zu beachten?

    Danke für Eure Hilfe
    Zitieren Zitieren S7 1200 1212C DC/DC/DC While Schleife  

  2. #2
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.582
    Danke
    63
    Erhielt 261 Danke für 221 Beiträge

    Standard

    Ganz wichtig:

    Eine while-Schleife wird ausgeführt, solange die Durchführungsbestimmung erfüllt ist. Du musst also sehr genau darauf achten, dass Deine Schleife verlassen werden kann. Sonst bleibt das Programm in der Schleife und die SPS geht halt in Stop wegen Zykluszeitverletzung.
    Ggf. kannst Du die Zykluszeitüberwachung verlängern. Ich vermute aber mal, dass Du Deine While-Schleife verändern musst.
    Geändert von Tigerente1974 (25.10.2013 um 08:25 Uhr)
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  3. #3
    Registriert seit
    29.10.2010
    Beiträge
    555
    Danke
    58
    Erhielt 39 Danke für 37 Beiträge

    Standard

    Hi,

    zeig uns doch mal den Code deiner While Schleife, dann können wir bestimmt auch helfen.

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

    Standard

    Eine SPS ist von Haus aus eine Endlose WHILE-Schleife, ein wenig bildlich gesprochen.

    Insofern sind WHILE Schleifen in aller Regel bei einer SPS völlig sinn- und nutzlos (Außnahmen gibts natürlich), das was es zu beachten gilt, hast du jetzt ja praktisch schon festgestellt.
    Du muss die Anzahl der Durchläufe in irgend einer Form begrenzen, da du die SPS sonst eben auf deine 3 Zeilen SCL beschränkst, "einsperrst".

    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).

  5. #5
    Frank_the_Tank ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.10.2013
    Beiträge
    29
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    So, hier der Code:
    IF #Record=True THEN
    #i:=1;
    WHILE #FlaMer=1 AND #Record=1 DO

    #Ausgang:=1;
    #i:=#i+1
    END_WHILE;
    END_IF;

    Es ist unbekannt wioft die Schleife läuft.
    In der Schleife soll später bei der Flankenänderung ein einem Eingang ein Abbild der Ausgänge erstellt werden, dann soll der Zähler ein hochzählen und es soll wieder auf eine Flankenänderung gewartet werden.

    MfG

  6. #6
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.582
    Danke
    63
    Erhielt 261 Danke für 221 Beiträge

    Standard

    Auch wenn #FlaMer eine Flanke ist. Das Programm bleibt in der WHILE-Schleife. Die Durchführungsbedingung muss innerhalb der Schleifenanweisung zurückgesetzt werden. Diese Anweisung wird immer zu einer Zyklusverletzung führen. Ich vermute die WHILE-Schleife ist auch nicht die beste Wahl der Mittel für das was Du vorhast.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  7. #7
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.582
    Danke
    63
    Erhielt 261 Danke für 221 Beiträge

    Standard

    Beschreib Dein Vorhaben doch mal etwas genauer... Was hast Du mit dem Hochzählen vor?
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  8. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.297
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard

    Um die Zustandsänderung eines Eingangs mitzukriegen muß eine SPS nicht stur nur noch diesen Eingang beobachten und alle anderen Aufgaben vernachlässigen. Es reicht, wenn die SPS einmal pro Zyklus "kurz" auf den Eingang schaut.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #9
    Frank_the_Tank ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.10.2013
    Beiträge
    29
    Danke
    2
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für die Hilfe, ich habe die While Schleife entfernt und duch eine IF ELSE bedingung ersetzt, funktioniert prima
    Wisst ihr ob es die Möglichkeit gibt die Ausgangsabbilder der SPS zu einem bestimmten Zeitpunkt abzuspeichern? Bzw wie ich am besten den zustand von 8 Ausgängen zu einem bestimmten Zeitpunkt in ein Array schreiben kann?

    MfG Frank

  10. #10
    Registriert seit
    05.10.2005
    Beiträge
    2.382
    Danke
    321
    Erhielt 298 Danke für 268 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    AB0 ->Move -> MBxy

Ähnliche Themen

  1. S7 1212C Schaltung korrigieren
    Von zaferaga im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 11.03.2013, 20:13
  2. Siemens CPU 1212c AC/DC/RL
    Von Sveen im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 15.12.2012, 15:42
  3. Antworten: 4
    Letzter Beitrag: 09.03.2012, 12:20
  4. TIA Update CPU 1212C 2.2
    Von BadTaste im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.02.2012, 16:22
  5. Pumpenregelung mit S7 1212C
    Von Sven BW im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 13.02.2012, 21:14

Lesezeichen

Berechtigungen

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