S7-1517T, Problem mit Velocity Override, Schleppfehler

Aljonator

Level-1
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo und einen schönen guten Tag :)

Ich habe aktuelle eine Applikation, bei der ich mehrere Hydraulikzylinder synchron verfahren muss.
Die Zylinder sollen einen Fahrrechen bewegen, über den sie dadurch auch mechanisch gekoppelt sind.

Ich nutze TIA-Portal V15.0, eine CPU S7-1517T 3PN/DP und die dazugehörigen Technologieobjekte.
Ganz kurz vorab, ich hänge zur Zeit noch nicht an der Anlage, sondern habe lediglich die CPU hier und alle Achsen stehen auf simuliertem Betrieb.

Ich habe eine virtuelle Achse als Leitachse angelegt und bringe die realen Fahrachsen mit dieser in Gleichlauf.
Soweit so gut, das funktioniert auch schon und die Achsen fahren der Leitachse hinterher.

Ich hab jedoch eine Schleppfehlererkennung eingebaut, die die Geschwindigkeit der Leitachse verringern soll, damit die hinterherhängende Achse die Möglichkeit hat aufzuholen.
So mein Gedankengang. Hierzu möchte ich den Parameter TO.Velocity.Override nutzen und darüber der Leitachse eine langsamere Geschwindigkeit zuweisen.

An diesem Punk hänge ich nun.

Reffereziere ich die Achsen jetzt nämlich so, dass ein Schleppfehler vorliegt, dann:

1. Die Leitachse fährt ungestört mit der ursprünglichen Geschwindigkeit am "MC_Move_Asolute", durch den ich den Fahrauftrag erteile, weiter.
2. Starte ich den Fahrauftrag nun währenddessen anderweitig und mit verringerter Geschwindigkeit neu, dachte ich, dass die Folgeachsen dadurch aufholen würden / könnten.
Dies passiert aber auch nicht.

Hat evtl. jemand eine Idee, wie ich das lösen kann, oder wo ggf. mein Fehler liegt?
Kann es sein, dass das im simulierten Betrieb nicht funktioniert?

Vielen Dank und herzliche Grüße
Aljonator
 
Reffereziere ich die Achsen jetzt nämlich so, dass ein Schleppfehler vorliegt, dann:

Wie meinst du das?

Ohne jetzt die absolute Ahnung davon zu haben (Es ist schon rel. lange her, dass ich Achsen im Gleichlsuf hatte), dann meine ich so wie sie referenziert sind, laufen sie dann synchron.
Wenn sie das nicht tun (Mechanik klemmt), dann sollte eine Fehler mit Stop erfolgen.

Ich hatte mal einen Ache, die sollte sich aufsynchronisieren, da habe ich die Kurvenscheibenfunktion genutzt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ralle,

vielen Dank schonmal für deine Antwort.

Wie meinst du das?

Ohne jetzt die absolute Ahnung davon zu haben (Es ist schon rel. lange her, dass ich Achsen im Gleichlsuf hatte), dann meine ich so wie sie referenziert sind, laufen sie dann synchron.
Wenn sie das nicht tun (Mechanik klemmt), dann sollte eine Fehler mit Stop erfolgen.

Ich hab die Achsen referenziert und die virtuelle Leitachse auf eine andere Position referenziert als die Folgeachsen und dadurch von Anfang an einen Versatz erzeugt.
Habe mittlerweile jedoch auch festgestellt, dass sie so wie sie referenziert sind, synchron laufen. Gibt es da beim Referenzieren schon Positionsversatz, stört das offensichtlich nicht.
Erst, wenn sie nach dem Referenzieren während dem Fahren auseinander laufen, wird ein Fehler erkannt.

Ich hatte mal einen Ache, die sollte sich aufsynchronisieren, da habe ich die Kurvenscheibenfunktion genutzt.

Ich nutze auch die Kurvenscheibenfunktion. Ich habe eine Hub- und eine Fahrachse, die Hubachse ist die Master-Achse und die Fahrachse die Folgeachse. Das funktioneirt soweit auch.
Sollten, Hub und Fahrachse beim Start auseinander stehen, wird die Fahrachse auch erst zur Hubachse entsprechend der Kurvenscheibe aufsynchronisiert.

Zum Problem mit der Verringerung der Geschwindigkeit der Leitachse, habe ich in der Zwischenzeit meinen Fehler gefunden, ich hatte die "Override.Velocity" unglücklicher Weise durch einen Tippfehler an anderer Stelle nochmals beschrieben...:s15: Also ist Problem 1 schonmal beseitigt.


Was ich aber immer noch nicht verstehe ist Folgendes:

Ich starte einen Fahrzyklus, dieser startet mit dem Heben der Hubachse.
Dadurch startet die virtuelle Leitachse (Hub) und die sich in Gleichlauf mit dieser befindenden Hubachsen sollen ihr nachfahren. Funktioniert soweit ja auch.
Wenn ich mir aber während einem Fahrzyklus den Schleppfehler direkt am Technologieobjekt einer Hubachse betrachte, dann geht der ständig auf +/- 4,5mm.
Ich habe den Schwellwert zum Reduzieren der Leitachsengeschwindigkeit auf 10mm gesetzt und somit findet keine Reduzierung der Leitachsengeschwindigkeit statt.
Diese fährt mit 50mm/s. Ich hätte nun erwartet, dass die entsprechende hinterherhängende Hubachse ihre Geschwindigkeit erhöht, um die 4,5mm Differenz auszugleichen.

Liege ich da falsch, oder liegt das einfach daran, dass ich im Moment im simulierten Betrieb arbeite und ja sowieso alle Geschwindigkeits- und Positionwerte nur berechnet werden?


