TIA 1500 Mindestzykluszeit und Nutzung der freien Zykluszeit

Ja wenn du einen Weckob mit 4ms einstellst dann ist das die Maximalzykluszeit dieses OBs, nicht die Mindestzykluszeit. Dein Weckob darf dann auf keinen fall regelmässig mehr Zeit beanspruchen (Was es ja bei der Mindestzykluszeit darf).
Wenn ich jetzt so ein Problem hätte das die Anlage schneller Signale Bringt als der Zustand wirklich erreicht wird, würde ich das zeug das zu schnell reagiert auch in einen weckob packen. Allerdings diesen dann auf eine Zeit stellen in der er Mindestens einmal Abgearbeitet werden muss.
Im OB1 kannst du dann die Zeitunkritischen Sachen abarbeiten lassen, die Ueberwachungszeit kannst du da ja auf Minuten stellen wenn du willst.


mfG René
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Oooh Vorsicht! Das PAE/PAA wird normalerweise im Rhytmus des OB1 aktualisiert (auch bei S7-1500?). In den Weckalarmen muß man direkt mit der Peripherie reden oder bei den E/A-Baugruppen falls möglich ein anderes PA einstellen. Ein OB1 der Minuten lang dauern darf wäre seeehr ungünstig.

@NBerger
Du sollst nicht das ganze Programm in den Weckalarm legen, sondern nur die Teile, welche tatsächlich sehr schnell oder sehr konstant bearbeitet werden müssen. Wenn Du ohne besondere Maßnahmen mit Programm alleine im OB1 schon nur auf 1..16ms Zykluszeit kommst - wo ist Dein wirkliches Problem?

Harald
 
Obwohl ich den OB90 noch nie wirklich benutzt habe - so kenne ich es von S7-300:
Der OB90 wird vom OB1 (und allen anderen OB) immer nur unterbrochen, nicht abgebrochen! Der OB90 wird nur dann von vorne gestartet
- nach jedem STOP/RUN-Übergang (also bei CPU-Neustart)
- oder wenn er mal zum Ende gekommen ist
- oder wenn sich das Programm im Arbeitsspeicher der CPU geändert hat (Bausteine geladen/gelöscht wurden)

Ein anderes Verhalten mit irgendeiner Zeitüberwachung wäre meiner Meinung nach sinnfrei.

Außerdem meine ich, daß man den OB90 tatsächlich nicht braucht. Ich meine, daß man jedes Problem auch ohne OB90 lösen kann. Im OB90 hat man überhaupt keine vorhersehbare oder gar garantierte Reaktionszeit mehr, und für eine konsistente Datenverarbeitung müssten alle Signale, welche der OB90 verarbeiten soll, schon beim Start des OB90 vorliegen und dürften sich während der gesamten OB90-Laufzeit nicht ändern (also quasi eingefroren werden). Ich glaube, der Aufwand für eine konsistente Interprozesskommunikation mit dem OB90 kann schnell unerwartet höher werden als Programmaufgaben/Schleifen geplant zu zerlegen.

Harald
 
Also im TIA gibt es das wohl nicht...
An die Weck-OB Variante habe ich auch schon gedacht aber:
Meine OB1-Zyklen schwanken sehr stark min. 1ms/ max. 16ms
Auch bedingt durch Interrupt Aufrufe wie Motion;Time-Base-iO;Safety usw.
Wenn ich den Weck-OB nun auf z.B. 4ms stelle, handle ich mir so einige Aufruf-Alarme ein die dann auch noch abgefangen werden wollen...
.
Auf wieviel Prozent ist die Kommunikationslast konfiguriert? Default bei 1500 CPUs ist 50%. Falls Du mit weniger auskommst könntest Du die Zykluszeitschwankungen dadurch reduzieren, dass Du der Kommunikation weniger Rechenzeit zur Verfügung stellst. Tipp: experimentieren und Zykluszeitschwankungen beobachten! Falls das geht, ist das der aufwandsärmste Weg, über den Du mehr Programm in den OB1 reinbekommst.

Falls das nicht geht, würde ich den Weck-OB verwenden, und zwar auf einer Priorität < 15, weil der OB mindestens 1 ms läuft.
Ein-/Ausgänge, die im OB verwendet warden sollen musst Du dann an den Weck-Alarm-OB binden.
Aufruf-Alarme musst Du nicht abfangen, weil bei Default-Einstellungen Weckalarm-Aufrufe einfach ausfallen, falls der vorhergehende nicht rechtzeitig fertig geworden ist.
Für die Inbetriebnahme kannst Du in den OB-Eigenschaften einen Log-Eintrag konfigurieren, um ausgefallene OBs sichtbar zu machen.
Den Weckalarm-Takt kannst Du dann experimentell so hoch einstellen, dass keinerlei Ausfälle mehr vorkommen, falls das für diese Applikation wichtig ist.

Für weitere Vorschläge bräuchte ich ein bisschen Feedback zu den bisherigen. Viel Erfolg!
 
Zurück
Oben