Python-API
Referenz des Moduls multiaxes_control_motiona, mit dem Sie Linearachsen aus Python fahren.
Erzeugt aus dem Quelltext (Stand 4b182ce6 2025-11-01). Englische Texte stammen aus den Docstrings; die deutschen Erläuterungen beschreiben das Verhalten dieser Version. Einstieg: Erste Schritte.
MVParams
Bewegungsauftrag für eine Achse: Ziel, Dauer und Grenzwerte. Mehrere davon als Liste an move() starten gemeinsam.
Encapsulates movement parameters for a single motor axis.
Konstruktor
MVParams(axis_no: int, pos: float, T: float = -0.5, speed_limit: float | None = None, accel_limit: float | None = None, jerk_limit: float | None = None)
| Parameter | Standard | Bedeutung |
|---|---|---|
axis_no | Pflicht | Achsnummer, beginnend bei 1 (im Konfigurator-Programm: axes["x"].no). |
pos | Pflicht | Zielposition in Ihren Einheiten; mit der Systemdatei aus dem Konfigurator Meter ab Hubanfang (0 … stroke). |
T | -0.5 | Dauer in Sekunden. Negativ (Standard): kürzeste Dauer, die die Grenzwerte einhält. Gleiches T für mehrere Achsen: sie kommen gleichzeitig an. |
speed_limit | None | Höchstgeschwindigkeit je Sekunde; None = globaler Wert (set_global_speed_limit). |
accel_limit | None | Höchstbeschleunigung je s²; None = globaler Wert. |
jerk_limit | None | Höchster Ruck je s³; None = globaler Wert. |
MultiaxesControlMotionA
Die Steuerung aller Achsen. Im Konfigurator-Programm bekommen Sie sie fertig verbunden als api.
Main interface for controlling motors asynchronously.
Konstruktor
MultiaxesControlMotionA(AGProgram: AGProgramType = AGProgramPosControlled, timeout = 1)
Wird von der Laufzeit angelegt; im Programm nicht nötig.
| Parameter | Standard | Bedeutung |
|---|---|---|
AGProgram | AGProgramPosControlled | Steuerprogramm: positionsgeregelte Antriebe (Standard) oder Schrittmotoren. |
timeout | 1 | Wird in dieser Version gespeichert, aber nicht ausgewertet. |
set_client
api.set_client(client: Client)
Verbindet die API mit der laufenden Steuerung (pyactiongraph.Client). Im Konfigurator-Programm schon erledigt.
| Parameter | Standard | Bedeutung |
|---|---|---|
client | Pflicht | – |
set_global_scaling
api.set_global_scaling(val: float | None)
Umrechnung Ihrer Einheiten in Motoreinheiten für alle Achsen: Position, Geschwindigkeit, Beschleunigung und Ruck werden mit dem Faktor multipliziert, auch bei der Referenzfahrt. Ein Achsfaktor (set_axis_scaling) hat Vorrang. None schaltet ab.
Set global scaling for all movements including homing. The position, speed, acceleration, jerk of the motor will be the user provided values multiplied by this value. Per axis scaling factors have higher prios. Set to None to disable
| Parameter | Standard | Bedeutung |
|---|---|---|
val | Pflicht | the scaling coefficient value |
set_axis_scaling
api.set_axis_scaling(axis_no: int, val: float | None)
Wie set_global_scaling, aber für eine Achse; hat Vorrang vor dem globalen Faktor. None schaltet ab.
Set axis scaling for all movements including homing on this axis The position, speed, acceleration, jerk of the motor will be the user provided values multiplied by this value. Global scaling factor has lower prio. Set to None to disable
| Parameter | Standard | Bedeutung |
|---|---|---|
axis_no | Pflicht | The axis number to configure the scaling |
val | Pflicht | the scaling coefficient value |
set_global_speed_limit
api.set_global_speed_limit(value)
Höchstgeschwindigkeit für alle Bewegungen ohne eigenes speed_limit. Standard 10.
| Parameter | Standard | Bedeutung |
|---|---|---|
value | Pflicht | – |
set_global_acceleration_limit
api.set_global_acceleration_limit(value)
Höchstbeschleunigung für alle Bewegungen ohne eigenes accel_limit. Standard 20.
| Parameter | Standard | Bedeutung |
|---|---|---|
value | Pflicht | – |
set_global_jerk_limit
api.set_global_jerk_limit(value)
Höchster Ruck für alle Bewegungen ohne eigenes jerk_limit. Standard 100.
| Parameter | Standard | Bedeutung |
|---|---|---|
value | Pflicht | – |
do_homing
await api.do_homing(axis_no: int, homing_distance: float | None = None, sensor_position_sign: int | None = None, fast_speed: float | None = None, accurateSpeed: float | None = None, min_pos: float | None = None, max_pos: float | None = None, timeout: float | None = 30)
Referenzfahrt einer Achse: Endschalter schnell und dann genau anfahren, Nullpunkt setzen. Kehrt zurück, wenn die Achse referenziert ist. Nicht gesetzte Parameter behalten ihren bisherigen Wert.
Perform homing procedure for a specified axis.
| Parameter | Standard | Bedeutung |
|---|---|---|
axis_no | Pflicht | The axis number to home. |
homing_distance | None | Weg, auf dem der Endschalter gesucht wird. |
sensor_position_sign | None | Richtung, in der der Endschalter liegt (Vorzeichen). In den Konfigurator-Beispielen -1: Endschalter am Hubanfang. |
fast_speed | None | Geschwindigkeit der ersten, schnellen Anfahrt. |
accurateSpeed | None | Geschwindigkeit der zweiten, genauen Anfahrt. (Im Docstring als accurate_speed bezeichnet; der Parameter heißt accurateSpeed.) |
min_pos | None | Untere Positionsgrenze der Achse. |
max_pos | None | Obere Positionsgrenze der Achse. |
timeout | 30 | Wird in dieser Version nicht ausgewertet. |
Ausnahmen: ValueError – Achsnummer größer als die Zahl der Achsen der Steuerung.
move
await api.move(params: MVParams | List[MVParams], timeout: float | None = 120)
Fährt eine oder mehrere Achsen. Bei einer Liste werden alle Achsen erst vorbereitet und dann gemeinsam gestartet; move() kehrt zurück, wenn alle angekommen sind.
Move one or more axes according to the specified parameters.
| Parameter | Standard | Bedeutung |
|---|---|---|
params | Pflicht | Ein MVParams oder eine Liste davon (je Achse höchstens einer). |
timeout | 120 | Wird in dieser Version nicht ausgewertet. |
Ausnahmen: MovementError – If any axis movement fails.; ValueError – Achsnummer größer als die Zahl der Achsen der Steuerung.
# Move axes 1, 2, and 3 to position 1 in 0.5 s with no limits
await api.move([
MVParams(i, 1,
T=0.5,
speed_limit=math.inf,
accel_limit=math.inf,
jerk_limit=math.inf)
for i in range(1, 4)
])
# Move axis 1 to position 0.3
await api.move(MVParams(1, 0.3))MovementError (Exception)
Die Bewegung ist mit den angegebenen Grenzwerten nicht ausführbar. Die Meldung nennt die betroffenen Achsen.
Exception raised when a movement operation fails.