SIMOTION D-435-2 Zeitüberlauf oder Ebenenüberlauf IPO Task

Draco Malfoy

Level-1
Beiträge
1.168
Reaktionspunkte
82
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen

was soll ich tun gegen einen Zeitüberlauf in der IPO Task ?

Meine IPOSynchronousTask verbraucht regelmäßig 0,2 bis 0,8 mS. Die IPO Task ist auf 6mS eingestellt.

Trotzdem habe ich daurernd Tasküberläufe, die sporadisch auftreten und dann das Limit von 5 tolerierten Ebenenüberläfen sprengen. Es liegt definitiv nicht an meinem Anwenderprogramm - ich fahre dort keine bösen Schleifen oder asynchrone Befehle mit einer Weiterschaltungsbedingung anders als IMMEDIATLEY.

Was zum Satan soll ich tun um diese abartigen Ebenenüberläufe oder Zeitüberschreitungen loszuwerden ??

TasksLaufzeiten_EF.JPG
TasksLaufzeiten_EE.JPG

Taskkonfiguration.JPG

Dank an alle
 
Helft mir bitte jemand, ich weiß nicht, was ich tun soll. Ich habe dauernd CPU-STOP wegen diesem vergluchten Tasküberlauf. Ich weiß nicht, was ich machen soll !!!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

Welche Aufgabe haben die Programme in der IPO-Task ? Wird in denen eine Schrittkette abgearbeitet ? Wartezeit Programmiert ? Aufwändige mathematische berechnungen ?
Wieviele Achsen (Reale + Virt. Achsen) werden auf deiner SIMOTION gerechnet und in welcher Ablaufebene ? welchen Servotakt hast du eingestellt ?

I.d.R stelle ich die IPO-Task so ein, dass ich max. 1 Überlauf toleriere und 50% vom Gesamttakt als Rechenzeit zur Verfügung stelle. Dass nach 5 Überläufen immer noch die SIMOTION in STOP geht ist schon eine Hausnummer.


Mit freundlichen Grüßen
Piit


Gesendet von iPhone mit Tapatalk
 
1) Fahrbefehle steuern, _MovePathLinear oder Circular usw.
2) ja, aber nur CASE Schrittkette, die nichts Böses tut und definitiv keinen Überlauf verursachen kann
3) natürlich nicht
4) ebenfalls NEIN
5) 8 reale 3 virtuelle alle IPO + 2 Bahnobjekte ebenfalls IPO
6) Servo 2mS IPO mittlerweile 6mS trotzdem regelmäßig Ebenenüberlauf

ich habe jetzt meine Programme aus der IPO Synchronous in die IPO2 Synchronous verschoben. Der Überlauf tritt aber weiterhin in der IPO Task auf !!
 
... gibt es bei Bahnobjekten nicht einen Modus wo man die Vorausberechnung der Bahnsequenzen angibt. Vielleicht passt da irgendwas nicht (aber das ist spekulativ von daher wollte ich hier nicht mit gefährlichen Halbwissen glänzen ;).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
1) Fahrbefehle steuern, _MovePathLinear oder Circular usw.
2) ja, aber nur CASE Schrittkette, die nichts Böses tut und definitiv keinen Überlauf verursachen kann
3) natürlich nicht
4) ebenfalls NEIN
5) 8 reale 3 virtuelle alle IPO + 2 Bahnobjekte ebenfalls IPO
6) Servo 2mS IPO mittlerweile 6mS trotzdem regelmäßig Ebenenüberlauf

ich habe jetzt meine Programme aus der IPO Synchronous in die IPO2 Synchronous verschoben. Der Überlauf tritt aber weiterhin in der IPO Task auf !!


Hast du noch Programme in der ServoSynchronous-Task ?
Benutzt du Die Handling Advanced Bib oder Programmierst du ausschließlich mit _MovePathLinear, usw. ? Seit wann tritt der Fehler auf und kannst du mal unter Gerätediagnose im Reiter „Systemauslastung“ die Werte von „Kopierzeitreserve für Bustakt im Servo“ und „Auslastung Taktsynchroner Tasks“ einsehen ?

Mit freundlichen Grüßen
Piit



Gesendet von iPhone mit Tapatalk
 
1) Nein, keine Programme mehr in der IPOSynchronousTask
2) In der Servo-SynchronousTask sind Paar einfache Berechnungen über Kurvenscheiben, insgesamt ca. 500 Zeilen Code, keine Fahrbefehle
3) Programmiere ausschließlich mit "_MovePathLinear" etc.
4) Seitdem die Abläufe komplexer geworden sind und die Bahngeschwindigkeiten zum Teil in Richtung 1000mm/s gehen.

