SYNOPSIS
loadrt motmod [base_period_nsec=period] [base_thread_fp=0 or 1] [servo_period_nsec=period] [traj_period_nsec=period] ] [num_dio=[1-64]_ | names_dout=name[,…] names_din=name[,…]] [num_aio=[1-64] | names_aout=name[,…] _names_ain=*name[,…]] ] [num_spindles=[1-8]] [unlock_joints_mask=_jointmask] [num_extrajoints=[0-16]]
Die Grenzwerte für die folgenden Elemente sind Einstellungen zur Kompilierzeit:
- num_joints
-
Die maximale Anzahl von Gelenken wird durch EMCMOT_MAX_JOINTS festgelegt.
- num_dio
-
Die maximale Anzahl an digitalen I/O Pins ist bestimmt durch EMCMOT_MAX_DIO. Das Minimum ist 1, wenn num_dio nicht spezifiert ist, es ist voreingestellt auf DEFAULT_DIO.
- names_dout
-
Eine kommagetrennte Liste von Namen für digitale Ausgangspins. Dieser Parameter schließt sich gegenseitig mit num_dio aus, kann jedoch mit names_din kombiniert werden. Es können maximal EMCMOT_MAX_DIO Namen angegeben werden. Der Standardname für digitale Ausgangspins lautet beispielsweise
motion.digital-out-00, während names_dout=is-homing-x,is-homing-y die HAL-Pinsmotion.dout-is-homing-xundmotion.dout-is-homing-yerzeugt. - names_din
-
Eine kommagetrennte Liste von Namen für digitale Eingangspins. Dieser Parameter schließt sich gegenseitig mit num_dio aus, kann jedoch mit names_dout kombiniert werden. Es können maximal EMCMOT_MAX_DIO Namen angegeben werden. Der Standardname für digitale Eingangspins lautet beispielsweise
motion.digital-in-00, während names_din=is-homed-x,is-homed-y die HAL-Pinsmotion.din-is-homed-xundmotion.din-is-homed-yerzeugt. - num_aio
-
Die maximale Anzahl analoger IO-Pins wird durch EMCMOT_MAX_AIO festgelegt. Minimum ist 1; wenn num_aio nicht angegeben wird, wird der Standardwert DEFAULT_AIO verwendet.
- names_aout
-
Eine kommagetrennte Liste von Namen für analoge Ausgangspins. Dieser Parameter schließt sich gegenseitig mit num_aio aus, kann jedoch mit names_ain kombiniert werden. Es können maximal EMCMOT_MAX_AIO Namen angegeben werden. Der Standardname für analoge Ausgangspins lautet beispielsweise
motion.analog-out-00, während names_aout=feedrate1,feedrate2 die HAL-Pinsmotion.aout-feedrate1undmotion.aout-feedrate2erzeugt. - names_ain
-
Eine durch Kommata getrennte Liste von Namen für analoge Eingangspins. Dieser Parameter ist nicht mit num_aio kombinierbar, kann jedoch mit names_aout verwendet werden. Es können maximal EMCMOT_MAX_AIO Namen angegeben werden. Der Standardname für analoge Eingangspins lautet beispielsweise motion.analog-in-00, während names_ain=proxy1,proxy2 die HAL-Pins
motion.ain-proxy1undmotion.ain-proxy2erzeugt. - num_misc_error
-
Die maximale Anzahl von extra Fehler-Eingängen (engl. extra error inputs) wird durch EMCMOT_MAX_MISC_ERRORS festgelegt.
- names_misc_errors
-
Eine Komma-getrennte Liste on Namen für zusätzliche Fehler-Eingaben. Dieser Parameter schließt sich wechselseitig mit num_misc_error aus. Bei Verwendung von num_misc_error erhalten die zusätzlichen Fehler-Eingangspins Namen wie
motion.misc-error-00, während names_misc_errors=overtemp,undertemp die HAL-Pinsmotion.err-overtempundmotion.err-undertemperzeugt. - num_spindles
-
Die maximale Anzahl der Spindeln wird durch EMCMOT_MAX_SPINDLES festgelegt.
Pin-Namen, die mit joint (engl. für Gelenk) oder axis (engl. für Achse) beginnen, werden von der Motion-Controller-Funktion gelesen und aktualisiert.
BESCHREIBUNG
|
Note
|
The base_thread_fp parameter is deprecated and ignored. All threads now unconditionally save and restore floating point state. This parameter will be removed in a future version. |
Diese Pins und Parameter werden durch das Echtzeitmodul motmod erzeugt. Dieses Modul bietet eine HAL-Schnittstelle für LinuxCNCs Bewegungsplaner. Grundsätzlich motmod nimmt in einer Liste von Wegpunkten und erzeugt eine schöne gemischt und Constraint-begrenzten Strom von Gelenkpositionen an die Motorantriebe zugeführt werden.
Der optionale Parameter num_extrajoints gibt eine Anzahl von Gelenken an, die an der Referenzfahrt teilnehmen, aber nicht von Kinematik-Transformationen verwendet werden. Nach der Referenzfahrt wird die Steuerung eines "zusätzlichen" Gelenks an einen HAL-Pin für den Post-Home-Befehl (joint.N.posthome-cmd) übertragen, und der Motor-Feedback-Wert wird ignoriert. "Zusätzliche" Gelenke müssen von unabhängigen Bewegungsplanern/-controllern verwaltet werden (typischerweise unter Verwendung von limit3-HAL-Komponenten). Extra-Gelenke können nur dann freigegeben werden, wenn die Bewegung deaktiviert ist.
Der Höchstwert für num_extrajoints ist gleich dem Wert für num_joints. (Beachten Sie, dass die Verwendung des Maximalwerts keine Operation in Weltkoordinaten erlauben würde). Der Wert num_joints muss gleich der Summe aus der Anzahl der für die Kinematikberechnungen verwendeten Gelenke und der Anzahl der "zusätzlichen" Gelenke sein.
Der Parameter num_joints wird üblicherweise durch die INI-Datei-Einstellung [KINS]JOINTS= Wert gesetzt. Der Parameter num_extrajoints wird durch den zusätzlichen motmod-Parameter [EMCMOT]motmod num_extrajoints=* Wert eingestellt. Die HAL-Pin-Nummerierung für alle Gelenke ist nullbasiert [0 … num_joints-1]. Wenn angegeben, werden "zusätzliche" Gelenke dem letzten num_extrajoints in der Nummerierungsfolge zugeordnet. Wird beispielsweise [KINS]JOINTS=5 und [EMCMOT]motmod num_extrajoints=2 für eine Trivkins-Konfiguration mit 3 Gelenken angegeben, so werden [KINS] KINEMATICS=trivkins coordinates=xyz** die Gelenke 0,1,2 für die kinematischen Gelenke und die Gelenke 3,4 für die "zusätzlichen" Gelenke verwendet.
Eine gleiche Anzahl digitaler oder analoger IO-Pins wird immer erzeugt. Wenn beispielsweise names_din mit zwei Pins angegeben wird, werden zwei benannte Eingangs- und zwei standardmäßig benannte Ausgangspins erstellt. Falls names_dout mit zwei Pins und names_din mit drei Pins angegeben wird, entstehen zwei benannte Ausgangs- und ein standardmäßig benannter Ausgangspin sowie drei benannte Eingangspins. Dieses Prinzip gilt unabhängig für digitale und analoge IO-Pins, so dass Szenarien wie drei digitale Pins und zwei analoge Pins möglich sind.
MOTION (engl. für Bewegung) PINS
- motion-command-handler.time OUT S32
-
Time (in ns) for the motion module motion-command-handler
- motion-controller.time OUT S32
-
Time (in ns) for the motion module motion-controller
- motion.adaptive-feed IN FLOAT
-
Wenn der adaptive Vorschub mit M52 P1 aktiviert ist, wird die befohlene Geschwindigkeit mit diesem Wert multipliziert. Dieser Effekt ist multiplikativ mit dem Vorschub-Override-Wert auf NML-Ebene und motion.feed-hold. Negative Werte sind gültig und führen den G-Code-Pfad in umgekehrter Richtung aus.
- motion.analog-in-NN IN FLOAT
-
Diese Pins werden vom M66 Enn wait-for-input mode verwendet.
- motion.analog-out-NN OUT FLOAT
-
Diese Pins werden von M67-68 verwendet.
- motion.coord-error OUT BIT
-
TRUE, wenn bei der Bewegung ein Fehler aufgetreten ist, z. B. das Überschreiten einer weichen Grenze
- motion.coord-mode OUT BIT
-
TRUE, wenn sich die Bewegung im "koordinierten Modus" befindet, im Gegensatz zum "Teleop-Modus".
- motion.current-vel OUT FLOAT
-
Aktuelle kartesische Geschwindigkeit
- motion.digital-in-NN IN BIT
-
Diese Pins werden vom M66 Pnn wait-for-input mode verwendet.
- motion.digital-out-NN OUT BIT
-
Diese Pins werden von den Wörtern M62 bis M65 gesteuert.
- motion.distance-to-go OUT FLOAT
-
Verbleibende Entfernung für den aktuellen Zug
- motion.enable IN BIT
-
Wenn dieses Bit auf FALSE gesetzt wird, stoppt die Bewegung, die Maschine wird in den Zustand "Maschine aus" versetzt und eine Meldung für den Bediener wird angezeigt. Für eine normale Bewegung setzen Sie dieses Bit auf TRUE.
- motion.eoffset-active OUT BIT
-
Zeigt an, dass externe Offsets aktiv sind (ungleich Null)
- motion.eoffset-limited OUT BIT
-
Zeigt an, dass die Bewegung mit externen Offsets durch eine Soft-Limit-Beschränkung ([AXIS_L]MIN_LIMIT,MAX_LIMIT) begrenzt wurde.
- motion.feed-hold IN BIT
-
Wenn die Vorschub-Stopp-Steuerung mit M53 P1 aktiviert ist und dieses Bit TRUE ist, wird die Vorschubgeschwindigkeit auf 0 gesetzt.
Hinweis: Feed-Hold gilt für G-Code-Befehle - nicht für Jogging-Befehle.
- motion.feed-inhibit IN BIT
-
Wenn dieser Pin TRUE ist, wird die Maschinenbewegung für G-Code-Befehle gesperrt.
Wenn die Maschine eine spindelsynchronisierte Bewegung ausführt, während dieser Pin auf TRUE gesetzt wird, dann wird die spindelsynchronisierte Bewegung beendet und alle folgenden Bewegungen werden gesperrt (um Schäden an der Maschine, dem Werkzeug oder dem Werkstück zu vermeiden).
Befindet sich die Maschine mitten in einer (nicht spindelsynchronisierten) Bewegung, wenn dieser Pin auf TRUE gesetzt wird, bremst die Maschine mit der maximal zulässigen Beschleunigungsrate bis zum Stillstand ab.
Die Bewegung wird fortgesetzt, wenn dieser Pin auf FALSE geht.
Note: Die Vorschubsperre gilt für G-Code-Befehle - nicht für Jogging-Befehle.
- motion.feed-upm OUT FLOAT
-
Aktueller Vorschub in G-Code-Programmeinheiten pro Minute für motion.motion-type feed(2) und arc(3). Wert ist der F-Wert des G-Code-Programms, multipliziert mit dem aktuellen Vorschub-Override-Wert und der Einstellung motion.adaptive-feed (falls M52 aktiv). Der Wert ist Null, wenn motion.feed-hold oder motion.feed-inhibit aktiviert sind. Wenn die Einheiten (G20 oder G21) nicht in der G-Code-Datei angegeben sind, werden die zuletzt verwendeten Einheiten verwendet.
- motion.feed-inches-per-minute OUT FLOAT
-
Aktuelle Vorschubgeschwindigkeit in Zoll pro Minute für motion.motion-type feed(2) und arc(3). Der Wert ist das Zoll-Äquivalent des F-Werts des G-Code-Programms multipliziert mit dem aktuellen Feed-Override-Wert und der motion.adaptive-feed-Einstellung (wenn M52 aktiv ist). Der Wert ist Null, wenn motion.feed-hold oder motion.feed-inhibit bestätigt werden.
- motion.feed-inches-per-second OUT FLOAT
-
Aktuelle Vorschubgeschwindigkeit in Zoll pro Sekunde für motion.motion-type feed(2) und arc(3). Der Wert ist das Zoll-Äquivalent des F-Werts des G-Code-Programms multipliziert mit dem aktuellen Feed-Override-Wert und der motion.adaptive-feed-Einstellung (wenn M52 aktiv ist). Der Wert ist Null, wenn motion.feed-hold oder motion.feed-inhibit bestätigt werden.
- motion.feed-mm-per-minute OUT FLOAT
-
Aktuelle Vorschubgeschwindigkeit in Zoll pro Minute für motion.motion-type feed(2) und arc(3). Der Wert ist das Zoll-Äquivalent des F-Werts des G-Code-Programms multipliziert mit dem aktuellen Feed-Override-Wert und der motion.adaptive-feed-Einstellung (wenn M52 aktiv ist). Der Wert ist Null, wenn motion.feed-hold oder motion.feed-inhibit bestätigt werden.
- motion.feed-mm-per-second OUT FLOAT
-
Aktuelle Vorschubgeschwindigkeit in mm pro Sekunde für motion.motion-type feed(2) und arc(3). Der Wert ist das mm-Äquivalent des F-Wertes des G-Code-Programms, multipliziert mit dem aktuellen Vorschub-Override-Wert und der Einstellung motion.adaptive-feed (falls M52 aktiv). Der Wert ist Null, wenn motion.feed-hold oder motion.feed-inhibit aktiviert sind.
- motion.homing-inhibit IN BIT
-
Wenn dieses Bit TRUE ist, so ist die Einleitung einer gemeinsamen Referenzfahrt (einschließlich "Home All") nicht zulässig und es wird ein Fehler gemeldet. Standardmäßig ist die Referenzfahrt im Gelenkmodus erlaubt, wenn die Bewegung aktiviert ist.
- motion.is-all-homed OUT BIT
-
TRUE wenn alle aktiven Gelenke referenziert sind.
- motion.jog-inhibit IN BIT
-
Wenn dieses Bit TRUE ist, dann ist das Joggen eines beliebigen Gelenks oder einer Achse nicht erlaubt und es wird ein Fehler gemeldet.
- motion.jog-stop IN BIT
-
Wenn ein Jog aktiv ist, wenn sich der Pin-Status in TRUE ändert, wird dieser Jog gemäß den zugehörigen Beschleunigungswerten gestoppt.
- motion.jog-stop-immediate IN BIT
-
eine aktive manuelle Bewegung (Jogging) wird, sobald dieser Pin auf TRUE wechselt, umgehend gestoppt.
- motion.jog-is-active OUT BIT
-
TRUE, wenn ein Gelenk oder eine Achse joggt.
- motion.in-position OUT BIT
-
TRUE, wenn die Maschine in Position ist (d.h. sich nicht in Richtung der befohlenen Position bewegt).
- motion.misc-error-NN IN BIT
-
Zusätzliche Fehlereingänge für Fehler wie Übertemperatursensoren, Warnungen bei niedrigem Kühlmittelstand, kundenspezifische HAL-Komponentenfehler. Wenn diese Eingänge auf TRUE gesetzt werden, wird eine Maschine deaktiviert. Ähnlich wie spindle.amp-fault-in.
- motion.motion-enabled OUT BIT
-
+
- motion.motion-type OUT S32
-
Diese Werte stammen aus src/emc/nml_intf/motion_types.h:
0: Leerlauf (engl. "idle", d.h. keine Bewegung)
1: Traverse (direkte Bewegung)
2: Linearer Vorschub
3: Kreisbogenvorschub
4: Werkzeugwechsel
5: Antasten
6: Drehentriegelung für Traverse
- motion.on-soft-limit OUT BIT
- motion.probe-input IN BIT
-
G38.n verwendet den Wert an diesem Pin, um festzustellen, wann der Fühler Kontakt hergestellt hat. TRUE für einen geschlossenen (berührenden) Fühlerkontakt, FALSE für einen offenen Fühlerkontakt.
- motion.program-line OUT S32
-
Die aktuelle Programmzeile während der Ausführung. Null, wenn das Programm nicht läuft oder zwischen den Zeilen während des Einzelschritts.
- motion.requested-vel OUT FLOAT
-
Die aktuell geforderte Geschwindigkeit in Benutzereinheiten pro Sekunde. Dieser Wert ist die F-Wort-Einstellung aus der G-Code-Datei, möglicherweise reduziert, um die Geschwindigkeits- und Beschleunigungsgrenzen der Maschine zu berücksichtigen. Der Wert an diesem Pin spiegelt nicht den Vorschub-Override oder andere Einstellungen wider.
- motion.servo.last-period OUT U32
-
Time (in ns) between invocations of the servo thread. Typically, this number divided by the CPU speed gives the time in seconds, and can be used to determine whether the realtime motion controller is meeting its timing constraints
- motion.switchkins-type IN float
-
Kinematikmodule, welche die Funktionen kinematicsSwitchable() und kinematicsSwitch() definieren, erhalten den integer-Wert dieses Pins zur Auswahl der Maschinenkinematikfunktionen. Zusätzliche G-Code-Befehle können erforderlich sein, um Aufgabe und Bewegung vor und nach Änderungen des Pin-Werts zu synchronisieren.
- motion.teleop-mode OUT BIT
-
Der Bewegungsmodus ist Teleop (Achsenkoordinaten-Jogging verfügbar).
- motion.tooloffset.L OUT FLOAT
-
Aktuelle Werkzeugkorrektur (engl. offset) für jede Achse, wobei (L der Achsenbuchstabe ist, einer von: x y z a b c u v w)
- motion.tp-reverse OUT BIT
-
Trajektorienplanung wird umgekehrt (engl. reverse run)
Interpreter Metadata Pins
These pins provide geometric intent and interpreter state for the segment of motion currently being executed. Unlike standard position feedback, these values are synchronized with the trajectory planner’s execution point.
Interpreter Status Pins
-
motion.interp.line-number(s32, out)
The current G-code line number being executed. -
motion.interp.motion-type(s32, out)
The type of motion currently in progress:-
0: None
-
1: Rapid (G0)
-
2: Feed (G1)
-
3: Arc (G2, G3)
-
4: Tool Change/Other
-
-
motion.interp.feedrate(float, out)
The interpreted feedrate for the current segment in units per minute.
Interpreter Geometric Pins
-
motion.interp.heading(float, out)
The XY plane heading of the current linear move in degrees. Measured counter-clockwise from the +X axis (0 to 360). This could be used to control a tangential knife. -
motion.interp.arc-radius(float, out)
The radius of the current circular move. This value is 0.0 during linear moves. This could be used to modify plasma cutting parameters based on the arc radius and when hole cutting. -
motion.interp.arc-center-x(float, out)
The absolute X-coordinate of the center point for the current arc. 0 if in YZ plane -
motion.interp.arc-center-y(float, out)
The absolute Y-coordinate of the center point for the current arc. 0 if in XZ plane -
motion.interp.arc-center-z(float, out)
The absolute Y-coordinate of the center point for the current arc if in XZ or YZ plane. -
motion.interp.normal-heading(float, out)
the heading from the current point back to the arc centre for the current arc. -
motion.interp.iscircle(bit, out)
True if the current arc is a full circle and not a helix.
|
Note
|
These pins represent the commanded geometric intent from the interpreter and are updated in real-time as each motion segment is consumed by the trajectory planner. |
ACHSEN-PINS
(L ist der Buchstabe der Achse, einer von: x y z a b c u v w)
- axis.L.eoffset OUT FLOAT
-
Aktueller externer Offset.
- axis.L.eoffset-clear IN BIT
-
Anforderung eines externen Offsets löschen
- axis.L.eoffset-counts IN S32
-
Zähleingang für externen Offset. Die eoffset-Zählerstände werden in ein internes Register übertragen. Der angewandte externe Offset ist das Produkt aus den Zählwerten des Registers und dem eoffset-Skalenwert. Das Register ist bei jedem Einschalten der Maschine auf Null zurückgesetzt. Wird die Maschine bei aktivem externen Offset ausgeschaltet, sollte der Pin eoffset-counts vor dem Neustart auf Null gesetzt werden.
- axis.L.eoffset-enable IN BIT
-
Für externen Offset aktivieren (erfordert auch INI-Dateieinstellung für [AXIS_L]OFFSET_AV_RATIO)
- axis.L.eoffset-request OUT FLOAT
-
Debug-Pin für angeforderten externen Offset.
- axis.L.eoffset-scale IN FLOAT
-
Skala für externen Offset.
- axis.L.jog-accel-fraction IN FLOAT
-
Setzt die Beschleunigung für das Joggen der Räder auf einen Bruchteil der INI max_acceleration für die Achse. Werte größer als 1 oder kleiner als Null werden ignoriert.
- axis.L.jog-counts IN S32
-
Anschluss an den "counts"-Pin eines externen Encoders, um ein physisches Jogwheel zu verwenden.
- axis.L.jog-enable IN BIT
-
Wenn TRUE (und im manuellen Modus), führt jede Änderung von "jog-counts" zu einer Bewegung. Bei false wird "jog-counts" ignoriert.
- axis.L.jog-scale IN FLOAT
-
Legt die Entfernung fest, die bei jeder Zählung bei "Jogging-Zählungen" (engl. job counts) in Maschineneinheiten zurückgelegt wird.
- axis.L.jog-vel-mode IN BIT
-
Wenn FALSE (die Voreinstellung), arbeitet das Jogwheel im Positionsmodus. Die Achse bewegt sich bei jeder Zählung genau um die Jog-Scale-Einheiten, unabhängig davon, wie lange das dauern könnte. Wenn TRUE, arbeitet das Rad im Geschwindigkeitsmodus - die Bewegung stoppt, wenn das Rad anhält, auch wenn das bedeutet, dass die befohlene Bewegung nicht abgeschlossen ist.
- axis.L.kb-jog-active OUT BIT
-
(Free Planner Joint Jogging aktiv (Tastatur oder Halui))
- axis.L.pos-cmd OUT FLOAT
-
Die befohlene Position der Achse. Zwischen den Achsen- und Motorkoordinaten können mehrere Offsets bestehen: Spielkompensation, Schraubenfehlerkompensation und Home Offsets. Externe Offsets werden separat gemeldet (axis.L.eoffset).
- axis.L.teleop-pos-cmd OUT FLOAT
- axis.L.teleop-tp-enable OUT BIT
-
TRUE, wenn der "Teleop-Planer" für diese Achse aktiviert ist.
- axis.L.teleop-vel-cmd OUT FLOAT
-
Die befohlene Geschwindigkeit der Achse.
- axis.L.teleop-vel-lim OUT FLOAT
-
Die Geschwindigkeitsbegrenzung für den Teleop-Planer.
- axis.L.wheel-jog-active OUT BIT
-
+
PINS von GELENKEN
N is the joint number (0 … num_joints-1))
Note: Mit (DEBUG) gekennzeichnete Pins dienen als Debugging-Hilfsmittel und können jederzeit geändert oder entfernt werden.
- joint.N.acc-cmd OUT FLOAT (DEBUG)
-
Die befohlene Beschleunigung des Gelenks.
- joint.N.active OUT BIT (DEBUG)
-
TRUE, wenn dieses Gelenk aktiv ist.
- joint.N.amp-enable-out OUT BIT
-
TRUE, wenn der Verstärker für dieses Gelenk aktiviert werden soll.
- joint.N.amp-fault-in IN BIT
-
Sollte auf TRUE gesetzt werden, wenn ein externer Fehler mit dem Verstärker für diese Verbindung erkannt wird.
- joint.N.backlash-corr OUT FLOAT (DEBUG)
-
Rohwert der Spiel- oder Spindelkompensation.
- joint.N.backlash-filt OUT FLOAT (DEBUG)
-
Spiel oder Spindelkompensation gefilterter Wert (unter Berücksichtigung der Bewegungsgrenzen).
- joint.N.backlash-vel OUT FLOAT (DEBUG)
-
Spiel oder Schraubenausgleichsgeschwindigkeit.
- joint.N.coarse-pos-cmd OUT FLOAT (DEBUG)
- joint.N.error OUT BIT (DEBUG)
-
TRUE, wenn bei diesem Gelenk ein Fehler aufgetreten ist, z. B. der Kontakt eines Endschalters.
- joint.N.f-error OUT FLOAT (DEBUG)
-
Der eigentliche Schleppfehler.
- joint.N.f-error-lim OUT FLOAT (DEBUG)
-
Folgendes Fehlerlimit.
- joint.N.f-errored OUT BIT (DEBUG)
-
TRUE, wenn dieses Gelenk die Schleppfehlergrenze überschritten hat.
- joint.N.faulted OUT BIT (DEBUG)
- joint.N.free-pos-cmd OUT FLOAT (DEBUG)
-
Der "freie Planer" befahl die Position für dieses Gelenk.
- joint.N.free-tp-enable OUT BIT (DEBUG)
-
TRUE, wenn der "freie Planer" für diese Verbindung aktiviert ist.
- joint.N.free-vel-lim OUT FLOAT (DEBUG)
-
Die Geschwindigkeitsbegrenzung für den freien Planer.
- joint.N.home-state OUT S32 (DEBUG)
-
Referenzfahrt-Zustandsautomat
- joint.N.home-sw-in IN BIT
-
Sollte TRUE gefahren werden, wenn der Home-Schalter für dieses Gelenk geschlossen ist.
- joint.N.homed OUT BIT (DEBUG)
-
TRUE, wenn die Verbindung referenziert wurde.
- joint.N.homing OUT BIT
-
TRUE, wenn sich das Gelenk gerade auf den Referenzierpunkt (engl. home) gefahren wird.
- joint.N.in-position OUT BIT (DEBUG)
-
TRUE, wenn das Gelenk den "freien Planer" benutzt und zum Stillstand gekommen ist.
- joint.N.index-enable IO BIT
-
Sollte an den Indexaktivierungsstift des Encoders des Gelenks angeschlossen werden, um die Referenzfahrt auf den Indeximpuls zu ermöglichen.
- joint.N.is-unlocked IN BIT
-
Zeigt an, dass das Gelenk entsperrt ist (siehe GELENKE ENTSPERREN PINS (engl. joint unlock pins)).
- joint.N.jog-accel-fraction IN FLOAT
-
Legt die Beschleunigung für das Joggen des Rads auf einen Bruchteil der INI max_acceleration (engl. für maximale Beschleunigung) für das Gelenk fest. Werte größer als 1 oder kleiner als Null werden ignoriert.
- joint.N.jog-counts IN S32
-
Anschluss an den "counts"-Pin eines externen Encoders, um ein physisches Jogwheel zu verwenden.
- joint.N.jog-enable IN BIT
-
Wenn TRUE (und im manuellen Modus), führt jede Änderung von "jog-counts" zu einer Bewegung. Bei false wird "jog-counts" ignoriert.
- joint.N.jog-scale IN FLOAT
-
Legt die Entfernung fest, die bei jeder Zählung bei "Jogging-Zählungen" (engl. job counts) in Maschineneinheiten zurückgelegt wird.
- joint.N.jog-vel-mode IN BIT
-
Bei FALSE (Standardeinstellung) arbeitet das Jogwheel im Positionsmodus. Das Gelenk bewegt genau Jog-Scale-Einheiten für jede Zählung, unabhängig davon, wie lange das dauern mag. Wenn TRUE, arbeitet das Rad im Geschwindigkeitsmodus - die Bewegung stoppt, wenn das Rad stoppt, auch wenn dies bedeutet, dass die befohlene Bewegung nicht abgeschlossen ist.
- joint.N.kb-jog-active OUT BIT (DEBUG)
-
(Free Planner Joint Jogging aktiv (Tastatur oder Halui))
- joint.N.motor-offset OUT FLOAT (DEBUG)
-
Der Offset des Gelenkmotors wird bei der Referenzfahrt ermittelt.
- joint.N.motor-pos-cmd OUT FLOAT
-
Die befohlene Position für dieses Gelenk.
- joint.N.motor-pos-fb IN FLOAT
-
Die aktuelle Position für dieses Gelenk.
- joint.N.neg-hard-limit OUT BIT (DEBUG)
-
Die negative harte Grenze für das Gelenk
- joint.N.neg-lim-sw-in IN BIT
-
Sollte auf TRUE gesetzt werden, wenn der negative Endschalter für diese Verbindung ausgelöst wird.
- joint.N.pos-cmd OUT FLOAT
-
Die vom Gelenk (im Gegensatz zum Motor) befohlene Position. Zwischen den Gelenk- und Motorkoordinaten kann es mehrere Offsets geben: Spielkompensation, Schraubenfehlerkompensation und Home Offsets.
- joint.N.pos-fb OUT FLOAT
-
Die Position der Gelenkrückführung. Dieser Wert wird aus der aktuellen Motorposition abzüglich des Gelenk-Offsets errechnet. Nützlich für die Maschinenvisualisierung.
- joint.N.pos-hard-limit OUT BIT (DEBUG)
-
Die positive harte Grenze für das Gelenk.
- joint.N.pos-lim-sw-in IN BIT
-
Sollte auf TRUE gesetzt werden, wenn der positive Endschalter für dieses Gelenk ausgelöst wird.
- joint.N.unlock OUT BIT
-
TRUE, wenn die Achse ein blockiertes Gelenk ist (typischerweise ein Drehgelenk) und eine Bewegung befohlen wird (siehe JOINT UNLOCK PINS).
- joint.N.vel-cmd OUT FLOAT (DEBUG)
-
Die Soll-Geschwindigkeit des Gelenks.
- joint.N.jerk-cmd OUT FLOAT (DEBUG)
-
The joint’s commanded jerk (rate of change of acceleration). Only active when S-curve trajectory planning is enabled (INI file [TRAJ]PLANNER_TYPE=1 and [TRAJ]MAX_LINEAR_JERK>0). Jerk limits are set via INI file [JOINT_N]MAX_JERK or via the ini.N.max_jerk HAL pin.
- joint.N.wheel-jog-active OUT BIT (DEBUG)
-
+
JOINT posthome pins
Jedes Gelenk, das als "zusätzliches" Gelenk bezeichnet wird, ist mit einem HAL-Pin joint.N.posthome-cmd versehen. Der Pin-Wert wird vor der Referenzfahrt ignoriert. Nach der Referenzfahrt wird der Pin-Wert um den Motor-Offset-Wert erhöht und an den joint.N.motor-pos-cmd weitergeleitet.
GELENK Entriegelungsstifte
Die Gelenkpins, die zum Entriegeln eines Gelenks verwendet werden (joint.N.unlock, joint.N.is-unlocked), werden entsprechend dem Parameter unlock_joints_mask=jointmask für motmod erstellt. Diese Pins können für die Verriegelung von Indexern (typischerweise ein Drehgelenk) erforderlich sein.
Die Bits der Jointmaske sind: (LSB)0:joint0, 1:joint1, 2:joint2, …
Beispiel: loadrt motmod … unlock_joints_mask=0x38 erzeugt Entsperr-Pins für die Gelenke 3, 4, 5.
SPINDEL-PINS
(M ist die Spindelanzahl (0 … num_spindles-1))
- spindle.M.amp-fault-in IN BIT
-
Sollte auf TRUE gesetzt werden, wenn ein externer Fehler mit dem Verstärker für diese Verbindung erkannt wird.
- spindle.M.at-speed IN BIT
-
Die Bewegung wird unter den folgenden Bedingungen angehalten, bis dieser Pin TRUE ist: Vor der ersten Vorschubbewegung nach jedem Spindelstart oder Drehzahlwechsel; vor dem Beginn jeder Kette von spindelsynchronisierten Bewegungen; und im CSS-Modus bei jedem Übergang von Eilgang zu regulärem Vorschub.
- spindle.M.brake OUT BIT
-
TRUE, wenn die Spindelbremse aktiviert werden soll.
- spindle.M.forward OUT BIT
-
TRUE, wenn sich die Spindel vorwärts drehen soll.
- spindle.M.index-enable I/O BIT
-
Für den korrekten Betrieb von spindelsynchronisierten Bewegungen muss dieses Signal mit dem Index-Enable-Pin des Spindelgebers verbunden werden.
- spindle.M.inhibit IN BIT
-
Wenn TRUE, wird die Spindeldrehzahl auf 0 gesetzt und gehalten.
- spindle.M.is-oriented IN BIT
-
Quittierungspin (engl. acknowledge pin) für den Pin "spindle-orient". Schließt den Orientierungszyklus ab. Wenn "spindle-orient" wahr war, als "spindle-is-oriented" bestätigt wurde, wird der Pin "spindle-orient" gelöscht und der Pin "spindle-locked" bestätigt. Außerdem wird der Pin spindle-brake aktiviert.
- spindle.M.locked OUT BIT
-
Pin zur Anzeige einer komplettierten Spindelorientierung. Rückgesetzt durch M3, M4 oder M5.
- spindle.M.on OUT BIT
-
TRUE wenn sich die Spindel drehen soll.
- spindle.M.orient OUT BIT
-
Zeigt den Beginn des Spindelorientierungszyklus an. Wird durch M19 gesetzt. Gelöscht durch einen der Parameter M3, M4 oder M5.
Wenn Spindelorientierungsfehler während Spindelorientierungsfehler true nicht Null ist, schlägt der Befehl M19 mit einer Fehlermeldung fehl.
- spindle.M.orient-angle OUT FLOAT
-
Gewünschte Spindelausrichtung für M19. Wert des Parameters M19 R-Wort plus dem Wert des INI-Parameters [RS274NGC]ORIENT_OFFSET.
- spindle.M.orient-fault IN S32
-
Fehlercodeeingabe für den Orientierungszyklus. Jeder Wert ungleich Null führt zum Abbruch des Orientierungszyklus.
- spindle.M.orient-mode OUT BIT
-
Gewünschter Spindeldrehungsmodus. Entspricht dem Parameterwort M19 P.
- spindle.M.reverse OUT BIT
-
TRUE, wenn sich die Spindel rückwärts drehen soll.
- spindle.M.revs IN FLOAT
-
Für den korrekten Betrieb von spindelsynchronisierten Bewegungen muss dieses Signal mit dem Positionspin des Spindelgebers verbunden werden.
- spindle.M.speed-cmd-rps FLOAT OUT
-
Geforderte Spindeldrehzahl in Einheiten von Umdrehungen pro Sekunde.
- spindle.M.speed-in IN FLOAT
-
Rückmeldung der tatsächlichen Spindeldrehzahl in Umdrehungen pro Sekunde; wird für die Modi G96 (konstante Schnittgeschwindigkeit) und G95 (Vorschub pro Umdrehung) verwendet.
- spindle.M.speed-out OUT FLOAT
-
Spindeldrehzahl in Umdrehungen pro Minute.
- spindle.M.speed-out-abs OUT FLOAT
-
Gewünschte Spindeldrehzahl in Umdrehungen pro Minute, unabhängig von der Spindeldrehrichtung immer positiv.
- spindle.M.speed-out-rps OUT FLOAT
-
Gewünschte Spindeldrehzahl in Umdrehungen pro Sekunde.
- spindle.M.speed-out-rps-abs OUT FLOAT
-
Gewünschte Spindeldrehzahl in Umdrehungen pro Sekunde, immer positiv, unabhängig von der Spindelrichtung.
BEWEGUNGSPARAMETER
Viele der Parameter dienen als Hilfsmittel zur Fehlersuche und können jederzeit geändert oder entfernt werden.
- motion-command-handler.tmax RW S32
-
Show information about the execution time of these HAL functions in ns.
- motion-command-handler.tmax-increased RO S32
- motion-controller.tmax RW S32
-
Show information about the execution time of these HAL functions in ns.
- motion-controller.tmax-increased RO BIT
-
+
- motion.debug-*
-
Diese Werte werden für Debugging-Zwecke verwendet.
FUNKTIONEN
Im Allgemeinen werden diese beiden Funktionen in der angegebenen Reihenfolge zum Servo-Thread hinzugefügt.
- motion-command-handler
-
Empfängt und verarbeitet eingehende Bewegungsbefehle. Der Pin mit dem Namen
motion-command-handler.timeund die Parametermotion-command-handler.tmax,tmax-increasedwerden für diese Funktion erstellt. - motion-controller
-
Führt den LinuxCNC-Bewegungsregler aus. Der Pin mit dem Namen
motion-controller.timeund die Parametermotion-controller.tmax,tmax-increasedwerden für diese Funktion erstellt.
BUGS
Diese Handbuchseite ist unvollständig.
Die Identifizierung von Pins, die mit (DEBUG) kategorisiert sind, ist unzuverlässig.
SIEHE AUCH
iocontrol(1), milltask(1), spindle(9)