Zwei Pumpenpaare abwechselnd + 1 Pumpe bei hohen Wasseraufkommen

Zuviel Werbung?
-> Hier kostenlos registrieren
Das habe ich dir aber, so glaube ich, eben erklärt :
Im "normalen" Programm gibt es in jeder Zeile des Programms (bildlich gesprochen) nur ein mögliches Ergebnis.
Innerhalb einer Schleife hast du mehrere unterschiedliche Ergebnisse in derselben Zeile.
Und ... das SPS-Programm wird NICHT angehalten - warum hatte ich, glaube ich, auch beiläufig erwähnt ...
Wenn du Zwischenergebnisse in deiner Schleife sehen willst so geht das nur indem du die Schleife eben keine Schleife sein läßt - also Beobachten für den festen Index 1, danach für den festen Index 2 ... usw.
 
Sorry, aber das stimmt so nicht!

Bei Haltepunkten wird die SPS tatsächlich angehalten, mit entsprechenden Auswirkungen auf die Anlage.

Zitat aus der TIA Hilfe:
Haftungsausschluss für die Verwendung von Haltepunkten bei SIMATIC S7-1500
Die SIMATIC S7-1500 unterstützt die Verwendung von Haltepunkten zum gezielten Anhalten des Programmablaufs bei der Fehlersuche im Anwenderprogramm. Das Erreichen eines gesetzten Haltepunkts durch das Anwenderprogramm führt dazu, dass der Verarbeitungszyklus der SIMATIC S7-1500 an diesen Haltepunkten angehalten wird. Dabei werden die Ausgangswerte für die angeschlossen Ausgangsbaugruppen in ihrem jeweiligen Zustand gehalten und (im Gegensatz zur SIMATIC S7-300/S7-400) weder zurückgesetzt noch auf die projektierten Ersatzwerte gesetzt werden. Darüber hinaus kann die SIMATIC S7-1500 in diesem Zustand nicht mehr auf Eingangswerte von Eingangsbaugruppen reagieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du Zwischenergebnisse in deiner Schleife sehen willst so geht das nur indem du die Schleife eben keine Schleife sein läßt - also Beobachten für den festen Index 1, danach für den festen Index 2 ... usw.
Oder man klickt mit rechts auf den Code und aktiviert das Kästchen "Schleifen beobachten":
TIA-Hilfe schrieb:
Schleifen beobachten

Durch die Anzeige des Programmstatus können Sie den Programmablauf innerhalb eines Bausteins beobachten. Dadurch erhalten Sie eine Übersicht über die Werte der einzelnen Operanden und der Verknüpfungsergebnisse und können feststellen, ob die Komponenten des Automatisierungssystems korrekt gesteuert werden.
Sind die Werte in einer helleren Schrift mit geringerer Sättigung dargestellt, so stammen diese Werte nicht aus dem aktuellen Zyklus.

[TABLE="class: safety"]
[TR]
[TD]Hinweis
Das Beobachten von Schleifen kann die Zykluszeit der CPU deutlich erhöhen, jeweils abhängig von der Anzahl der zu beobachtenden Variablen und abhängig von der tatsächlichen Schleifendurchlaufzahl.[/TD]
[/TR]
[/TABLE]

Für das Beobachten von Schleifen gelten besondere Regeln, abhängig von der jeweils eingesetzten CPU und der verwendeten Programmiersprache.

...

Regeln für das Beobachten von Schleifen in SCL (S7-1200/1500)

Beim Beobachten von Schleifen in SCL ist die Anzeige des Programmstatus innerhalb programmierter Schleifen per Voreinstellung ausgeschaltet.
Dies betrifft die Anweisungen "FOR", "WHILE" und REPEAT-UNTIL": Innerhalb dieser Anweisungen werden keine Werte für die Variablen angezeigt, um die Zykluszeit nicht zu belasten.
Falls Sie einen SCL-Baustein mit programmierten Schleifen beobachten, informiert Sie ein Tooltipp darüber, dass das Beobachten von Schleifen momentan ausgeschaltet ist und bei Bedarf über das Kontextmenü aktiviert werden kann.

