Skip to main content

Befehl: SoftMotion-CiA402-Achse hinzufügen

Funktion: Der Befehl fügt im Gerätebaum eine allgemeine SoftMotion-CiA402-Achse unterhalb eines Feldbusslaves ein.

Aufruf: Menü Projekt, Kontextmenü eines Geräteobjekts im Gerätebaum

Voraussetzung: Im Gerätebaum ist ein Gerät ausgewählt, das diesen Antrieb unterstützt. Beispielsweise ein EtherCAT- oder CAN-Slave.

CODESYS stellt mehrere fest zugeordnete Treiber zur Verfügung, die ein Servoantriebsmodell speziell unterstützen. Wenn ein Servogeräteantrieb im Gerätebaum hinzugefügt wird, hat er automatisch ein Kindgerät, das die SoftMotion-Achse repräsentiert. Um mit dem Gerät zu kommunizieren, wird ein Standardtreiber verwendet. Sie können diesen Befehl also verwenden, um jeden beliebigen Servoantrieb zu unterstützen, der der CODESYS-Implementierung von CiA402 entspricht. Ob und wie der Antrieb mit dem Gerät zusammenarbeitet, hängt von der Implementierung im Gerät selber ab. Erfahrungen haben gezeigt, dass verschiedene Hersteller den Standard unterschiedlich interpretieren, insbesonders hinsichtlich Fehlerbehandlung und Endschalter. Insofern gibt es keine Garantie, ob und wie der Treiber mit dem Gerät arbeitet.

Anmerkung

Der generische CiA402-Treiber unterstützt bis zu 8 Achsen, falls die Gerätebeschreibung des Antriebs keine Anzahl vorgibt. Andernfalls wird die in der Gerätebeschreibung definierte Anzahl von Achsen unterstützt.

CANopen: Die Anzahl der möglichen Achsen hängt von den Profilen der logischen Geräte in der EDS-Datei ab (Objekt 1000H und 67FFH + X * 800H, X = Nummer des logischen Geräts). Weitere Details finden Sie in der Norm CANopen CiA301.

EtherCAT: Die Anzahl der möglichen Achsen hängt von den definierten CiA402-Kanälen (CoE DS402Channels) in der ESI-Datei ab.

Eine Anpassung der EDS- oder ESI-Datei muss durch den Gerätehersteller erfolgen.

Verwendete Objekte während der Inbetriebnahme

Während der Inbetriebnahme wird auf folgende Objekte zugegriffen, wenn dies vom Gerät unterstützt wird.

Objekt

Lese-/Schreibzugriff

(M)andatory: verpflichtend/

(O)ptional

Kommentar

0x1000:0

lesen

M

Das niederwertige Wort muss 402 sein. Ansonsten Abbruch.

0x1018:1

lesen

O

0x1018:2

lesen

O

0x1018:3

lesen

O

0x1018:4

lesen

O

0x6502:0

lesen

O

0x605A:0

lesen

O

0x60C2:1

schreiben

Wenn Parameter Set60C2 = TRUE

0x60C2:2

schreiben

Wenn Parameter Set60C2 = TRUE

0x6076:0

lesen

O

Verwendete Objekte während des Betriebs

Die folgenden Objekte werden abhängig von den verwendeten Funktionen während des Betriebs verwendet:

0x603F:00, 0x6040:00, 0x6041:00, 0x6060:00, 0x6061:00, 0x6062:00, 0x6064:00, 0x606B:00, 0x606C:00, 0x6074:00, 0x6077:00, 0x6078:00, 0x607C:00, 0x60B1:00, 0x60B2:00,0x60B8:000x60B9:00, 0x60BA:00, 0x60BB:00, 0x60BC:00, 0x60BD:00, 0x60F4:00.

Erweiterte Konfiguration

Wichtig

Sie müssen die Option Generische Konfigurationseditoren anzeigen im Dialog: Optionen: Geräteeditor aktivieren, damit die Registerkarte mit den Parametern angezeigt wird.

Sie können mit folgenden Parametern den Ablauf des CiA402-Zustandsautomaten detailliert beeinflussen.

CiA402 Parameter

Beschreibung

_bImmediateDisabling

TRUE: Schaltet den Status des Antriebss von Operation enabled direkt nach Switch on disabled, wenn bRegulator auf FALSE zurückgesetzt wird.

FALSE: Schaltet den Status über "Eingeschaltet" und "Einschaltbereit", um dem Antrieb die Möglichkeit zu geben, einen Schnellstopp durchzuführen und die Bremse richtig zu bedienen.

Hinweis: Ist diese Option auf FALSE gesetzt, können die Zustände, für die die sofortige Deaktivierung ausgeschaltet wird, mit der Bit-Maskierung _dwStatesImmediateDisabling feinabgestimmt werden.

_bForbidReenableDuringDisabling

