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:
- 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.
- 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.
- HLI_AXIS_COUPLING_DIRECT: Der Kopplungsfaktor zwischen Quell- und Zielachse ist 1.
- HLI_AXIS_COUPLING_MIRROR: Der Kopplungsfaktor zwischen Quell- und Zielachse ist -1.
- 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