Achskopplungen über HLI (A9)

1.1 EinleitungPAGEREF _Toc302402344 \h2

1.2 Beschreibung 3

1.3 Beispiele 6

Mehr:

button Einleitung

button Beschreibung

button Beispiele

>


Einleitung

Aufgabe

Achskopplungen werden eingesetzt, um die Achsbewegung einer Achse an die Achsbewegungen einer oder mehrerer anderer Achsen zu koppeln. Die Kopplung erfolgt relativ zur Position der Achse bei Aktivierung der Kopplung. Eine Überwachung der dynamischen Grenzwerte der Zielachse wird nicht durchgeführt.

In diesem Beispiel wirken mehrere Quellachsen auf eine physikalische Zielachse, die Interpolatorachse, die die Zielachse normalerweise bewegt muss nicht notwendigerweise zu den Quellachsen gehören.

Wirksamkeit

Die Achskopplungen sind nach Aktivierung der Funktionalität über das HLI-Interface aktiv.

Parametrierung

Die Definition der Kopplungsvorschriften erfolgt ausschließlich über das HLI-Interface siehe auch [HLI].

Ändern der Kopplung

Das Ändern der Achskopplung kann nur im Stillstand der Achsen stattfinden. Die Geschwindigkeit der Achsen im aktuellen Takt muss also 0 sein, d.h.:

· die Zielachse darf nicht bewegt werden

· und alle eingekoppelten Quellachsen dürfen nicht bewegt werden.

Ist dies nicht der Fall, so wird mit einer Fehlermeldung P-ERR-70200 Aktivierung der Achskopplung bei bewegten Achsen nicht moeglich angehalten.

>


Beschreibung

Definitionen

Die Definition, wie die Bewegung einer Achse eine andere Achse beeinflusst, wird als Kopplungsvorschrift bezeichnet.

Im folgenden wird die Achse, deren Achsposition durch eine Kopplungsvorschrift von anderen Achsen beeinflusst wird als Zielachse bezeichnet.

Achsen, die andere Achsen über Kopplungsvorschriften beeinflussen, werden als Quellachsen bezeichnet.

Allgemein

Die Definition der Kopplungsvorschriften einer Ziel-Achse erfolgt über eine achsspezifische Control-Unit des HLI.

Diese ist erreichbar unter:

§ pAC[AxIndex]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling

In dieser Control  Unit der Ziel-Achse werden die Kopplungsvorschriften durch Angabe der logischen Achsnummer der Quellachse und des Kopplungsmodus definiert. Bei Verwendung des Kopplungsmodes HLI_AXIS_COUPLING_FRACT ist zusätzlich der Kopplungsfaktor als Bruch anzugeben.

Definition der logischen Achsnummer der Quellachse:

§ pAC[AxIndex]^.addr^.McControlLr_Data.HLIAxisCouplingData.desc[Kopplungsindex].AxisNumber

Definition des Kopplungsmodus für diese Quellachse:

§ pAC[AxIndex]^.addr^.McControlLr_Data.HLIAxisCouplingData.desc[Kopplungsindex].CouplingMode

Definition des Kopplungsfaktors:

§ pAC[AxIndex]^.addr^.McControlLr_Data.HLIAxisCouplingData.desc[Kopplungsindex].FractNumerator

§ pAC[AxIndex]^.addr^.McControlLr_Data.HLIAxisCouplingData.desc[Kopplungsindex].FractDenominator

Die Anzahl der definierbaren Kopplungsvorschriften ist in der Konstanten HLI_AxisCouplingMax abgelegt.

Die Aktivierung der eingetragenen Kopplungsvorschriften erfolgt durch Setzen des HLI-Signals:

§ pAC[AxIndex]^.addr^.McControlLr_Data.HLIAxisCouplingData.X_Semaphor auf TRUE.

Nach Auswertung der Kopplungsvorschriften und Überprüfung auf Fehler wird X_Semaphor vom NC-Kern zurückgesetzt.

Weitere Einzelheiten zur Programmierung des HLI können [HLI] entnommern werden.