Herzliche Grüße
Aljonator
 
Wie sieht denn die Mechanik und Hydraulik konkret aus?
Gibt es MessSysteme, um die IstPosition bzw. die Schieflage des Fahrrechens zu melden?
Wie werden die HydraulikZylinder gesteuert? Unabhängig von einander? Separate Pumpen? ProportionalVentile?
Wären nicht ElektroZylinder geeigneter?
Was hat denn VelocityOverride mit SchleppFehler zu tun?
Simulation ist schön und gut, aber wie soll das gehen, wenn man nicht weiss, was genau man wie simulieren soll?
 
Wie sieht denn die Mechanik und Hydraulik konkret aus?
Gibt es MessSysteme, um die IstPosition bzw. die Schieflage des Fahrrechens zu melden?
Wie werden die HydraulikZylinder gesteuert? Unabhängig von einander? Separate Pumpen? ProportionalVentile?
Wären nicht ElektroZylinder geeigneter?
Was hat denn VelocityOverride mit SchleppFehler zu tun?
Simulation ist schön und gut, aber wie soll das gehen, wenn man nicht weiss, was genau man wie simulieren soll?

Das kann ich nicht genau sagen, da ich nur die Software entwickle.
Es wird so sein, dass es ein großes entsprechend ausgelegtes Hydrualikaggregat gibt. Jeder Zylinder wird über ein entsprechendes Proportionalventil unabhängig angesteuert.
Daher auch die so wichtige Schleppfehlerüberwachung.
Die Positionen der einzelnen Zylinder werden über SSi-Absolutwertgeber erfasst.

Velocity.Override hat damit erstmal nichts zu tun, aber wie ich oben geschrieben habe, soll damit die Soll-Geschwindigkeit der virtuellen Leitachse verringert werden. Was ja auch soweit funktioniert.
Ich wüsste nur gerne, ob sich das Reduzieren dieser Geschwindigkeit auch auf die Slave-Achsen auswirkt oder ob diese mit ihrer Geschwindigkeit weiterlaufen,
bzw. versuchen durch Erhöhen/Reduzieren ihrer Geschwindigkeit versuchen den Schleppfehler auszugleichen, um zur Leitachse aufzuholen.

Das sind ja reine Funktionalitäten der Technologieobjekte und sollten meiner Meinung nach mit der später vorhandenen Hydraulik und Hardware doch erstmal nichts zu tun haben, oder?!
Klar, dass ein Verlangsamen oder Beschleunigen der Achsen dann später die Ansteuerung der Ventile meint.
Die Simulation der Achsen macht momentan ja aber die CPU ja selbsttätig.
Dazu gibt es ein Häkchen, das man bei der Konfig der Technologieobjekte setzen kann, extra zum Testen ohne vorhandene Hardware.

Herzliche Grüße
Aljonator
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das kann ich nicht genau sagen, da ich nur die Software entwickle.
Sorry, aber das klingt für mich sehr befremdlich. :confused:

Das sind ja reine Funktionalitäten der Technologieobjekte und sollten meiner Meinung nach mit der später vorhandenen Hydraulik und Hardware doch erstmal nichts zu tun haben, oder?!
Es wäre aber schon interessant, frühzeitig zu wissen, für welche später vorhandene Hydraulik und Hardware man die Software entwickeln und simulieren soll.

Ich wüsste nur gerne, ob sich das Reduzieren dieser Geschwindigkeit auch auf die Slave-Achsen auswirkt oder ob diese mit ihrer Geschwindigkeit weiterlaufen, bzw. versuchen durch Erhöhen/Reduzieren ihrer Geschwindigkeit versuchen den Schleppfehler auszugleichen, um zur Leitachse aufzuholen.
Das sollte wohl funktionieren.

Gruss, Heinileini
 
Zuletzt bearbeitet:
Sorry, aber das klingt für mich sehr befremdlich. :confused:

Vielleicht habe ich mich etwas unglücklich ausgedrückt. Ich meinte nur, dass ich über die Details der Hydraulik wie Druck, Durchflussleistung, usw. nicht genau Bescheid weiß.
Was ich wohl noch in Erfahrung bringen muss, wäre die Geschwindigkeit, mit der der Zylinder bei 100% Ansteuerung des Proportionalventils verfahren würde.
Damit ich die Parameter des Technologieobjekts korrekt einstellen kann.
Der gesamte restliche Aufbau ist mir bekannt und klar. Die Art Ansteuerung der Zylinder erfolgt wie erwähnt über Proportionaleventile.

Es wäre aber schon interessant, frühzeitig zu wissen, für welche später vorhandene Hydraulik und Hardware man die Software entwickeln und simulieren soll.

Was wäre denn da für mich zur Softwareerstellung momentan noch interessant / wichtig?
Sorry für die vielleicht unbeholfenen Fragen, ist jedoch mein erstes MotionControl Projekt dieser Art.


Ich hatte gestern die Möglichkeit mit dem Siemens-Support zu sprechen.

Daher ist meine zweite Problemfrage auch geklärt.
Betreibt man die Achsen im Simulationsbetrieb, wird der Istwert der Achse, der sich ja normal aus dem Absolutwertgeber ergibt einfach mit dem Sollwert über ein PT1-Glied nachgeführt.
Dadurch ergibt sich mit steigender Geschwindigkeit der Achse ein ebenfalls steigender und nicht regulierbarer Schleppfehler.
Es wird daher empfohlen die Schleppfehlerüberwachung im Simulationsbetrieb zu deaktivieren.


Herzliche Grüße
Aljonator
 
Zurück
Oben