5) keine Anhnung wie die Viecher heißen - ich bin gerade im Hotel und kann die Gerätediagnose nicht öffnen. Es sind aber dort "Gläser" mit blauer Füllstandsanzeige dadrin. Also die drei Gläser links sind bei mir bis zur Hälfte gefüllt. Das eine Glas aber rechts - es bezieht sich glaube ich auf Profibus - ist komplett blau (das Glas ist voll)!
Kopierzeiten.jpg
... gibt es bei Bahnobjekten nicht einen Modus wo man die Vorausberechnung der Bahnsequenzen angibt.
Ehrlich gesagt, no idea, wo oder was das ist.
 
Zuletzt bearbeitet:
1) Nein, keine Programme mehr in der IPOSynchronousTask
2) In der Servo-SynchronousTask sind Paar einfache Berechnungen über Kurvenscheiben, insgesamt ca. 500 Zeilen Code, keine Fahrbefehle
3) Programmiere ausschließlich mit "_MovePathLinear" etc.
4) Seitdem die Abläufe komplexer geworden sind und die Bahngeschwindigkeiten zum Teil in Richtung 1000mm/s gehen.

5) keine Anhnung wie die Viecher heißen - ich bin gerade im Hotel und kann die Gerätediagnose nicht öffnen. Es sind aber dort "Gläser" mit blauer Füllstandsanzeige dadrin. Also die drei Gläser links sind bei mir bis zur Hälfte gefüllt. Das eine Glas aber rechts - es bezieht sich glaube ich auf Profibus - ist komplett blau (das Glas ist voll)!


Ehrlich gesagt, no idea, wo oder was das ist.

Ja genau die Blauen Gläser meine ich.
Die 2 linken beziehen sich auf die von mir genannten Auslastungen.
Ich würde mal deine Casevariable in der Schrittkette und die Tasklaufzeit der IPO-Task Tracen, um mal den Schritt zu erkennen an dem die Laufzeit deutlich ansteigt.
Ist wirklich ausgeschlossen dass du an einem Kommando als Weiterschaltbedingung nicht doch ausversehen „WHEN_MOTION_DONE“ angegeben ist bzw. der Default Wert aktiv ist ?
Manche Motion Befehle haben als Defaulteinstellung WHEN_MOTION_DONE als Weiterschaltbedingung.

Erfordert es deine Anwendung wirklich die Schrittketten in einer IPO-Task abzuarbeiten ?



Mit freundlichen Grüßen
Piit




Gesendet von iPhone mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja genau die Blauen Gläser meine ich.
Die 2 linken beziehen sich auf die von mir genannten Auslastungen.
Die sind wie gesagt zur Hälfte gefüllt.
Ich würde mal deine Casevariable in der Schrittkette und die Tasklaufzeit der IPO-Task Tracen, um mal den Schritt zu erkennen an dem die Laufzeit deutlich ansteigt.
Bringt mir nichts. Ich weiß, daß da beim Berechnen der Bahnbefehle etwas fürchterlich schief geht, und zwar wenn die Anlage fährt.
Ist wirklich ausgeschlossen dass du an einem Kommando als Weiterschaltbedingung nicht doch ausversehen „WHEN_MOTION_DONE“ angegeben ist bzw. der Default Wert aktiv ist ?
Manche Motion Befehle haben als Defaulteinstellung WHEN_MOTION_DONE als Weiterschaltbedingung.
Dann hätte ich jetzt einen IPO2-Task Überlauf, da meine Programme dort ablaufen. Ich habe aber weiterhin IPO-Überlauf.
Erfordert es deine Anwendung wirklich die Schrittketten in einer IPO-Task abzuarbeiten ?
IPO2 reicht, wenn der IPO Takt bei 4mS liegen würde (damit gehe ich aber sofort in STOP). Weniger als 10mS sollten es schon sein.
 
Zuletzt bearbeitet:
Die sind wie gesagt zur Hälfte gefüllt.

Bringt mir nichts. Ich weiß, daß da beim Berechnen der Bahnbefehle etwas fürchterlich schief geht, und zwar wenn die Anlage fährt.

Dann hätte ich jetzt einen IPO2-Task Überlauf, da meine Programme dort ablaufen. Ich habe aber weiterhin IPO-Überlauf.

