TIA Antriebsregelung mit Kamerasystem

daloeff

Level-1
Beiträge
59
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich steh gerade ein wenig auf dem Schlauch und würde mal den Input von Euch benötigen :)

Es geht darum, ein Werkstoff wird von zwei Walzen (oben und unten, Werkstoff ist in der Mitte eingeklemmt) gezogen. Dieser kann vor den Walzen mit einem Antrieb nach links und rechts bewegt werden. Der Werkstoff hat auf der rechten Seite keine gerade Kante, diese kann nach beiden Richtungen verlaufen (z.B.: eine langgezogene S-Form). Jedoch soll der Werkstoff immer mit der rechten Kante richtig auf eine fixe Position ausgerichtet werden, bevor dieser zu den Walzen kommt.
Die Ausrichtung wird mittels Industriekamera gemessen und der Abstand an die SPS übermittelt. Mit diesen Messwerten soll der Antrieb angesteuert werden, der den Werkstoff je nach Position richtig ausrichtet.

Ich hab eine kleine Skizze angehängt, damit man sich ein wenig ein Bild machen kann.
2020-03-31 17_17_02-Start.jpg
Also meine Grundidee ist, den gemessenen Abstand in einen PID Regler schicken, das Stellsignal skalieren und dem Antrieb übergeben. Dieser Antrieb fungiert hier als reine Drehzahlachse.
Der Setpoint vom Regler wäre ein fixer Wert, der den gewünschten Abstand entspricht. Somit sollte der Regler die Abweichung immer ausgleichen und den Motor mittels Drehzahl so lange ansteuern, bis das Werkstück im richtigen Abstand steht.

Das Knifflige dabei, die Walzen "ziehen" das Werkstück mit einer variablen aber hohen Geschwindigkeit durch und dabei muss die Ausrichtung schnell genug und vorallem genau sein +-1mm.
Das ganze ist relativ klein gehalten, der Antrieb muss das Werkstück maximal +-30mm verschieben.

Geschwindigkeiten:
Walzenantriebe: variabel 7,5 - 50mm/s
Ausricht Antrieb: max 400mm/s

Da hier die Zeit ein wichtiger Faktor ist, einmal ein paar details zu den Zykluszeiten:
Abtastung Kamera: 8-12ms
Abtastung Regelbaustein SPS: 2ms
Profinetzykluszeit zum Antrieb: 2ms
CPU Siemens 1518F

Zuerst habe ich das Stellsignal vom Regler linear skaliert, jedoch hatte ich hier das Problem, dass der Antrieb entweder genau oder schnell war, jedoch nicht beides. Die lineare skalierung habe ich gegen eine kubische funktion getauscht. Diese Regelung läuft schon besser, jedoch läuft das ganze nur bei einer langsamen Geschwindigkeit.
Habe einen selbstgeschriebenen PID Regler und ebenfalls den Siemens PID_Compact versucht.
Der Siemens Regler springt nach dem Autotune extrem und ist sehr unruhig.

Wie würdet Ihr diese Aufgabe angehen?
Wie könnte ich den Regler etwas "sanfter" einstellen?
Vielleicht anstatt auf Drehzahl regeln, direkt positionieren (Positionsdifferenz errechnen und den Antrieb positionieren)?
Von Seiten der Zykluszeiten bin ich ja insgesammt recht schnell unterwegs.

Bin dankbar für jede Idee!
 
Solche Sachen regeln wir nicht mit einem PID-Regler sondern übergeben dem FU die absolut anzufahrende Position.
Mit SEW kommt man nach meiner Erfahrung am weitesten, da die auch die Hardware aufeinander abstimmen und die Programmierung vor Ort übernehmen, falls man es nicht machen will oder kann.

Da hier die Differenz, Geschwindigkeit der Verstellung, etc. bekannt ist, ist eine Positionierung in meinen Augen sinnvoller.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Viel schneller als die Kamera braucht Du da gar nicht Deinen Regler rechnen.
Da Deine SPS bereits Motion Funktionalität mitbringt, bietet sich ja an alles dort zu rechnen.
Wie weit ist die Kamera und der Ausrichtantrieb von der Klemmstelle weg?
 
Zuletzt bearbeitet:
Servus Zako,

ja die CPU hat Motion Funktionalität und ich weiß noch von den SINAMICS, dass der OB, für die Motion mit ca 16ms aufgerufen wurde und dies laut Siemens genug sei.

Wie würdest du das angehen?
Ich habe hier kein SINAMICS und keinen Umrichter. Es wird hier einen Antrieb von JVL (MIS232 ServoStep Motor, https://de.jvl.dk/1125/mis23-nema23-quickstepmotor_closed-loop-integrated-stepper-motors)
Dieser Unterstützt alle gängigen Betriebsarten (Velocity, Positioning,...)

Jedenfalls werde ich heute noch mal die ganze Sache auf Positionierung umstellen und wie von escride1 beschrieben nur die Absolutposition berechnen und übergeben.
 
Ja 16ms würde hier wohl reichen (deine SIMATIC könntest Du z.B. auch in 0,25ms laufen lassen).
Schau mal nach Kantenregelungen (z.B. bei Eltromat) oder bei Lösungen für Druckmaschinen bei SIEMENS (da gibt es Lösungen im Bereich Registerregelungen, aber das dürfte hier oversized sein). Bei SIEMENS sind in den Anwendungsbeispielen auch Ansprechpartner genannt. Da bekommt man dann auch direkten Kontakt zu einen Branchenexperten, falls Du hier eine passende Applikation findest.
 
Habs jetzt geschaft...

Zur Info:
Mit der Positionierung hat es nicht funktioniert, da die positionsänderung direkt den input beinflusste und das ganze recht kompliziert wurde.

Hab anschließend mit jemanden von Siemens telefoniert, der hat gemeint mein erster Ansatz mit Drehzahlachse und Regler wär schon richtig. Jedoch sollte ich nur einen P-Regler verwenden und es ist wichtig, dass am Motor die Rücklesezeit bzw die Rampen ausgeschaltet oder minimiert werden. Da der Motor meine berechnete sollgeschwindigkeit noch mit rampen verfahren hat, wurde die gesamte Regelung zu träge und konnte nicht mithalten...
Nach beheben dieses Fehlers wars top.

Jetzt läuft es sehr gut, jedoch habe ich noch einige harte zickzack linien im regelkreis. Ich werde versuchen das ganze mit PT1 glieder ein wenig zu glätten.

Auf jeden fall danke für euren input.
 
Zurück
Oben