Programmierung der Zielachse

Bei der Verwendung von Achskopplungen müssen alle Quellachsen, die auf eine Zielachse wirken, angegeben werden. Wenn eine Zielachse auch in einem NC-Programm programmiert werden soll, so ist für die logische Achsnummer der Zielachse auf dem HLI eine Kopplungsvorschrift zu definieren (Beispiel 2). D.h. für die programmierte Achse muss eine Koppelvorschrift zwischen eigener Quellachse zur eigenen Zielachse definiert sein.

Kopplungsmodi

Für eine Kopplungsvorschrift können die folgenden Kopplungsmodi angegeben werden:

q HLI_AXIS_COUPLING_INACTIVE: Die Kopplungsvorschrift ist inaktiv. Alle folgenden Kopplungsvorschriften sind ebenfalls inaktiv. Wird die erste Kopplungsvorschrift als inaktiv definiert, so werden alle Kopplungsvorschriften deaktiviert.

q HLI_AXIS_COUPLING_ZERO: Der Kopplungsfaktor ist Null. Dieser Modus kann verwendet werden um eine Achse stillzulegen. Eine stillgelegte Achse kann trotzdem eine Quellachse für eine andere Achse sein.

q HLI_AXIS_COUPLING_DIRECT: Der Kopplungsfaktor zwischen Quell- und Zielachse ist 1.

q HLI_AXIS_COUPLING_MIRROR: Der Kopplungsfaktor zwischen Quell- und Zielachse ist -1.

q HLI_AXIS_COUPLING_FRACT: Kopplungsfactor ist ein Bruch, definiert durch .desc[idx].FractNumerator / .desc[idx].FractDenominator.

Kopplungsfaktor

Bei Verwendung des des Kopplungsmode HLI_AXIS_COUPLING_FRACT kann der Kopplungsfaktor zwischen Quell- und Zielachse in Form eines Bruches angegeben werden.

Hierzu werden die beiden Elemente desc[idx].FractNumerator und desc[idx].FractDenominator verwendet. Der Kopplungsfaktor K ist damit definiert zu:

Der zulässige Wertebereich für das Element FractNumerator beträgt

[-32768 ... 32767]. Ein Wert von Null hat dieselbe Wirkung wie der Kopplungsmode HLI_AXIS_COUPLING_ZERO.

Der zulässige Wertebereich für das Element FractDenominator beträgt

[-32768 ... 32767] ohne den Wert 0. Ein Wert von Null führt zur Ausgabe der Fehlermeldung P-ERR-70796.

Der Absolutwert des Kopplungsfaktors ist auf den Wert HLI_AXIS_COUPLING_FACT_MAX begrenzt. Wenn der eingestellte Kopplungsfaktor diesen Wert übersteigt wird die Fehlermeldung P-ERR-70397 ausgegeben.

Softwareendschalter

Bei Verwendung des des Kopplungsmode HLI_AXIS_COUPLING_FRACT wird die sich durch die aktiven Achskopplungen ergebende Sollposition der Zielachse auf die in der Achsparameterliste eingestellten Softwareendschalter (P-AXIS-00177/P-AXIS-00178) überwacht, sofern die Achse referenziert ist.

Hierbei wird geprüft, ob von der aktuellen Achsgeschwindigkeit noch mit der Nothaltverzögerung (P-AXIS-00003) vor dem konfigurierten Softwareendschalter angehalten werden kann. Würde der Softwareendschalter überfahren wird die Fehlermeldung P-ERR-70195 ausgegeben und die Achse angehalten.

Deaktivierung

Die Achskopplungen einer Achse können durch Setzen des Kopplungsmodus des ersten Eintrages auf HLI_AXIS_COUPLING_INACTIVE deaktiviert werden.

Statusanzeige

Der Status der Achse bezüglich Achskopplungen wird auf dem HLI im Unterelement AxisCouplingState der Control Unit MCControlAxisCouplingUnit_AxisCoupling angezeigt:

§ pAC[AxIndex]^.addr^.McControlLr_Data.MCControlAxisCouplingUnit_AxisCoupling.AxisCouplingState

