Position latchen - Motion Control

twincatter

Level-1
Beiträge
137
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo SPSler,

ich möchte Euch gerne um Rat fragen.

Ein Prüfautomaten zur Prüfung von Induktivsensoren soll Schaltabstände/Hysteresen von Sensoren ausmessen.
Im Prinzip wird eine Prüfscheibe (auf einer Linearachse) auf einen zu prüfenden Sensor zugefahren oder vom Sensor weggefahren.

Wenn der Sensor schaltet, soll die aktuelle Prüfscheibenposition (Achsposition) gelatcht werden. Die geforderte Genauigkeit liegt im Mikrometerbereich.

In früheren Anlagen (ohne Beckhoff) wurde hierzu die Istposition der Linearachse auf eine Zählerkarte gegeben und die Position beim Schalten des Sensors gelatcht.

Wie könnte eine Lösung mit TwinCAT aussehen?

Variante 1:
Einlesen des Schaltsignals über eine I/O-Klemme, abfragen des Eingangszustands in der SPS und bei Erkennung eines Schaltzustands die Istposition auslesen
--> ich nehme an, daß so keine hohe Genauigkeit realisiert werden kann (Zykluszeit SPS)

Variante 2:
Habe einen Artikel über XFC gelesen. Zitat: "DIE XFC-Bibliothek ermöglicht die hochgenaue Erfassung von Achspositionen..."
--> hat jemand damit bereits Erfahrungen gemacht?

Variante 3:
Verwendung einer EL5101 (Inkremental-Encoder-Interface), Latch-Eingang übernimmt den Zählerstand mit steigender Flanke.

Variante X:
?

Bin für jeden Input dankbar,

Grüße, Michael
 
Hi!

Ist es möglich den Antrieb in seiner feinsten Schrittauflösung in jedem Zyklus einen Schritt "weiterzutakten" solange der Sensor "0" ist?
Sobald nach dem Takt der Sensor "1" ist wird nicht mehr "weitergetaktet" und der aktuelle Positionswert kann "in ruhe" übernommen werden.

Kommt halt auf die geforderte Geschwindigkeit und deine Achsauflösung an...


Gruß,

Ottmar
 
Guten Morgen Ottmar,

die schrittweise Bewegung würde einen viel zu hohen Zeitbedarf beanspruchen.
Es handelt sich um einen Fertigungsautomaten, deshalb spielt Zeit (bzw. gesparte Zeit) eine große Rolle.
Der Schaltabstand soll "on the fly" ausgemessen werden, sozusagen "im Vorbeifahren".

Einen schönen Tag, Michael
 
Hi,

ich kenn mich mit Beckhoff nicht so aus. Haben die denn keinen Touch Probe direkt an der Achse?

z.B. bei Lenze hat jeder Regler einen Touch Probe Eingang an der Achse, damit wird direkt im Antrieb der Positionswert (us) gelacht und die Übertragungszeit dieser Information zur Steuerung ist dann eher nebensächlich.

Oder schnelle Eingangsscheiben. Hier bekommt man auch einen Zeitstempel zu dem aktuellen Systemtakt in Mircrosekunden(us). Diesen kannst Du ebenfalls in der Steuerung verwenden, um Dir eine Position genauer zu berechnen oder gleich mit den Zeiten zu arbeiten ...

Gruß

KvT
 
Hallo Ihr,

eine Eingangskarte mit geringer Filterzeit bringt nur was, wenn die Zyklus-Zeit entsprechend kurz ist. Das wiederum funktioniert dann auch nur, solange die Geschwindigkeit recht klein bleibt.

Aber was soll die Trickserei?

Wenn ein AX5000 im Einsatz ist – siehe hier
Wenn ein EL5101 (Inkremental-Encoder-Interface) mit Latch- Eingang bereits da ist, dann diesen...

LG Cassandra


PS: bei Absoluten Genauigkeiten von wenigen µm, sind auch erhöhte Anforderungen an die Mechanik vom Antrieb und der Führung gestellt...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schreib doch mal was zur verwendeten Hardware und Software. Wir können keine Gedanken lesen!!!!!!!!
Ich vermute mal ihr verwendet TwinCAT NC (mind. PTP)?

Es gibt in der MC2.lib den TouchProbe-FB: Beckhoff Information System - German

