Init Parameter
General
Name | Standardwert | Einheit | Typ | ||
|---|---|---|---|---|---|
Position Interpretation | Incremental |
| |||
| Maximum Absolute Counter Value (Sichtbarkeit abhängig von Position Interpretation) | 1048575 | INC | UDINT | |
Position Data Range | FullRange |
| |||
| Minimum Counter Value (Sichtbarkeit abhängig von Position Data Range) | 32-Bit-Gebersystem
| INC | LINT | |
| Maximum Counter Value (Sichtbarkeit abhängig von Position Data Range) | 32-Bit-Gebersystem
| INC | LINT | |
Feedback Velocity Source | HardwareProvidedIfAvailable |
| |||
Position Interpretation
Der Parameter Position Interpretation definiert, nach welcher Semantik die Werte vom Positionsgeber übermittelt und von der MC3-Achse interpretiert werden.
Incremental
Die Einstellung Incremental nutzt keine absoluten Eigenschaften des physikalischen Feedbacksystems, kann aber sowohl mit inkrementellen als auch absoluten Gebersystemen verwendet werden. Nach dem Start der Steuerung ist eine Referenzfahrt (Homing) notwendig, um die Ist-Position der Achse zu initialisieren (IsPositionValid = FALSE).
AbsoluteFullRange
Die Einstellung AbsoluteFullRange wird in der Regel mit Multiturn- oder Singleturn-Absolutwertgebern verwendet. Die MC3-Achse berücksichtigt den gesamten Datenbereich des Datentyps im Mapping zum I/O-Gerät (FullRange). Die höchste Anzahl an Inkrementen entspricht der Obergrenzen des Datentyps. Die Größe des Datentyps ist im verwendeten Protokoll spezifiziert.
Zum Zeitpunkt des Einschaltens der Steuerung ist der Positionsistwert eindeutig. Die Achse signalisiert IsPositionValid = TRUE. Kommt es zu einem Überlauf, signalisiert die Achse IsPositionValid = FALSE. Eine (erneute) Referenzfahrt ist notwendig, um die Ist-Position der Achse zu initialisieren.
Das Konfigurieren und Einschalten der softwareseitigen Positionsgrenzen der Achse ermöglicht das Wiederherstellen der Achsposition nach einem Neustart der Steuerung. Eine erneute Referenzfahrt ist nicht notwendig. Dies gilt für maximal einen Überlauf der übermittelten Inkremente. Kommt es zu einem weiteren Überlauf, signalisiert die Achse IsPositionValid = FALSE.
AbsolutUserDataRange
Es gelten die gleichen Randbedingungen wie für die Einstellung AbsoluteFullRange. Zusätzlich wird der Parameter Maximum Absolute Counter Value eingeblendet und berücksichtigt:
Maximum Absolute Counter Value
Eindeutige maximale Anzahl an Inkrementen, die das Gebersystem übermittelt (innerhalb der Grenzen des verwendeten Datentyps). Beispielsweise ist der Standardwert auf 2^20-1 eingestellt.
AbsoluteModulo
Die Positionsinkremente werden vom I/O-Gerät mit Modulo Logik übermittelt. Entspricht z. B. eine Umdrehung des Gebersystems dem Modulus der MC3-Achse, ist die Position in diesem Bereich eindeutig. Die Achse signalisiert IsPositionValid = TRUE.
Position Data Range
Der Parameter Position Data Range definiert den Wertebereich des Gebersystems, der für die Positionsberechnung verwendet wird. Dies bezieht sich auf den Rohwert, der vom Antrieb oder Encoder über die Prozessdaten (PDO-Mapping) empfangen wird und ermöglicht die Erkennung und Handhabung von Überläufen. Der Parameter kann nur zur Konfigurationszeit und nicht zur Laufzeit verändert werden.
FullRange
Der Positionsüberlauf basiert auf den Datentypgrenzen des jeweiligen Gebersystems. Für ein vorzeichenbehaftetes 32-Bit-Gebersystem (z. B. CoE DS402 Drive (AX8000), SoE Drive (AX5000), EtherCAT Encoder) bedeutet dies implizit einen Wertebereich von -2147483648 bis 2147483647. Bei einem vorzeichenlosen 32-Bit-Gebersystem (z. B. MDP742 Drive (ausgewählte ELM72xx), SSI-Encoder) impliziert dies einen Wertebereich von 0 bis 4294967295.
UserDefined
Dieser Parameterwert ermöglicht eine manuelle Eingabe der Wertebereichsgrenzen für die Bestimmung eines Überlaufs. Es werden zwei zusätzliche Parameter zur Eingabe der oberen und unteren Grenze eingeblendet:
- Minimum Counter Value
- Maximum Counter Value
Feedback Velocity Source
Bestimmt die Quelle der Ist-Geschwindigkeit (AXIS_REF.McToPlc.Act.Velocity). Die Geschwindigkeit kann entweder von der verwendeten Hardware übernommen oder intern durch Differenzierung des Positions-Istwertes berechnet werden.
HardwareProvidedIfAvailable (Standardwert)
Verwendet die von der Hardware bereitgestellte Geschwindigkeit. Ist kein Eintrag für die Ist-Geschwindigkeit in den Prozessdaten gemappt, wird diese automatisch intern berechnet.
InternallyCalculated
Die Geschwindigkeit wird immer aus der Ableitung der Ist-Positionen berechnet. Ist-Geschwindigkeiten der Hardware werden ignoriert, auch wenn sie verfügbar sind.
HardwareProvided
Die Geschwindigkeit wird immer direkt vom Hardware-Feedback übernommen. Dies setzt eine Verknüpfung der Ist-Geschwindigkeit über die Prozessdaten (PDO-Mapping) voraus. Fehlt das Mapping, führt dies zu einem Fehler beim Aufstarten der Konfiguration.
Scaling
Name | Standardwert | Einheit | Typ |
|---|---|---|---|
Position Scaling Numerator From Hardware | 360 | [PosUnit]/INC | LREAL |
Position Scaling Denominator From Hardware | 1048576.0 |
| LREAL |
Encoder Mounting Offset | 0.0 | [PosUnit] | LREAL |
Direction Inverted |
|
| BOOL |
Velocity Scaling Numerator From Hardware | 1.0 | [PosUnit]/(INC*s) | LREAL |
Velocity Scaling Denominator From Hardware | 1.0 |
| LREAL |
Der Positions-Skalierungsfaktor ist in einen Zähler und einen Nenner gegliedert. Mit ihm werden die Weginkremente in Achsenpositionen umgerechnet oder eine Benutzereinheit aus Encoderinkrementen berechnet.
Position Scaling Numerator From Hardware
Position Scaling Numerator From Hardware ist der Vorschub, den die Applikation macht, wenn die Abtriebswelle eine Umdrehung gemacht hat.
Position Scaling Denominator From Hardware
Position Scaling Denominator From Hardware ist die Anzahl an Inkrementen, die der Antrieb ausgibt, wenn die Motorwelle eine Umdrehung macht.
Beispiel 1 zum Position Scaling:
Motor ohne Getriebe mit Ritzel mit 100 mm Umfang an AX5000 mit Standardeinstellungen:
- Numerator: 100 mm
- Denominator: 1048576
Beispiel 2 zum Position Scaling:
Motor mit Getriebe mit i=10 an Drehteller an AX5000 mit Standardeinstellungen:
- Numerator: 360° / 10 = 36°
- Denominator: 1048576
Encoder Mounting Offset
Offset, mit dem die Position eines Gebersystem korrigiert bzw. im Maschinenkoordinatensystem ausgerichtet wird und damit den maschinenbezogenen Nullpunkt festlegt. Bei einem Neustart der Steuerung wird dieser Offset wiederhergestellt.
Direction Inverted
Der Parameter Direction Inverted kann die Zählrichtung des Encoders oder Antriebs umkehren:
FALSE: Die Polarität der Achsbewegung stimmt mit der Zählrichtung der Erfassungshardware überein.TRUE: Die Polarität der Achsbewegung ist invers zur Zählrichtung der Erfassungshardware.
| |
Verletzungsgefahr durch unerwartete Bewegungen Wenn die Zählrichtung des Encoders und die Motorpolarität nicht miteinander übereinstimmen, führt die Achse unerwartete Bewegungen aus.
|
Velocity Scaling Numerator From Hardware
Wird verwendet, um den tatsächlichen Geschwindigkeitswert aus den Encoder-Impulsen zu berechnen.
Velocity Scaling Denominator From Hardware
Wird verwendet, um den tatsächlichen Geschwindigkeitswert aus den Encoder-Impulsen zu berechnen.
Dead Time Compensation
Voraussetzung für die hochgenaue Umrechnung von Positionen in Zeiten und umgekehrt ist eine exakte Totzeitkompensation der Achsen.
Name | Standardwert | Einheit | Typ | |
|---|---|---|---|---|
Dead Time Compensation | NonlinearShift |
| ||
| Additional Time Shift From Hardware | 0.0 | ms | LREAL |
Dead Time Compensation
Stellen Sie ein, wie der kompensierte Soll- und Istwert berechnet werden soll. Die Totzeit wird bei der EtherCAT-Initialisierung automatisch ermittelt.
Additional Time Shift From Hardware
Zusätzliche Verschiebung der automatisch ermittelten Totzeit für die Kompensation der aktuellen Position.
Connection
Name | Standardwert | Einheit | Typ | |
|---|---|---|---|---|
AMS Address | 0.0.0.0.0.0:0 |
|
| |
| .netId | 0.0.0.0.0.0 |
| AMSNETID |
| .port | 0x0000 |
| WORD |
Channel Number | 0 |
| UDINT | |
EtherCAT Slave Oid | 00000000 |
| OTCID | |
AMS Address
Informationen über die Adresse des zugeordneten Hardware-Laufwerks (nur Lesezugriff), es ist keine manuelle Konfiguration erforderlich. Sie wird für Kommunikationszwecke verwendet.
Channel Number
Informationen über Kanalnummer des zugeordneten Hardware-Laufwerks (nur Lesezugriff), es ist keine manuelle Konfiguration erforderlich. Sie wird für Kommunikationszwecke verwendet.
EtherCAT Slave Oid
Objekt ID des EtherCAT Slaves.
Status Mask
Name | Standardwert | Einheit | Typ |
|---|---|---|---|
Status Word Error Mask | 0x0008 |
| WORD |
Actual Position Filter
Name | Standardwert | Einheit | Typ | |
|---|---|---|---|---|
Filter Type | None |
| ||
| Filter Time Position | 0.0 | s | LREAL |
| Filter Time Velocity | 0.0 | s | LREAL |
| Filter Time Acceleration | 0.01 | s | LREAL |
| Filter Time | 0.001 | s | LREAL |
Filter Type
None
Es wird kein Filter angewendet.
PT1-Filter
Es handelt sich um ein Verzögerungsglied erster Ordnung (digitaler Tiefpassfilter, Proportionalglied mit Verzögerung 1. Ordnung) zur Glättung verrauschter Signale (Istwert). Der PT1-Filter wird unabhängig auf die drei Istwerte Position, Geschwindigkeit und Beschleunigung angewendet. Jede Größe besitzt eine eigene Filterzeitkonstante. Die Filterzeitkonstanten sind im positiven Wertebereich zu wählen. Der Wert 0.0 deaktiviert die Filterung der entsprechenden Größe. Je größer die Filterzeitkonstante, desto stärker wird der Istwert geglättet und desto größer ist die Verzögerung.
Da die Größen getrennt gefiltert werden, sind die Ausgangswerte nicht zwangsläufig konsistent zueinander.
MovingAverage-Filter
Der Moving-Average-Filter bildet den arithmetischen Mittelwert über ein gleitendes Zeitfenster der letzten N Eingangswerte und ist damit ein einfaches FIR-Tiefpassfilter (mit endlicher Impulsantwort).
Der Moving-Average-Filter wird unabhängig auf die drei Istwerte Position, Geschwindigkeit und Beschleunigung angewendet. Jede Größe besitzt eine eigene Fensterlänge N. Die Fensterlänge ergibt sich aus dem Quotienten der parametrierten Filterzeit und der Zykluszeit. Es ist eine maximale Fensterlänge von 1000 Datenpunkte möglich. Die Totzeit entspricht der halben Fensterlänge.
Da die Größen getrennt gefiltert werden, sind die Ausgangswerte nicht zwangsläufig konsistent zueinander.
Eine Filterzeit von 0.0 wird der Istwert unmittelbar verarbeitet uns nicht gefiltert. Eine große Filterzeit bewirkt eine starke Glättung und erhöht die Totzeit.
KalmanFilter3x1
Der Kalman-Filter 3x1 schätzt aus den fortlaufenden Positions-Istwerten einen Satz von Position (s), Geschwindigkeit (v) und Beschleunigung (a). Dies dient zum einen der Rauschunterdrückung und zum anderen findet die Berechnung von (s,v,a) konsistent, d.h. unter Berücksichtigung der Abhängigkeit der Größen untereinander, statt. 3x1 beschreibt dabei, dass der Filter drei Ausgangsgrößen (s,v,a) und eine Eingangsgröße (s) hat.
Die Konsistenz von (s,v,a) untereinander ist häufig von Vorteil. Insbesondere wird der Kalman-Filter bei einer Kopplung einer Achse auf ein Gebersignal empfohlen.
Der Kalman-Filter 3x1 wird durch die "Filter Time" parametriert, welche die Zeitskala beschreibt, die zur Berechnung von (s,v,a) berücksichtigt wird. Die Wahl dieses Parameters stellt einen Kompromiss zwischen Rauschunterdrückung und dynamischer Reaktionsfähigkeit dar. Eine größere Filter Time führt zu einer größeren Rauschunterdrückung bei gleichzeitiger Abnahme der Reaktionsfähigkeit, und umgekehrt (siehe unten Parameter Filter Time).
Filter Time Position
Der Parameter ist aktiv, wenn der Filter Type auf PT1 oder MovingAverage eingestellt ist. Der Wert 0.0 deaktiviert die Filterung der Position. Die Filterzeitkonstante ist im positiven Wertebereich zu wählen. Je größer die Filterzeitkonstante, desto stärker wird der Istwert geglättet und desto größer ist die Verzögerung.
Filter Time Velocity
Der Parameter ist aktiv, wenn der Filter Type auf PT1 oder MovingAverage eingestellt ist. Der Wert 0.0 deaktiviert die Filterung der Geschwindigkeit. Die Filterzeitkonstante ist im positiven Wertebereich zu wählen. Je größer die Filterzeitkonstante, desto stärker wird der Istwert geglättet und desto größer ist die Verzögerung.
Filter Time Acceleration
Der Parameter ist aktiv, wenn der Filter Type auf PT1 oder MovingAverage eingestellt ist. Der Wert 0.0 deaktiviert die Filterung der Beschleunigung. Die Filterzeitkonstante ist im positiven Wertebereich zu wählen. Je größer die Filterzeitkonstante, desto stärker wird der Istwert geglättet und desto größer ist die Verzögerung.
Filter Time
Der Parameter ist aktiv, wenn der Filter Type auf KalmanFilter3x1 eingestellt ist. Der Kalman Filter wird durch eine vereinfachte Parametrierung über eine einzelne Filterzeitkonstante auf die Anwendung angepasst. Je größer die Filterzeitkonstante, desto höher ist der Grad der Glättung.