Im Element X_State wird angezeigt, ob für die Achse eine Achskopplung aktiv ist. Bei aktiver Kopplung ist X_State = TRUE.

Im Array desc[] werden bei aktiver Achskopplung die für diese Achse definierten Kopplungen angezeigt.

Das Element desc[] enthält dabei für eine Kopplungsvorschrift im Element AxisNumber die logische Achsnummer der Quellachse und dem Element CouplingMode den für die Quellachse definierten Kopplungsmodus

Ändern der Achskopplung

Da das Ändern einer Achskopplung nur im Stillstand der Ziel- und der eingekoppelten Quellachse erfolgen kann, muss die SPS bei Ändern der Kopplung dies entsprechend sicherstellen.

Hierzu kann z.B. zunächst die aktuelle Sollgeschwindigkeit [10-3 mm/s oder 10-3 Grad/s] der Achse geprüft werden, bevor die Kopplung aktiviert wird.

pAC[]^.addr^.StateLR_Data.D_ActiveRev

>


Beispiele

Beispiel 1

Für die Achse mit der logischen Achsnummer 8 und dem Achsbezeichner Y2 sollen Kopplungsvorschriften definiert werden:

desc[1].AxisNumber := 1
desc[1].CouplingMode := HLI_AXIS_COUPLING_DIRECT

desc[2].AxisNumber := 0
desc[2].CouplingMode := HLI_AXIS_COUPLING_INACTIVE

Die Achse bewegt sich synchron zur Achse mit der logischen Achsnummer 1. Da für die logische Achsnummer 8 keine Kopplungsvorschrift definiert wurde, kann die Achse über das NC-Programm nicht bewegt werden.

In der Kopplungsvorschrift 1 müssen die Elemente desc[1].FractNumerator und desc[1].FractDenominator nicht belegt werden, da der Kopplungsmode HLI_AXIS_COUPLING_FRACT nicht verwendet wird.

Durch die Kopplungsvorschrift desc[2] wird angezeigt, dass die Liste der Kopplungsvorschriften hier endet.

Beispiel 2

desc[1].AxisNumber := 1
desc[1].CouplingMode := HLI_AXIS_COUPLING_DIRECT

desc[2].AxisNumber := 8
desc[2].CouplingMode := HLI_AXIS_COUPLING_DIRECT

desc[3].AxisNumber := 0
desc[3].CouplingMode HLI_AXIS_COUPLING_INACTIVE

Durch Hinzufügen der Kopplungsvorschrift desc[2] kann die Achse nun auch über das NC-Programm bewegt werden.

In den Kopplungsvorschriften 1 und 2 müssen die Elemente desc[1].FractNumerator und desc[1].FractDenominator nicht belegt werden, da dort der Kopplungsmode HLI_AXIS_COUPLING_FRACT nicht verwendet wird.

Durch die Kopplungsvorschrift desc[3] wird angezeigt, dass die Liste der Kopplungsvorschriften hier endet.

Beispiel 3

Für die Achse mit der logischen Achsnummer 8 und dem Achsbezeichner Y2 soll eine Kopplung mit dem Kopplungsfaktor 7/8 definiert werden, zugleich soll die Achse auch im NC-Programm programmiert werden können:

desc[1].AxisNumber := 8
desc[1].CouplingMode := HLI_AXIS_COUPLING_DIRECT

desc[2].AxisNumber := 1
desc[2].CouplingMode := HLI_AXIS_COUPLING_FRACT
desc[2]. FractNumerator := -7
desc[2]. FractDenominator := 8

desc[3].AxisNumber := 0
desc[3].CouplingMode HLI_AXIS_COUPLING_INACTIVE

In der Kopplungsvorschrift 1 müssen die Elemente desc[1].FractNumerator und desc[1].FractDenominator nicht belegt werden, da der Kopplungsmode HLI_AXIS_COUPLING_FRACT nicht verwendet wird.

Durch die Kopplungsvorschrift desc[3] wird angezeigt, dass die Liste der Kopplungsvorschriften hier endet.

>