Falls AX5000:
Siehe Hinweis von Cassandra. Der Antrieb kann Positionen latchen, die dann in der NC weiterverarbeitet werden.

Falls kein AX5000:
1. Encoder-Klemme EL5xxx (siehe Doku TouchProbe oben).
2. Digital-Eingangsklemme mit TimeStamp + XFC-Bibliothek (kostenpflichtig?):
Beckhoff Information System - German
3. "Schnelle" Digitalklemme in Verbindung mit einer schnellen Task und dann einfach aufzeichnen der Position beim Schalten des Eingangs. Ohne die schnelle Task wird das Digitalsignal nur mit +/- der Task-Zykluszeit aufgezeichnet. Da nutzt einem nen Digitaleingang mit 10µs nichts, wenn die Task nur mit 2 ms Zykluszeit abarbeitet ;)

Letztere ist die einfachste und günstigste, dafür aber auch die ungenaueste Möglichkeit.
 
Hallo zusammen,

Ich befinde mich noch in der Konzeptphase, kann also keine konkrete Hardware aufführen.
Ich möcht zunächst eruieren welche prinzipielle Möglichkeiten es für die Aufgabenstellung gibt (deshalb die Frage "Wie könnte eine Lösung mit TwinCAT aussehen?").

Wir werden sicher TwinCAT NC PTP einsetzen, keine Beckhoff-Steuerung (Ich stell mit einen Panel-PC vor auf dem ein kleines dotNET-Programm mit Datenbankzugriff läuft).

Wegen der Sache mit dem "Gedanken lesen"... Gerne stelle ich mehr Informationen zur Verfügung.

Es sollen mehrere Sensoren (z.B.4) gleichzeitig geprüft werden können, d.h. mehrere Schaltsignale sollen unabhängig die Achsposition latchen können.
Schön wäre eine kaskadierbare Lösung.

Ich werde mir jetzt die bisher gemachten Vorschläge anschauen.

Danke, Grüße vom Bodensee und morgen einen schönen Feiertag, Michael
 
Wir werden sicher TwinCAT NC PTP einsetzen, keine Beckhoff-Steuerung [...]
Ein Widerspruch in sich :ROFLMAO:
PC + TwinCAT = Beckhoff-Steuerung
Du meinst sicherlich "Beckhoff-PC".
Es sollen mehrere Sensoren (z.B.4) gleichzeitig geprüft werden können, d.h. mehrere Schaltsignale sollen unabhängig die Achsposition latchen können.
Schön wäre eine kaskadierbare Lösung.
Vom MC_TouchProbe kannst du praktisch beliebig viele Instanzen abarbeiten.
Kommt nun drauf an, wieviele Positionen du abspeichern kannst. Das Latchen mit dem AX5000 kann beliebig oft wiederholt werde, aber ich fürchte man kann die Positionen nicht im Antrieb zwischenspeichern. Der Wert wird im S-0-0130 gespeichert und muss rechtzeitig abgeholt werden, andernfalls überschreibt ein neues Latch-Ereignis den vorigen Wert.
Ähnliches bei den TimeStamp-Eingängen:
EL1252: BECKHOFF New Automation Technology
EL1258: BECKHOFF New Automation Technology
Hier wird pro Eingangsflanke der Zeitstempel mit gespeichert und muss vor dem nächsten Ereignis ausgewertet werden (z.B. durch die XFC-Lib).
Fazit: Die Steuerung muss schnell genug arbeiten. Je leistungsfähiger der PC, umso kürzere Zykluszeiten, umso schnellere Latch-Abfolgen sind möglich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo trinitaucher,

habe mich wirklich falsch ausgedrückt.
Mit Beckhoff-Steuerung meinte ich Servocontroller/Schrittmotorklemme.
--> Wir werden wahrscheinlich einen Nicht-Beckhoff-Servocontroller einsetzen.

Danke nochmals, Michael
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo trinitaucher,

mir ist noch nicht klar wie ich Variante 3 verstehen soll.
Was meinst Du mit "schnelle Task"? Meinst Du einen extra Task in dem lediglich die Latcheingänge abgefragt werden (mit minimaler Zykluszeit, apropos was ist eigentlich die geringste Zykluszeit?) und einen Task der die Maschine steuert (Zykluszeit z.B. 10ms)?

Danke und ein schönes Wochenende, Michael
 
Zurück
Oben