AXCPL (Achskopplung)

AXCPL (Achskopplung) 1:

Der Baustein wird benötigt, um eine beliebige Servo-Achse als Slave an eine beliebige andere Servo-Achse zu koppeln. Je nach Kopplungsart kann die Kopplung im Stillstand oder bei fahrender Master-Achse 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. Die einfachste Kopplungsart ist die Linearkopplung mit einem festen Übersetzungsverhältnis (elektronisches Getriebe), diese Kopplung ist auch mit negativen Getriebefaktor möglich.

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.

 

Hinweis

Wenn der Sollwertgeneratortype der Achse auf "7 Phasen (optimiert)" eingestellt ist, wird die Slaveachse nach dem Abkoppeln beschleunigungsfrei gefahren und mit der sich einstellenden konstanten Geschwindigkeit weitergefahren.
Es erfolgt keine Positionierung um den mit dem Koppelfaktor umgerechneten Masterverfahrweg, sondern es stellt sich ein Verhalten wie nach einem MC_MoveVelocity ein.
In TwinCAT 2.10 ist der Sollwertgeneratortyp wählbar.
Ab TwinCAT 2.11 ist der Sollwertgeneratortype fest auf "7 Phasen (optimiert)" eingestellt.
Bei der Umstellung eines Projektes von TwinCAT 2.10 auf TwinCAT 2.11 ergibt sich damit das hier beschriebene Verhalten.
Ein Update bestehender Applikationen auf Version 2.11 kann daher, je nach Anwendung, eine Anpassung des SPS-Programms erforderlich machen.

Der Baustein besitzt folgende Eingänge:

Eingang

Datentyp

Beschreibung

AXID

INT

Id der Slaveachse

MASTERID

INT

Id der Masterachse

CPLMODE

INT

Kopplungsart

CPLPAR1

LREAL

Kopplungsparameter 1

CPLPAR2

LREAL

Kopplungsparameter 2

CPLPAR3

LREAL

Kopplungsparameter 3

CPLPAR4

LREAL

Kopplungsparameter 4

CPLON

BOOL

Kopplung aktivieren 

CPLOFF

BOOL

Kopplung deaktivieren

TMOUT

TIME

ADS Timeout-Delay

 

Ausgang

Datentyp

Beschreibung

BUSY

BOOL

Dieser Ausgang bleibt solange auf TRUE, wie 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

 

CPLMODE

Define

Kopplungsart

1

"Lineare Kopplung (Geradengleichung)"
Lineare Kopplung mit konstantem Getriebeverhältnis, das sowohl positive als auch negative Werte annehmen darf, allerdings nur Werte ungleich Null. 
Anmerkung: 

Ebenfalls kann das Getriebeverhältnis bei einer bestehenden Kopplung online per ADS geändert werden. Da diese Änderung allerdings abrupt wirkt, darf der Getriebefaktor nur um sehr kleine Beträge innerhalb seiner Nachkommastellen verändert werden (Verstimmung).

CplPara1':

Getriebefaktor

CplPara2':

reserviert

CplPara3':

reserviert

CplPara4':

reserviert

2

"Fliegende Säge Kopplung (Diagonal-Kopplung) auf Geschwindigkeit"
Diagonal synchronisiertes Aufkoppeln ("Fliegende Säge") mit ruckbegrenztem Geschwindigkeitsprofil. 

Masterverfahrweg während der Slavebeschleunigungsphase ist gleich dem doppelten Slaveverfahrweg während der Slavebeschleunigungsphase.

CplPara1':

reserviert

CplPara2':

reserviert

CplPara3':

Neigungswinkel der Diagonalsäge in Bezug auf die Orthogonale zur Masterstrecke [Grad]. Der Winkel muss sich im Wertebereich von echt größer 0 Grad und kleiner gleich 90 Grad (parallel) befinden.

CplPara4':

Getriebefaktor (falls 0, dann wird diese Variable mit 1.0 vorbelegt)

3

"Fliegende Säge Kopplung (Diagonal-Kopplung) auf Position und Geschwindigkeit"
Diagonal synchronisiertes Aufkoppeln ("Fliegende Säge") mit ruckbegrenztem Geschwindigkeitsprofil. 

Der Masterverfahrweg während der Slavebeschleunigungsphase ist gleich dem doppelten Slaveverfahrweg während der Slavebeschleunigungsphase.

CplPara1':

Absolute Master-Synchronposition [mm]

CplPara2':

Absolute Slave-Synchronposition [mm]

CplPara3':

Neigungswinkel der Diagonalsäge in Bezug auf die Orthogonale zur Masterstrecke [Grad]. Der Winkel muss sich im Wertebereich von echt größer 0 Grad und kleiner gleich 90 Grad (parallel) befinden.

CplPara4':

Getriebefaktor (falls 0.0, dann wird diese Variable mit 1.0 vorbelegt)

12

"Fliegende Säge Modulo Kopplung (Beschleunigungsbegrenzt)"
Diese Kopplungsart ist speziell für Moduloachsen (eine sich periodisch fortsetzende Bewegung, wobei die Periode nicht zwingend 360.0 Grad entsprechen muss) entwickelt worden. Das besondere an diesem Slavetyp ist, dass die Slaveachse erstmalig verschiedene Unterbetriebsarten besitzt, wobei ein extern angeforderter Wechsel von der einen in die andere Betriebsart jederzeit möglich ist. Die Slaveachse beantwortet dies mit einer Zwischenphase, die ein Aufsynchronisieren auf die angeforderte Betriebsart bedeutet. Dieses Aufsynchronisieren ist als Streckensteuerung implementiert, d. h. in weiten Grenzen unbeeinflusst von den Veränderungen der Masterdynamik. Das Aufsynchronisieren bedeutet bei dieser Modulo-Kopplung, dass bezogen auf die Moduloperiode auf kürzestem Wege (± ½ Periode) eine feste Orientierung hergestellt wird.

