Regelung für synchrones Verfahren von Zylindern

Mike.Owen

Level-2
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
Ich muss eine Regelung für das Verfahren von zwei getrennte Kühlbetten erstellen.
Die Kühlbetten sollen sich synchron bewegen (also zeitgleich heben/senken oder vor/zurück); Kühlbett 1 gibt dabei die Richtung vor
Kühlbett 1 gibt Soll-Position und Soll-Geschwindigkeit vor; das zweite Kühlbett soll folgen.
Die Regelung sollte Master/Slave sein, d.h: Kühlbett 1 gibt einen Sollwert vor und Kühlbett 2 muss diesen Sollwert erreichen. Ziel ist dass beide Kühlbetten zeitgleich eine genaue Position erreichen. (Geschwindigeitsregelung über Position)!!!
Die Hydraulikanlagen beider Kühlbetten sind getrennt (beide neu aber verschiedene Hersteller)

Ich habe folgende Ausgangslage:

2 x S7 Steuerung (für jedes Kühlbett eine S7-400)
Datenübertragung zwischen den CPU’s soll über Profinet erfolgen
Jedes Kühlbett verfügt über 2 Zylinder (1xHub; 1XTranslation)
Angesteuert werden die Aggregate über Proportional-Ventile
Zur Positionserfassung werden MTS Positionssensoren (Temposonics) eingesetzt.
Die Soll- und Istwerte werden für jedes Kühlbett erfasst und sind in den jeweiligen CPU’s vorhanden

Momentan arbeiten beide Kühlbetten noch separat voneinander, in Zukunft sollen sie aber als ein „grosses Kühlbett“ zusammenarbeiten (Synchron)
Die Hubstrecke der Kühlbetten beträgt etwa 300mm, die Translationsstrecke kann zwischen 600mm und 1800mm betragen.

Hat jemand eine Idee wie man eine solche Regelung programmiert? Welche Bausteine solle man verwenden (PID-Regler) und vorauf muss man achten damit die Regelung präzise funktioniert..
Ich wäre für jeden Tipp oder jedes Beispiel sehr dankbar.

Vielen Dank im Voraus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich muss leider auf zwei verschiedene Steuerungen zurückgreifen weil es sich um eine ältere Anlage handelt (die twas modernisiert worden ist) und um eine ganz neue Anlage.
Anfangs war geplant dass beide Kühlbetten nur separat verfahren werden. Erst letzte Woche wurde entschieden einen Modus für's synchrone Verfahren zu programmieren.
Natürlich wäre es einfacher wenn das Ganze in nur einer Steuerung laufen würde.
Ich will das Programm eigentlich recht einfach halten. Meine Frage ist, welche Soll- Istwerte müssen auf welche Weise miteinander verglichen werden um die Geschwindigkeiten anzupassen.
Es ist wichtig dass die Differenz zwischen beiden Kühlbetten so gering wie möglich bleiben muss da sons die Produkte auf den Kühlbetten umfallen oder sich verschieben.

MfG, Mike
 
Fährt die Master Anlage den Sollwert als Rampe? Oder wird da einfach der SW vorgegeben und die Teile fahren halt so schnell die Hydraulik das hergibt.

Wenn die Master schon nach einer Rampe fährt, müsstest du den SW nur als SW für den Slave vorgeben.

Wenn der Master keine Rampenfuntion hat, dann würde ich das einbauen und dann siehe oben.

Rampe dann entsprechend langsam dass auch der Slave mitkommt.

Die Regelung SW/IW sollte ja schon in beiden Steuerungen vorhanden sein.
 
Ich würde den Sollwert nicht als Rampe vorgeben, sondern über ein PT2-Glied, bei oszillierenden Bewegungen eventuell auch über eine Sinusfunktion. Dadurch sind Bewegungen völlig stoßfrei möglich. Sind oszillierende Bewegungen gefragt? Oder werden nur verschiedene Positionen angefahren? Bei oszillierenden Bewegungen muss dann bei der Richtungsumkehr eine eventuell vorhandene Totzone der Proportionalventile ausgeblendet werden.

Eine Regelung über einen P- oder PI-Regler sollte möglich sein. Es gibt aber hierfür auch einen Algorithmus mit einer Wurzelfunktion. Den findest du auch hier irgendwo im Forum. Ich hatte bei ähnlichen, hydraulischen Achsteuerungen mit beiden Varianten die selben Ergebnisse.

Im Hinblick darauf, dass die beiden Kühlbetten starr verbunden werden, sehe ich allerdings schwarz.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab a bissel Erfahrung mit der Gleichlaufregelung starr verbundener Achsen…
Die Abweichungen bei Master/Slave sind leider immer ziemlich hoch. Bessere Ergebnisse erzielst du, wenn du eine sogenannte „virtuelle Achse“ programmierst und dann die beiden realen Achsen als deren Slave laufen lässt. D.h., du baust in der Steuerung deine gewünschten Fahrkurven und lässt damit einen Wegwert so laufen, wie es die reale Mechanik dann auch umsetzen kann. Also Geschwindigkeiten und Beschleunigungen müssen passen (sehr wichtig!). Dann programmierst du für deine hydraulischen Achsen zwei identische Lageregler, die den Wegwert der virtuellen Achse als Sollwert erhalten. Die beiden Achsen folgen nun den Fahrkurven der virtuellen Achse mit identischem Regelverhalten und sehr ähnlichen Abweichungen zum Master, dadurch sind die Abweichungen zwischen den realen Achsen untereinander sehr viel geringer (das ist der Trick!).

Für den laufenden Betrieb lässt sich der Gleichlauf durch einfache Toleranzfenster und ggf kleine Schlupfkorrekturen gut überwachen. Kritisch sind allerdings alle Vorgänge, die mit Neustart, ggf. Austausch mechanischer Komponenten, Einspielen von Software usw. zu tun haben, da muss man sehr sorgfältige Mechanismen programmieren, die da an alles „denken“ und das abfangen.

Dass du zwei Steuerungen hast, ist nicht schön aber auch nicht wirklich dramatisch. Du programmierst die virtuelle Achse in einer der beiden und die Lageregler dann natürlich jeweils in der zugehörigen Achs-SPS. Du musst nur darauf achten, dass das Zeitverhalten bei der Sollwertübergabe wirklich identisch ist. (Schreiber dran und überprüfen!).
 
Zuletzt bearbeitet:
Zurück
Oben