URScript
Die von der URCap esaDrive bereitgestellten Programmbefehle (siehe Kapitel Programmbefehle) können auch direkt als URScript-Anweisungen genutzt werden. Das ist nützlich, wenn du Logik in URScript abbilden oder Befehle dynamisch parametrisieren willst.
Nachfolgend werden die einzelnen URScript-Anweisungen einzeln beschrieben.
esaDrive_moveAbsolute
Fährt den angegebenen Antrieb auf eine absolute Zielposition.
Signatur
esaDrive_moveAbsolute(<driveName>, <pos_vel_acc_dec>, <seq>, <modDir>)
Parameter
| Name | Typ | Bedeutung |
|---|---|---|
driveName |
string |
Name des Antriebs, der den Fahrbefehl ausfĂĽhren soll. |
pos |
number |
Zielposition. Linearachsen: Einheit m, Drehachsen: Einheit Grad. |
vel |
number |
Geschwindigkeit. Linearachsen: m/s, Drehachsen: Grad/s. |
acc |
number |
Beschleunigung. Linearachsen: m/s², Drehachsen: Grad/s². |
dec |
number |
Verzögerung. Linearachsen: m/s², Drehachsen: Grad/s². |
seq |
int[1] |
Ablaufverhalten (Array mit genau einem Element): [0] = warten bis Ziel erreicht, [1] = simultan fortfahren. |
modDir |
int[1] |
Modulare Fahrtrichtung (Array mit genau einem Element, nur bei aktiviertem Modulbetrieb): [0] = kĂĽrzester Weg, [1] = positive Richtung, [2] = negative Richtung. |
Hinweis: In der URScript-Anweisung werden
pos,vel,accunddeczusammen als Arraypos_vel_acc_dec = [pos, vel, acc, dec]ĂĽbergeben.
Beispiele
Linearachse:
Fährt den Linear-Antrieb „meinAntrieb“ auf 350 mm mit 100 mm/s, beschleunigt mit 400 mm/s² und verzögert mit 200 mm/s². Das Programm wartet, bis die Position erreicht ist.
# 350 mm = 0.35 m, 100 mm/s = 0.10 m/s, 400 mm/s^2 = 0.40 m/s^2, 200 mm/s^2 = 0.20 m/s^2
esaDrive_moveAbsolute("meinAntrieb", [0.35, 0.10, 0.40, 0.20], [0], [0])
Drehachse:
Fährt eine Drehachse auf 90° mit 30°/s, 100°/s² Beschleunigung und 100°/s² Verzögerung. Das Programm läuft simultan weiter.
esaDrive_moveAbsolute("meinAntrieb", [90.0, 30.0, 100.0, 100.0], [1], [0])
esaDrive_getPosition
Liest die Ist-Position des Antriebs und gibt den Wert zurĂĽck.
Signatur
position = esaDrive_getPosition(<driveName>)
Parameter
| Name | Typ | Bedeutung |
|---|---|---|
driveName |
string |
Name des Antriebs, dessen Ist-Position gelesen werden soll. |
Beispiel
position = esaDrive_getPosition("meinAntrieb")
Hinweise
- RĂĽckgabeeinheit passend zur Achse: Linearachsen m, Drehachsen Grad.
esaDrive_homing
FĂĽhrt eine Referenzfahrt (Homing) fĂĽr den angegebenen Antrieb aus.
Signatur
esaDrive_homing(<driveName>, <conditions>, <askUser>)
Parameter
| Name | Typ | Bedeutung |
|---|---|---|
driveName |
string |
Name des Antriebs, der referenziert werden soll. |
conditions |
int |
Referenzierlogik: 0 = immer neu referenzieren, 1 = nur wenn nötig (z. B. bei nicht referenziertem Antrieb). |
askUser |
int |
Verhalten bei Interaktion: 0 = ohne Nachfrage ausfĂĽhren, 1 = Benutzer fragen, bevor die Referenzfahrt gestartet wird. |
Beispiele
Immer neu referenzieren, ohne Nachfrage
esaDrive_homing("meinAntrieb", 0, 0)
Nur bei Bedarf, mit Benutzerabfrage
esaDrive_homing("meinAntrieb", 1, 1)