IPO2 reicht, wenn der IPO Takt bei 4mS liegen würde (damit gehe ich aber sofort in STOP). Weniger als 10mS sollten es schon sein.

Kannst du ggf. mal mehr bzw. So viel du darfst über deine Applikation erzählen ?
- Kinematiktyp
- Ablauf (Einfache PtP-Bewegungen, Conveyor Tracking, etc.)
- Simotion Firmwarekernel ?
- ist es immer bei derselben bewegung, dass die Simotion in STOP geht ?


Die Einstellung die Zako meint ist:

_to.MyPathobject.decodingConfig.maximalBufferedMotionCommands

Die Variable gibt an wieviele Motion befehle gepuffert werden.


Mit freundlichen Grüßen
Piit



Gesendet von iPhone mit Tapatalk
 
5) keine Anhnung wie die Viecher heißen - ich bin gerade im Hotel und kann die Gerätediagnose nicht öffnen. Es sind aber dort "Gläser" mit blauer Füllstandsanzeige dadrin. Also die drei Gläser links sind bei mir bis zur Hälfte gefüllt. Das eine Glas aber rechts - es bezieht sich glaube ich auf Profibus - ist komplett blau (das Glas ist voll)!
Anhang anzeigen 46719
Komplett blau ja, aber ich lese aus dem farbig gestreiften Balken links daneben: voll im grünen Bereich!? Genauer gesagt, so grün, grüner geht es kaum.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Komplett blau ja, aber ich lese aus dem farbig gestreiften Balken links daneben: voll im grünen Bereich!? Genauer gesagt, so grün, grüner geht es kaum.

Ich denke eher dass das ein Beispielbild aus dem Inet ist, da rechts Nummern sind. Geht ja nur um die Anzeige.

Mit freundlichen Grüßen
Piit


Gesendet von iPhone mit Tapatalk
 
Ich denke eher dass das ein Beispielbild aus dem Inet ist, da rechts Nummern sind. Geht ja nur um die Anzeige.
Mag es ruhig ein irrelevantes Beispiel sein, soweit die drei linken "Gläser" betroffen sind. Es hiess aber, dass das rechte, 4. Glas voll blau ist und so gesehen passt das Beispiel wie Faust auf Auge: viel blau bedeutet bei den "Gläsern" 2 .. 4 anscheinend viel grün und viel weit weg vom roten Bereich. Nur beim 1. "Glas" ist viel blau bedenklich, da im (gelben bzw.) roten Bereich.

PS:
Was bedeutet . . .
Bringt mir nichts. Ich weiß, daß da beim Berechnen der Bahnbefehle etwas fürchterlich schief geht, und zwar wenn die Anlage fährt.
???
Kannst Du das nicht vordringlich "bereinigen"? Das bleibt doch im Bereich IPO, wenn Du die vermeintlichen Übeltäter nach IPO2 auslagerst?

Edit: Das letzte habe ich wohl falsch gedeutet, die Case-Schrittkette schiebst Du auch nach IPO2.
Was verbleibt eigentlich in IPO? Gibt es da irgendetwas, das ein ZeitLimit sprengt?

4) Seitdem die Abläufe komplexer geworden sind und die Bahngeschwindigkeiten zum Teil in Richtung 1000mm/s gehen.
1000mm/s sind 60m/min und somit u.U. ganz schön flott, wenn währenddessen RichtungsWechsel/Verrundungen anfallen?
 
Zuletzt bearbeitet:
Mag es ruhig ein irrelevantes Beispiel sein, soweit die drei linken "Gläser" betroffen sind. Es hiess aber, dass das rechte, 4. Glas voll blau ist und so gesehen passt das Beispiel wie Faust auf Auge: viel blau bedeutet bei den "Gläsern" 2 .. 4 anscheinend viel grün und viel weit weg vom roten Bereich. Nur beim 1. "Glas" ist viel blau bedenklich, da im (gelben bzw.) roten Bereich.

PS:
Was bedeutet . . .

???
Kannst Du das nicht vordringlich "bereinigen"? Das bleibt doch im Bereich IPO, wenn Du die vermeintlichen Übeltäter nach IPO2 auslagerst?

Edit: Das letzte habe ich wohl falsch gedeutet, die Case-Schrittkette schiebst Du auch nach IPO2.
Was verbleibt eigentlich in IPO? Gibt es da irgendetwas, das ein ZeitLimit sprengt?


1000mm/s sind 60m/min und somit u.U. ganz schön flott, wenn währenddessen RichtungsWechsel/Verrundungen anfallen?