Nur relevant, wenn _bImmediateDisabling = FALSE.

TRUE: Antrieb wird Schritt für Schritt deaktiviert bis das Antriebssignal in Ready to switch on ist.

dwStatesImmediateDisabling

Nur relevant when _bImmediateDisabling = FALSE.

Bit-Maskierung der Zustände, für die die sofortige Deaktivierung eingeschaltet ist:

  • Bit 0: Normale Operation

  • Bit 1: Schnellhalt

  • Bit 2: Externer Schnellhalt

  • Bit 3: Referenzfahrt

Beispiel: Wenn _bImmediateDisabling = FALSE , bedeutet der Wert 2#0110, dass nur für die Zustände "Normale Operation" und "Referenzfahrt" die sofortige Deaktivierung ausgeschaltet ist. Für die Zustände "Schnellhalt" und "Externer Schnellhalt" ist die sofortige Deaktivierung eingeschaltet.

_uiPreHomingWait

Anzahl der Zyklen, die im Zustand PRE_HOMING gewartet werden, bevor die Referenzfahrt mit Setzen von Bit 4 des Steuerworts gestartet wird.

_uiPostHomingWait

Anzahl der Zyklen, die die Zustandsmaschine im Zustand HOMING_DONE wartet, bevor sie in "Normale Operation" zurückschaltet.

_uiHomingMinCycles

Anzahl der Zyklen zu Beginn von HOMING, wobei die „erledigt“-Bits (Bit 10/12 des Statusworts) ignoriert werden.

_uiWaitCyclesForStateSwitch

Anzahl der Zyklen, die das System wartet, bis der Antrieb einen Befehl zur Zustandsänderung ausgeführt hat. Wenn der Antrieb fehlschlägt, schaltet das System zurück auf SWITCH_ON_DISABLED.

_bPreHomingWaitBit12Clear

TRUE: Warten in PRE_HOMING bis Bit 12 des Statuswort vom Antrieb gelöscht wurde, bevor die Referenzfahrt gestartet wird (bevor Bit 4 des Steuerworts gesetzt wird).

Beachten Sie, dass der Zustandsmaschine in jedem Fall mindestens _uiPreHomingCycles lang im Zustand PRE_HOMING bleibt.

_bCheckBit10PostHoming

TRUE: Wenn Bit 12 und Bit 10 des Statuswort TRUE sind, wird auf HOMING_DONE geschaltet (wie in der CiA-402 spezifiziert).

FALSE: Bit 10 wird ignoriert, nur Bit 12 wird verwendet.

_bCheckOpMode

TRUE: Überprüfen, ob 0x6061 den Wert hat, der in 0x6060 gesetzt ist, wenn die Achse freigegeben wird.

FALSE: Diese Prüfung auslassen und sofort nach Setzen der Betriebsart aktivieren.

_abyControllerMode

Dieses ARRAY[0..7] OF BYTE enthält die Betriebsarten (Objekt 0x6060), die mit AXIS_REF_SM3.byOperationMode übereinstimmen. (Index 0,3 = Position, Index 1 = Geschwindigkeit, Index 2 = Drehmoment

_bCheckBit12InPositionMode

TRUE: AxisIsReadyForMotion überprüft Bit 12 in CSP oder IP.

FALSE: AxisIsReadyForMotion überprüft Bit 12 nicht.

_bDoHaltWhenStopInterruptsHome

TRUE: bei Unterbrechung von MC_Stop, Abbruch der Referenzfahrt mit Bit 8 des Steuerworts

FALSE: Bit 8 nicht setzen, sondern direkt die Betriebsart umschalten

_bCheckBit13InHomingMode

TRUE: in HOMING_ACTIVE, wStatusWord.13 = TRUE führt zu einem Fehlerstopp und wControlWord.8 := TRUE (abhängig von _bDoHaltWhenStopInterruptsHome)

_bSetControlBit4InCSP

TRUE: Setzt Bit 4 des Statusworts auch in CSP-Mode. Einige Antriebe erfordern dies, obwohl es nicht standard ist.

_uiHomingWaitListeningBits101213

Im Zustand HOMING_ACTIVE dürfen nach dem Setzen von Bit 4 während dieser Anzahl von Zyklen die Bits 10, 12 und 13 nicht abgehört werden. (Einige Antriebe brauchen etwas Zeit, um diese Bits zurückzusetzen).

_bRegulatorOnRequiresVoltageEnabled

Legt fest, ob Bit 4 des Statusworts (Spannung freigegeben) TRUE sein muss, damit bRegulatorRealState = TRUE wird (Standardwert: FALSE).

_bDriveStartRequiresOperationEnabled

Legt fest, ob Bit 2 des Statusworts (Betrieb freigegeben) TRUE sein muss, damit bDriveStartRealState = TRUE wird (Standardwert: TRUE).