Zeitgenaues Positionsabfragen

Stuffel

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

Meine Hardware:
  • EK1100 EtherCat-Koppler
  • EL1252 2-Kanal-Digital-Eingangsklemme mit Timestamp
  • Rexroth IndraDrive Cs HCS01


Ich muss für eine Projektarbeit eine Positionsabfrage von einem Servoantrieb machen.
Und zwar brauche ich die Position bei der eine Lichtschranke schaltet.

Die Antriebssteuerung läuft soweit. Aber durch die Zykluszeit weicht die abgefragte Position sehr von der tatsächlichen Position ab.
Meine Idee wäre es gewesen, mit der 1252 das Signal der Lichtschranke zu Latchen um dann irgendwie Zeitgenau über EtherCAT die Position abzufragen.

Nur hapert es irgendwie bei der Umsetzung und ich komme damit nicht so richtig weiter, da ich mit sowas nicht so die Erfahrung habe.

Vielleicht könnt ihr mir ja helfen.
 
Hallo,
ich hatte mal bei einer Applikation etwas Ähnliches vor - da ging es um eine Art Höhenmessung eines Bauteils. Bei dem von mir eingesetzten Bosch-Rexroth-Regler (den Typ weiß ich nicht mehr) gab es einen Trigger-Eingang, der die Istposition des Reglers intern wegschreiben konnte.
Ich muss dir jetzt aber sagen, dass der Regler, genau wioe die SPS , eine Zykluszeit hat. Innerhalb des in der Zykluszeit zurückgelegten Weges werden auf alle Fälle deine Psoitionsschwankungen liegen - egal wie du das machst. Das Problem stellt sich bei deinem aktuellen Ansatz noch mehr, das du dabei noch zusätzlich die Bus-Zykluszeit dazu bekommst.
Wie schnell verfährt denn deine Achse ... und wie groß sind deine Positions-Ungenauigkeiten bei der Messwert-Erfassung ?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Meine Achse verfährt mit ca 1273 °/s und dabei gab's Ungenauigkeiten von ± 12°.
Bei minimaler Zykluszeit von ich glaube 250
µs lässt sich die Ungenauigkeit auf ± 1° verringern.

Es wurden vor Jahren mal "händische" Test's mit dem gleichen Testaufbau gemacht und da gab's Ungenauigkeiten von
± 0,002°.
Ich muss allerdings sehr sehr viele Test's machen weswegen ich das ganze Prozedere gern automatisieren würde.
 
Ich bin mir da hinsichtlich der genauen Werte nicht mehr so sicher - ich habe aber folgendes im Hinterkopf :
Die Zykluszeit des Reglers war 0,5 ms und die vom Bus (bei mir allerdings ProfiNet) 2 ms - ich denke, dass das bei EtherCat ähnlich sein wird ... iund das erklärt vermutlich auch schon deinen "Messfehler" ...

Wäre die von mir beschriebene Vorgehensweise (mit dem Trigger direkt auf den Regler) eine Option für dich ?
Was genau machst du da ?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei minimaler Zykluszeit von ich glaube 250 µs lässt sich die Ungenauigkeit auf ± 1° verringern.

Es wurden vor Jahren mal "händische" Test's mit dem gleichen Testaufbau gemacht und da gab's Ungenauigkeiten von
± 0,002°.
:confused:
Wie konnte der Kollege eine händische ReaktionsZeit von ~500(?) ns schaffen? ;)

Will sagen, wenn es "händisch" sooo viel genauer möglich sein soll, welche HilfsMittel/MessVerfahren waren denn daran beteiligt und könnte man auf diese nicht auch bei einer SPS-Lösung zurückgreifen? War das wirklich mit dem gleichen TestAufbau ... ich kann's irgendwie nicht glauben.

1273 °/s sind 1,273 °/ms und ±12° entsprechen dann ca. ±9,5 ms.
Springt der Wert in Stufen von ca. 19 ms bzw. von ca. 24° um den Mittelwert? Wie gross ist der Mittelwert?

Wie viele Positionen kannst Du pro Umdrehung erfassen? Könnte mir vorstellen, dass bei einer RundAchse die Erfassung hoher Drehzahlen (Spindel) als wichtiger eingestuft wird, als eine hohe PositionsAuflösung.
 
Schau mal in die EtherCAT-Bilbiothek und dort unter Distributed Clocks. Da gibt es u.a. so was wie "ConvertDcTimeToPos".
Das sagt dir wo die Achse zum Zeitpunkt xxx (dem Latch der EL1252) war.
Letztendlich ist es die NC die dir das dann mitteilt (bzw. der Baustein). Alle Bosch-Rexroth Achsen die ich kenne fahren in TwinCAT aber über die NC.

Ach ja... und man sollte natürlich sich mit Distributed Clocks etwas auskennen. Da gibt es noch ein paar Punkte die je nach Anforderung notwendig sind. Ich empfehle mal das Studium der Dokus dazu (EtherCAT-Doku).

Ist eigentlich Standard-Handwerkszeug... Wenn es dann um zeitgenaue Ausgänge geht (z.B. exakter Trigger einer Kamera.....) dann wird es interessanter bzw. die XFC-Bibliothek nutzen. Aber das ist ja nicht dein Thema.

Guga
 
Zurück
Oben