Servus,

Ja für den ersten Balken ist Blau nicht gut, i.d.R sollte man darauf achten die Systemauslastung der Taktsynchronen Tasks auf unter 60% zu halten.
1000mm/s is jetzt aber auch kein Problem für Simotion.
Mich interessiert nur durch was die Auslastung zustande kommt.

Draco kannst du mal den Lagereglertakt (Servo) auf 3ms erhöhen ?

Mit freundlichen Grüßen
Piit


Gesendet von iPhone mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kannst du ggf. mal mehr bzw. So viel du darfst über deine Applikation erzählen ?
- Kinematiktyp
2 TO Path, 1x Zylinderroboter und 1x kartesisches Portal
- Ablauf (Einfache PtP-Bewegungen, Conveyor Tracking, etc.)
Bisher kein ConveyorTracking, nur PtP Bewegungen, allerdings dann beider TO und mit Überschleifen im nächsten Befehl
- Simotion Firmwarekernel ?
Oh keine Ahnung, wo gucke ich den denn nach ? Simotion Scout 5.2, und das Projekt ist auch auf 5.2.
- ist es immer bei derselben bewegung, dass die Simotion in STOP geht ?
So genau habe ich es nicht rausgefunden.
_to.MyPathobject.decodingConfig.maximalBufferedMotionCommands
Die Variable gibt an wieviele Motion befehle gepuffert werden.
Also ich gebe immer maxiaml 2x Befehle für die Bahnplanung an. Einen der gerade fährt und den nächsten, der diesen Befehl ablösen bzw. überschleifen soll.
Draco kannst du mal den Lagereglertakt (Servo) auf 3ms erhöhen ?
Kann ich morgen machen. Was meinst du unter Lagereglertakt, Servo ? Auf was sollte ich dann IPO stellen ?
1000mm/s sind 60m/min und somit u.U. ganz schön flott, wenn währenddessen RichtungsWechsel/Verrundungen anfallen?
Ja, das tun sie dann. Also anfallen.
Was verbleibt eigentlich in IPO? Gibt es da irgendetwas, das ein ZeitLimit sprengt?
Ich weiß nicht, was dort den Limit sprengt. Von mir ist da jetzt nichts mehr drin, nur Siemens-Technologie.
 
Zuletzt bearbeitet:
Ich weiß nicht, was dort den Limit sprengt. Von mir ist da jetzt nichts mehr drin, nur Siemens-Technologie.
Folgendes (und nicht nur "Siemens-Technologie") dürfte wohl im IPO-Takt abgearbeitet werden:
Also ich gebe immer maxiaml 2x Befehle für die Bahnplanung an. Einen der gerade fährt und den nächsten, der diesen Befehl ablösen bzw. überschleifen soll.
Die Beschränkung auf 2 Befehle (den, der gerade abgearbeitet und den nächsten) könnte u.U. genau das bewirken, was Du vermeiden willst, nämlich die NC unnötig viel zu beschäftigen.
Ich würde die NC lieber an einer lockereren Leine führen, damit nicht plötzliche und unerwartete BeschleunigungsPhasen die NC in Verlegenheit bringen.
 
Folgendes (und nicht nur "Siemens-Technologie") dürfte wohl im IPO-Takt abgearbeitet werden:
Noch ein Mal: Die Befehle werden im IPO2 Task abgesetzt! Wo die bearbeitet werden, entscheidet die Zuordnung der TO zu den Tasks. Meine TOs sind der IPO-Task zugeordnet.
Die Beschränkung auf 2 Befehle (den, der gerade abgearbeitet und den nächsten) könnte u.U. genau das bewirken, was Du vermeiden willst, nämlich die NC unnötig viel zu beschäftigen.
Ich würde die NC lieber an einer lockereren Leine führen, damit nicht plötzliche und unerwartete BeschleunigungsPhasen die NC in Verlegenheit bringen.
Heinileini, ich habe den Eindruck, du hast noch nie mit Bahnplanung gearbeitet. Der Sinn eines Systems wie die Bahnobjekte besteht darin, eine flüssige Bahn zu fahren. Dafür muss ich im nachfolgenden Befehl den vorangegangenen Befehl überschleifen. Und dafür gebe ich einen Überschleifradius und Modus an - während der bevorstehende Befehl noch aktiv ist (Status ACCELERATION oder CONSTANT_MOTION). Weiteres ist nachzulesen in dem TO-Handbuch.
 
Zurück
Oben