AXCPLTAB (Tabellen-Achskopplung)
Der Baustein wird benötigt, um eine beliebige Servo-Achse als Slave an eine beliebige andere Servo-Achse zu koppeln. Die Kopplung geschieht in diesem Fall in Form einer Tabelle, die wiederum aus einer vorgebbaren Anzahl von Stützpunkten besteht (Ortskurve).
Bei den Tabellen unterscheidet man zwischen vier verschiedenen Typen:
- Äquidistante Lineare Tabellen,
- Äquidistante Zyklische Tabellen,
- Monotone Lineare Tabellen und
- Monotone Zyklische Tabellen.
Diese Art der Kopplung kann nur im Stillstand erfolgen. Eine Slave-Achse darf nach erfolgter Kopplung nicht mehr mit Fahrbefehlen angesprochen werden, da sie ihre Selbständigkeit verloren hat und erst durch ein Entkoppeln wiedergewinnt. Der CPLOFF-Eingang hat eine höhere Priorität als CPLON. Wenn gleichzeitig eine positive Flanke an CPLOFF und CPLON angelegt wurde, wird die Kopplung deaktiviert.
Der Baustein besitzt folgende Eingänge:
Eingang | Datentyp | Beschreibung |
---|---|---|
AXID | UINT | Achsen-Id |
MASTERID | UINT | Id der Master-Achse |
SLAVEOFFSET | LREAL | Für die Interpretation der Slaveposition in der Koppel-Tabelle kann Positionsoffset angegeben werden, der im Standardfall 0.0 ist. Die physikalische Einheit entspricht der Basis-Längeneinheit der Achse (z. B. mm). |
MASTEROFFSET | LREAL | Für die Interpretation der Masterposition in der Koppel-Tabelle kann Positionsoffset angegeben werden. der im Standardfall 0.0 ist. Die physikalische Einheit entspricht der Basis-Längeneinheit der Achse (z. B. mm). |
SLAVEABSOLUT | UDINT | Interpretation der Slave-Tabellenpositionen als absolute oder relative Positionen |
MASTERABSOLUT | UDINT | Interpretation der Master-Tabellenpositionen als absolute oder relative Positionen |
TABID | UDINT | Hier wird die systemweite gültige Tabellen-Id angegeben. Eine Tabellenkopplung setzt voraus, dass diese Tabelle mit der entsprechenden Dimension bereits existiert und mit gültigen Werten gefüllt worden ist. Hierbei wird zwischen vier verschiedenen Tabellentypen unterschieden:
|
CPLON | BOOL | Kopplung ein |
CPLOFF | BOOL | Kopplung aus |
TMOUT | TIME | ADS Timeout-Delay |
Ausgang | Datentyp | Beschreibung |
---|---|---|
BUSY | BOOL | Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt, längstens aber für die Dauer der, an dem 'Timeout'-Eingang angelegten, Zeit. Während Busy = TRUE wird an den Eingängen kein neuer Befehl angenommen. Bitte beachten Sie, dass nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich überwacht wird. |
ERR | BOOL | Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in 'ErrorId' enthalten. Wenn der Baustein ein Timeout-Fehler hat, so ist 'Error' = TRUE und 'ErrorId' = 1861 (Hexadezimal 0x745). Wird durch das Ausführen eines Befehls an den Eingängen auf FALSE zurückgesetzt.. |
ERRID | UDINT | Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt. Die Fehlernummern in ErrId können in der ADS Fehlerdokumentation |
Beispiel

Das Bild zeigt eine Instanz "AXCPLTAB_1" des Bausteins AXCPLTAB, mit dem die Achse mit der ID 3 an die Achse mit der ID 1 (Masterachse) gekoppelt bzw. entkoppelt werden kann (steigende Flanke des Zustands der Variable "bCouple" bzw. "bDiscouple"). Die Positionssollwerte des Masters und des Slaves werden aus einer vorliegenden, binären Tabelle entnommen. Im Beispiel wird eine äquidistante lineare Tabelle verwendet (TabId=1). Positionsoffsets sind im Beispiel beim Master und beim Slave mit 0.0 vordefiniert. Es folgt ein Beispiel einer äquidistanten, linearen Tabelle im ASCII-Format mit 81 Zeilen (Masterposition von 0.0 bis 80.0 mm bzw. Grad; Slaveposition von 0.0 bis 279.72 mm bzw. Grad).
81 | 2 |
+0.00000 | +0.00000 |
+1.00000 | +0.10783 |
+2.00000 | +0.43114 |
... | ... |
+76.00000 | +277.99809 |
+77.00000 | +278.75055 |
+78.00000 | +279.28886 |
+79.00000 | +279.61217 |
+80.00000 | +279.72000 |
Tabellentyp:
Äquidistante lineare Tabelle mit 81 Wertepaaren (Stützstellen)
Erste Zeile:
Anzahl Zeilen (n=81) und Anzahl Spalten (m=2)
Folgende Zeilen:
n-Zeilen mit Masterposition (absolut oder relativ) und zugehöriger Slaveposition (absolut oder relativ)
Anmerkung:
Zwischen den Stützstellen findet in jedem SAF-Zyklus der Achse eine lineare Interpolation statt. Die Tabellengröße und die Diskretisierung in der Position ist frei wählbar.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.7.0 | PC (i386) | PlcNc.Lib |
TwinCAT v2.8.0 | PC (i386) | TcNC.Lib |