Beobachten von Schleifen in SCL ein-/ausschalten (S7-1200/1500)

Um das Beobachten von Schleifen in SCL einzuschalten, gehen Sie folgendermaßen vor:
[TABLE="width: 100%"]
[TR]
[TD="bgcolor: #cccccc"]
  • Öffnen Sie den SCL-Baustein, den Sie beobachten möchten.
  • Klicken Sie in der Funktionsleiste auf die Schaltfläche "Beobachten ein/aus".
    Falls Sie bisher noch keine Online-Verbindung hergestellt hatten, wird der Dialog "Online verbinden" geöffnet. Mithilfe dieses Dialogs können Sie eine Online-Verbindung herstellen.
    Siehe auch: Online verbinden und Online-Verbindung trennen
  • Klicken Sie mit der rechten Maustaste innerhalb der Schleife z. B. in die Spalte "Wert" und aktivieren Sie das Beobachten mit dem Kontextmenübefehl "Schleifen beobachten".
  • Bestätigen Sie die nachfolgende Abfrage mit "Ja".
    Ergebnis: Das Beobachten von Schleifen wird für den gesamten Baustein aktiviert und gilt so lange, bis das Beobachten von Schleifen wieder deaktiviert oder die Online-Verbindung zur CPU beendet wird.
  • Um den Programmstatus auszuschalten, klicken Sie erneut auf die Schaltfläche "Beobachten ein/aus".
[/TD]
[/TR]
[/TABLE]
 
Oder man klickt mit rechts auf den Code und aktiviert das Kästchen "Schleifen beobachten":
Und wenn man das Kästchen "Schleifen beobachten" nicht finden kann, tut's vielleicht auch ein WorkAround ...
Code:
// Beispiel für FOR-Schleife. 
// Achtung, PseudoCode! Ist als "AbsichtsErklärung" zu verstehen!
// Und nochmal Achtung! Vorzeitige SchleifenAbbrüche (z.B. durch EXIT) sind nicht eingeplant!
// Und immer noch Achtung! Bei geschachtelten Schleifen nur für die äusserste Schleife geeignet!

FOR x := Anfang TO Ende DO
    // zu testende Befehlsfolge mit x := Anfang..Ende ;
END_FOR ;    

// ========================================================================================
// zum Testen umschreiben in (sollte mit Copy/Paste ohne ausufernden Aufwand möglich sein):
// ========================================================================================

Test := MIN(MAX(x, Anfang), Ende) ; // mit x den zu beobachtenden "SchleifenDurchlauf" wählen

IF Test > Anfang THEN
    FOR x := Anfang TO Test - 1 DO
        // nicht zu testende Befehlsfolge mit x := Anfang..Test-1 ;
    END_FOR ;    
END_IF ;

x := Test ; 
// zu testende Befehlsfolge >>> NUR HIER <<< ausserhalb der Schleife[n] beobachten

IF Test < Ende THEN
    FOR x := Test + 1 TO Ende DO
        // nicht zu testende Befehlsfolge mit x := Test+1..Ende ;
    END_FOR ;
END_IF ;
 
Zuletzt bearbeitet:
Bei Haltepunkten wird die SPS tatsächlich angehalten, mit entsprechenden Auswirkungen auf die Anlage.

Das war mir so nicht bekannt ...
Vielleicht ja auch deshalb nicht weil das nun nicht unbedingt etwas ist, dass man praktikabel (also in der Praxis) einsetzen kann oder sollte ... :confused:

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das war mir so nicht bekannt ...
Vielleicht ja auch deshalb nicht weil das nun nicht unbedingt etwas ist, dass man praktikabel (also in der Praxis) einsetzen kann oder sollte ... :confused:

Gruß
Larry

Ja, die einzige Sinnvolle Verwendung ist eigentlich in PLCSIM.
Wir haben fast immer F-CPUs da würde ein Haltepunkt Not-Halt auslösen...
 
Zurück
Oben