CplPara1':

Getriebefaktor (momentan zwingend mit 1.0 vorausgesetzt !)

CplPara2':

Maximale Slavebeschleunigung in Prozent bezogen auf das Minimum von Beschleunigung und Verzögerung. Wertebereich: >0.0 bis ... 1.0

CplPara3':

Masterachs-ID 2 für Tabellenkopplung

CplPara4':

Optionale Tabellen-ID (Tabellentypen: äquidistant zyklisch und nichtäquidistant zyklisch)

Funktion noch nicht freigegeben !

15

"Lineare Kopplung mit zyklisch variablem Getriebefaktor"
Bei einer zyklischen Slave-Achse wird der Getriebefaktor über das Achsinterface von der SPS vorgegeben (s. Variable "fAxisModeLReal" in der Struktur PLCTONC_AXLESTRUCT) und kann in jedem SPS-Zyklus geändert werden. Diese Änderung wird dann automatisch durch den zyklischen Datenaustausch des  Achsinterfaces von der SPS zur NC übertragen. Um extreme Sprünge des Getriebefaktors und damit sprungartig hohe Beschleunigungen zu vermeiden, lässt sich die bei einer Getriebefaktoränderung resultierende Beschleunigung des Slaves über einen Begrenzungsparameter pa limitieren. Der Begrenzungsparameter wird bei der Achskopplung durch den ersten Koppelparameter festgelegt.

CplPara1':

entspricht indirekt, nämlich bezogen auf eine maximale Mastergeschwindigkeit, einer maximal erlaubten Beschleunigung (pa = aSlaveMax / vMasterMax ). Der Begrenzungsparameter pa entspricht dabei dem Kehrwert der Hochlaufzeit tH = 1 / pa .

CplPara2':

reserviert

CplPara3':

reserviert

CplPara4':

reserviert

16

"Bi-Lineare Kopplung"
Die Bi-Lineare Kopplung ist vergleichbar mit der Linearen Kopplung (Koppelmode: 1), allerdings sind hier zeitgleich zwei Linearkopplungen über den Getriebefaktor 1 und Getriebefaktor 2 (zur zusätzlichen Masterachs-ID 2) wirksam. Anwendungsfall könnte das Gewindebohren/Gewindeschneiden sein, wo ein linearer Vorschub zusammen mit einer rotatorischen Bewegung koordiniert werden müssen.
Anmerkung:

Wenn die Hauptmasterachse 1 nicht logisch in Bewegung ist, dann werden unabhängig von der Bewegungsphase der Masterachse 2 keine Slavesollwerte berechnet. Ebenfalls sei in diesem Zusammenhang angemerkt,, dass eine Achse, die mit dem Geschwindigkeitsoverride 0% verfährt, ebenfalls als logisch in Bewegung gilt!

CplPara1':

Getriebefaktor 1 (Hauptgetriebefaktor)

CplPara2':

Getriebefaktor 2 (Nebengetriebefaktor)

CplPara3':

Masterachs-ID 2 für den Getriebefaktor 2

CplPara4':

reserviert

18

"Kopplung mit konstante Oberflächengeschwindigkeit und zyklisch variablem Getriebefaktor"
Dieser Typ beinhaltet die mathematische Rechnung für eine Kopplung zwischen einer rotatorischen Slaveachse und einer translatorischen Masterachse. Zweck ist, für die rotatorisch eingemessene und geregelte Slaveachse in Abhängigkeit ihres Trommeldurchmessers eine konstante Oberflächengeschwindigkeit (Umfangsgeschwindigkeit) bezogen auf die Masterachse herzustellen und nachzuregeln. Der Trommelradius dieser Slaveachse wird mittels eines zweiten Encoders (Nebenencoder), der für die Slaveachse im Systemmanager konfiguriert sein muss, automatisch in jedem NC-SAF-Zyklus ausgewertet und für die Berechnung verwendet. Ebenfalls kann und darf dieser Radius niemals den Wert 0.0 mm besitzen, da sonst eine Berechnung nicht mehr möglich ist. 
Zusätzlich wird über das zyklische Achsinterface (s. "Lineare Kopplung mit zyklisch variablem Getriebefaktor") ein Getriebefaktor g(t) vorgegeben (s. Variable "fAxisModeLReal" in der Struktur PLCTONC_AXLESTRUCT), der im trivialsten Fall konstant den Wert 1.0 haben kann (keine weitere Beeinflussung). Wenn also die Slaveachse mit ihrem Hauptencoder auf Grad und ihrem Nebenencoder (Radiuserfassung r(t)) auf mm eingemessen ist und der Master als translatorische Achse in mm, dann ergibt sich die Berechnung der Slavegeschwindigkeit nach folgender Formel: 
vSlave = 360° / (2PI * r(t)) * g(t) * vMaster .

'CplPara1':

entspricht indirekt, nämlich bezogen auf eine maximale Mastergeschwindigkeit, einer maximal erlaubten Beschleunigung (pa = aSlaveMax / vMasterMax ). Der Begrenzungsparameter pa entspricht dabei dem Kehrwert der Hochlaufzeit tH = 1 / pa .

'CplPara2':

reserviert

'CplPara3':

reserviert

'CplPara4':

reserviert

 

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.7.0

PC (i386)

PlcNc.Lib

TwinCAT v2.8.0

PC (i386)

TcNC.Lib