TIA 1500 Mindestzykluszeit und Nutzung der freien Zykluszeit

NBerger

Level-3
Beiträge
1.373
Reaktionspunkte
386
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo...
Habe auf einer 1500'er CPU eine Mindestzykluszeit eingestellt.
Die Laufzeit des Zyklischen Programms ist kürzer, es bleibt also zeit bis zum nächsten Zyklus übrig.
Ich würde gerne diese Zeit für "Nebentätigkeiten" nutzen bei denen es nicht auf schnelle Bearbeitung ankommt.

Ich habe da mal was gelesen das dies geht... aber ich finde das nicht mehr :cry:

Kann mir jemand auf die Sprünge helfen?
 
Wie es mit der 1500er ist weiß ich nicht, aber bei den"alten" CPUs hat es den OB 90(Hintergrundzyklus) gegeben, vielleicht gibt es den ja auch bei den 1500er Steuerungen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das hab ich mich schon öfters gefragt. Wozu braucht man die Mindestzykluszeit? Für was für Anlagen oder Aufgaben ist es Sinnvoll den Zyklus künstlich zu verlängern?

mfg René
 
Das hab ich mich schon öfters gefragt. Wozu braucht man die Mindestzykluszeit? Für was für Anlagen oder Aufgaben ist es Sinnvoll den Zyklus künstlich zu verlängern?

mfg René


Bei den meisten Bewegungen mit Pneumatikzylindern erfolgt die Abfrage mit Zylinderschaltern. Der Schaltbereich ist recht gross und ein exaktes Einstellen oft nicht möglich.
Bei alten Steuerungen mit 30 bis 150ms Zyklus war das kein Problem aber bei den aktuellen Steuerungen mit Zykluszeiten von unter 5ms teilweise schon.
Deshalb ist es beim Retrofit von alten Anlagen manchmal einfacher den Zyklus zu verlängern als an x-Stellen im Programm Verzögerungen einzubauen.
Wenn dann Zeit vorhanden ist, kann man sich um die Optimierung kümmern.

Gruß
Dieter
 
Die gleiche Erfahrung hab ich auch gemacht. Alte 315 gegen eine neue getauscht, dann war die Zykluszeit nur noch bei 4ms und die Schrittketten funktionierten nicht mehr 100%ig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die gleiche Erfahrung hab ich auch gemacht. Alte 315 gegen eine neue getauscht, dann war die Zykluszeit nur noch bei 4ms und die Schrittketten funktionierten nicht mehr 100%ig.

Kenn ich auch.
Besonders im Zusammenspiel mit Relais oder Schützen.
Wenn die Zykluszeit eben x-mal schneller ist, als die Schaltzeit von Aktoren.
 
Also ich war über 20 Jahre im Retrofit unterwegs, solche Effekte wie mit den
Zylinderabfragen habe ich nie erlebt. Bei uns konnten die Steuerung nie schnell
genug sein, um die früher oft eingesetzten Elektronik-Steuerungen zu ersetzen,
die von vielen Maschinenbauern selbst entwickelt wurden. Deshalb haben wir
oft IPC eingesetzt, weil die einiges schneller waren (sind) als Classic SPSn.

Vielleicht sollte man einfach noch einmal über das Programm bzw die Hardware
schauen ob die noch Zeitgemäß sind.
 
Bei den meisten Bewegungen mit Pneumatikzylindern erfolgt die Abfrage mit Zylinderschaltern. Der Schaltbereich ist recht gross und ein exaktes Einstellen oft nicht möglich.

Du meinst, die Signale von "Sollstellung erreicht" kommen von einzelnen Aktoren bevor sie die Stellung wirklich erreicht haben und somit dann der nächste Schritt der SPS zu früh?

mfG René
 
Vielleicht sollte man einfach noch einmal über das Programm bzw die Hardware
schauen ob die noch Zeitgemäß sind.

Helmut, natürlich hast du damit recht.
Es gibt aber einen Unterschied zwischen deinen Anwendungen und meinen.
Wenn du eine alte Elektronik-Steuerung rausschmeisst, dann ist die neue SPS ähnlich schnell.
Wenn ich eine 115U durch eine 315-2 PN/DP ersetzte, dann habe ich Faktor 20 Unterschied in der Zykluszeit.
Und da treten eben Effekte auf.

Gruß
Dieter
 
Wie es mit der 1500er ist weiß ich nicht, aber bei den"alten" CPUs hat es den OB 90(Hintergrundzyklus) gegeben, vielleicht gibt es den ja auch bei den 1500er Steuerungen

und da bist du dir ganz sicher? Das gibt es wirklich?

