Typische Latenzen

P51D

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich weiss ehrlich gesagt nicht so recht, zu welchem Forum das am besten passt...
In einer Maschine haben wir eine B&R Steuerung und P3 Servor-Antriebe und einem APC 3300. Als man mich (ich komme aus der Embedded-Welt) dazu verdonnert hat, die von unseren externen Entwicklern umgesetzten Prozesse zu analysieren, hat mich beinahe der Schlag getroffen. Bevor ich den Leuten von ihrer "Leistung" berichte, möchte ich ein paar Vergleichswerte haben. Denn wie gesagt, ich kenne mich mit SPS nicht aus.

Die Zahlen und Informationen, die ich mittlerweile zusammengetragen habe:
Latenz = tin (was das auch immer sein soll) + 2 PowerLink + 1 Task + 2 PowerLink + 1 P3 + tout (auch nicht weiter bekannt)
PowerLink läuft mit 1.6ms, Task-Zeit ist 3.2ms und das P3 arbeitet mit 400us. Wenn man also die obige Kette zusammenzählt, sind das mindestens 10ms "Wartezeit", wenn eine Achse auf Position gefahren ist, und bis dann schlussendlich die nächste Achse von dieser Position "getriggert" wird.
Als ich ein paar Traces aufgezeichnet habe (ich sag nur soviel: bin ich froh, dass ich mit der Toolchain nicht arbeiten muss, denn zum State of the Art in der Embedded-Welt sind da gefühlt 30 Jahre unterschied. Aber das ist ein anderes Thema und tut nichts zur Sache) habe ich Wartezeiten zwischen solchen "Achs-auf-Achs" Aktionen im Bereich von 20-60ms gemessen (nicht einmal konstant??). Und da sind in der FSM nur 2 States (Übergangsbedingung ist das Erreichen der Position).

Da stellte sich für mich die Frage, wer da die Bremse vergessen hat zu lösen;). Über die 10ms Latenz kann man ja noch diskutieren (obwohl das schon sehr grenzwertig ist, denn eine simple TCP/IP Verbindung ohne RealtimeOS bei Millionen von Internet-Teilnehmern kann in die gleiche Region kommen), aber bei 60ms ist dann definitiv Schluss mit meinem Verständnis.
Vor allem wenn da 30ms auf der Position verharrt wird, 60ms für das kurze Verfahren benötigt werden und dann wieder 30ms gewartet wird. Über den gesammten Prozess ist die Anlage so 20-25% mit Warten "beschäftigt".

Ich sehe momentan folgende Ansätze:
- Akzeptieren, da das wohl so ist (desswegen die Frage nach Vergleichswerten)
- Die Programmierer herzitieren, sodass sie sich mit der Analyse ihrer Prozesse respektive der SPS und der kompletten Bus-Topologie, sowie den Servo-Antrieben auseinander setzen
- Die von den Programmierern geliebte FSM so umbauen, dass überall wo möglich ein ASAP Scheduling gemacht wird, respektive die Trajektorien selber rechnen und die Startpunkte selber händisch ermitteln (würde für mich nur nötig, wenn es um die letzten Millisekunden geht, aber da sind wir noch weit entfernt)

Besten Dank für eure Antworten
Gruss
P51D
 
Zuletzt bearbeitet:
Hallo,

auf welche Bedingung wird den gewartet? Optimierung ist natürlich immer möglich. Die 20ms bis 60ms waren der Statewechsel? Wird der Befehl direkt in der Task gesetzt oder erfolgt das Absetzen der Befehle z.B MoveAbsolut oder so in einer anderen Task bzw. FB welcher wiederum Schrittketten etc. enthält ?

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo P51D,

bin mir nicht sicher, ob ich dein Anliegen richtig verstanden habe, aber hier mal ein paar Rückfragen und Anmerkungen.

Ich sehe momentan folgende Ansätze:
- Akzeptieren, da das wohl so ist (desswegen die Frage nach Vergleichswerten)
Ja, wäre ein Ansatz. Für den Fall, dass du hier „Vergleichswerte“ bekommst, was willst du vergleichen?
Deine Sondermaschine, mit einer x-beliebigen anderen Anlage?

- Die Programmierer herzitieren, sodass sie sich mit der Analyse ihrer Prozesse respektive der SPS und der kompletten Bus-Topologie, sowie den Servo-Antrieben auseinander setzen
Aber das hast du doch schon gemacht. Wieso nochmals analysieren? :rolleyes:

- - Die von den Programmierern geliebte FSM so umbauen, dass überall wo möglich ein ASAP Scheduling gemacht wird, respektive die Trajektorien selber rechnen und die Startpunkte selber händisch ermitteln (würde für mich nur nötig, wenn es um die letzten Millisekunden geht, aber da sind wir noch weit entfernt)
Das FSM lässt du hier besser mal außen vor. So was führt grundsätzlich nur zu Glaubenskriegen!

Es ist gut möglich, dass den Programmierern gewisse Hardware vorgegeben war.
Daraus haben sie etwas gemacht, was zwar funktioniert, aber eben nicht unbedingt optimal ist.

Erfüllt die Anlage die Spezifikation nicht?
Was ist jetzt dein Anliegen?
Beweisen, dass es noch besser geht?
Beweisen, dass das Ziel so nicht erreicht werden kann?

LG Cassandra
 
Wo das eigentliche Problem ist sollte leicht herauszufinden sein. Die Hardware ist es sicherlich nicht. Der P3 und auch der Powerlinkbus haben deutlich mehr Potential... Die Möglichkeiten der B&R Steuerung SW-Seitig sicherlich auch nicht.

Also, schau einfach nach auf welche Bedingungen gewartet wird. Möglicherweise müssen nur geringe Änderungen in der Programmstruktur durchgeführt werden...

Gruß
 
Zurück
Oben