Ich habe noch nie etwas von eine Hintergrundzyklus gehört...

Sonst müsste ich meine Artikelverwaltung umprogrammieren... :) Die könnte in einem "Hintergrundzyklus" laufen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Von einem Hintergrundzyklus (mal abgesehen vom OS), also einen den der Programmierer nutzen kann, hätte ich noch nichts gehört.
Den Sinn verstehe ich für die Verwendung der Mindestzykluszeit verstehe ich auch, aber das Problem mit der Nutzung der restlichen Zeit verstehe ich nicht so ganz.

Wenn das Bestandsprogramm z.B. innerhalb von 50% des Mindestzyklus läuft kannst du ja trotzdem deine Zusatzeinweisungen reinschreiben, solange bis du die 100% Mindestzyklus erreicht hast. Die Aus-/Eingänge die vom Bestandsprogramm kommen werden eh immer erst nach der Mindestzykluszeit gelesen/geschrieben. Die SPS kann also während der "Wartezeit" ganz normal anderen Code ausführen.

Selbst wenn du deinen Bestandscode aus irgendwelchen Timing-Gründen an einem Stück lassen musst, kannst du deine Anweisungen immer noch an das Ende des OB1 hängen.
Die Laufzeit des Zyklischen Programms ist kürzer, es bleibt also zeit bis zum nächsten Zyklus übrig.
Ich würde gerne diese Zeit für "Nebentätigkeiten" nutzen bei denen es nicht auf schnelle Bearbeitung ankommt.
Unterschied in der Bearbeitung (Priorität etc.) hast du sowieso keinen, der Code wird einmal alle x Millisekunden (Mindestzyklus) durchlaufen.)
Mit letzterem würdest du ja genau das erreichen. Oder verstehe ich die Frage falsch? :confused:
 
Zuletzt bearbeitet:
Benutzt hab ich den OB90 auch noch nie :D aber meine Step7 Hilfe zeigt ihn halt an...

Falls Sie mit STEP 7 eine Mindestzykluszeit vorgegeben haben und
diese größer als die tatsächliche Zykluszeit ist, steht der CPU am Ende des
zyklischen Programms Bearbeitungszeit zur Verfügung. Diese wird für die
Bearbeitung des Hintergrund-OBs genutzt. Falls der OB 90 auf Ihrer CPU nicht
vorhanden ist, wartet die CPU, bis die vorgegebene Mindestzykluszeit abgelaufen
ist. Sie können über den OB 90 also zeitunkritische Prozesse ablaufen lassen und
damit Wartezeiten vermeiden.
 
OK gut, aber wo ist der Unterschied zum einfachen Anhängen an OB1.
Oder bricht der OB90 seine Verarbeitung ab? Zb. Wenn man Mindestzyklus 40ms hat, der OB1 35ms lang ist und der OB90 ungefährt 10ms braucht. Arbeitet die CPU dann zuerst die erste Hälfte vom OB90 ab und beim zweiten mal dann die andere Hälfte?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke, dass genau das das Problem darstellt. So wie ich die Hilfe auffasse fängt er jedes mal neu mit dem OB90 an, also müsste man sich wieder selbst was zusammen schustern. Wodurch man es dann gleich im OB1 anhängen kann und hier etwas dazu bastelt.

Hilfe_OB90.PNG
 
Nun da der OB90 einen niedrigere Prioritätsklasse hat würde er tatsächlich vom OB1 unterbrochen werden. Würde sich also genau so wie in meinem obigen Beispiel verhalten.

Die Verwendung macht aber auch nur Sinn wenn die Dauer des in OB90 enthalten Codes die Restdauer zwischen OB1-Ende und Mindestzyklus überschreitet.
 
Zuletzt bearbeitet:
Hallo zusammen,

gleich zu Anfang gesagt habe ich keine Ahnung ob die 1500 überhaupt Weck OB's hat oder nicht.
Wie wäre es den zeitkritischen Code in eine zyklisch aufgerufenen Weck-OB zu holen und den unkritischen Code im OB1 freilaufen zu lassen?

Wie gesagt keine Ahnung was die 1500er hier hergibt...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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...

Ist alles nicht so schön. Werde es trotzdem mal versuchen.
 
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...
Wieso das? Probleme bekommst Du normal nur, wenn der Weck-OB selber länger dauert als sein Aufruf-Intervall.
Oder wenn es so viele/so lange dauernde Weck-OB-Aufrufe gibt, daß dadurch die OB1-Zykluszeit länger als die maximal zulässige Zykluszeit wird.

Harald
 
Zurück
Oben