Ausgangslage

TwinCAT CNC: Überblick

Inbetriebnahme von Achsen

Das vorliegende Dokument beschreibt die Parametrierung der Achsen der CNC-Steuerung. Es werden die zur Inbetriebnahme notwendigen Achsparameter und SPS-Signale besprochen. Hierbei wird davon ausgegangen, dass die Grundkonfiguration der Anlage (Anzahl Achsen, Anzahl Kanäle) bereits durchgeführt wurde und die Steuerung ohne Warnungen oder Fehlermeldungen hochläuft.


Übersicht

CNC-Achsen können in Achsen mit antriebsinterner oder CNC-interner Lageregelung unterteilt werden. Für Sercos-Antriebe sind beide Betriebsarten möglich. Die Betriebsart einer Achse kann im Achsparameter P-AXIS-00320 (operation_mode) festgelegt werden:

Derzeit wird der Achsparameter P-AXIS-00320 (operation_mode) nur für SERCOS-Achsen verwendet.

Variablenname | Typ | erlaubter Bereich | Achstyp | Dimension
operation_mode | ISG_CHAR | siehe untenstehende Strings | T, R | ----

String | Bedeutung
DRIVE_DEFAULT | Standardeinstellung. Die verwendete Betriebsart (Lageregelung im Antrieb, Lageregelung in der Steuerung, Geschwindigkeitsregelung, usw.) wird automatisch festgelegt. Sie ist z.B. abhängig vom Antriebstyp und dem konfigurierten Telegramm.
DRIVE_POSITION_CONTROL | In dieser Betriebsart wird die Lage- oder Geschwindigkeitsregelung im Antrieb durchgeführt.
CNC_POSITION_CONTROL | Die Lageregelung wird in der Steuerung durchgeführt.

Falls für eine Achse keine Betriebsart angegeben wird, verwendet die Steuerung die Defaulteinstellung. Eine Übersicht über die möglichen Betriebsarten in Abhängigkeit vom Antriebstyp zeigt die folgende Tabelle. Die Standardeinstellung ist fett hervorgehoben.

Antriebstyp | Lageregeler im Antrieb | Lageregler in der Steuerung
Konventioneller Antrieb |  | X
SERCOS | X | X
ProfiDrive MC | (X) | X
Antriebssimulation |  | X
Lightbus |  | X
Terminal (±10V) |  | X
Echtzeit-Ethernet |  | X
CANopen | X | X
Virtuell |  | X

Bei ProfiDrive Antrieben wird auch bei der Betriebsart Lageregelung im Antrieb der Schleppabstand in der Steuerung berechnet.

Bei CANopen-Antrieben erfolgt die Wahl der Betriebsart in Abhängigkeit vom konfigurierten Bus-Telegramm. Die Lageregelung wird im Antrieb durchgeführt, falls Sollpositionen übertragen werden. Wird hingegen nur ein Geschwindigkeitssollwert an den Antrieb übermittelt, findet die Lageregelung in der Steuerung statt.


Antriebstypspezifische Unterschiede

Mehr:

button SERCOS-Antriebe mit Lageregelung in der CNC-Steuerung


SERCOS-Antriebe mit Lageregelung in der CNC-Steuerung

Bei SERCOS-Antrieben findet i. A. die Lageregelung im Antrieb statt. Alternativ kann der Antrieb in der Betriebsart Geschwindigkeitsregelung betrieben und die Lageregelung in der CNC-Steuerung durchgeführt werden.

Für die Lageregelung in der CNC-Steuerung müssen folgende Voraussetzungen erfüllt sein:

q Die Betriebsart Geschwindigkeitsregelung ist im SERCOS-Antrieb aktiv

q Es wird die Sollgeschwindigkeit an den Antrieb übertragen (S-0-0036 ist im Telegramm enthalten)

q Es werden die Istpositionen vom Antrieb an die Steuerung übermittelt (S-0-0051, S-0-0053 oder S-0-0386 ist im Telegramm enthalten)

q Für die Betriebsart der Achse (s. P-AXIS-00320) ist CNC-Lageregelung ausgewählt (CNC_POSITON_CONTROL)

Wird die Lageregelung in der CNC-Steuerung durchgeführt, existieren gegenüber der Betriebsart Lageregelung im Antrieb folgende Einschränkungen:

q Ein antriebsgeführtes Referenzieren ist nicht möglich. Statt dessen wird eine CNC-geführte Referenzpunktfahrt durchgeführt.

q Bei der CNC-geführten Referenzpunktfahrt für SERCOS-Antriebe ist derzeit keine Nullimpulssuche möglich. Der Achsparameter P-AXIS-00084 (homing_without_zero_pulse) muss daher zu eins angegeben werden.

q Bei der Berechnung des Schleppabstandes werden keine Buslaufzeiten berücksichtigt (vergl. P-AXIS-00191)


Einleitung

Mehr:

button Antriebstypspezifische Unterschiede


Antriebstypspezifische Unterschiede

Abhängig vom Antriebstyp ist der eigentliche Lageregler für die Achsen in der CNC oder aber im Antrieb realisiert.

Bei einem sogenannten intelligenten Antrieb übernimmt der Antrieb die Lageregelung, die entsprechenden Achsparameter für den Lageregelkreis werden über entsprechende Antriebsparameter durchgeführt. In diesem Falle ist der Lageregelkreis der CNC nicht aktiv, die CNC übernimmt ausschließlich Überwachungsaufgaben (z. Bsp. Schleppabstandsüberwachung oder Kollisionsüberwachung) und versorgt den Antrieb zyklisch mit Sollwerten.

Wird im Gegensatz dazu der Lageregler der CNC verwendet (z. Bsp. Antriebstyp Terminal), wird an den Antrieb zyklisch eine Stellgröße ausgegeben. Diese Stellgröße beinhaltet die entsprechenden Normierungen aufgrund der eingestellten Achsparameter.

Die folgende Tabelle gibt die Wirksamkeit der besprochenen Parameter für die unterschiedlichen Antriebstypen an.

 | Lageregler im Antrieb | Lageregler in der Steuerung
Parameter | SERCOS | SERCOS | ProfiDrive MC | Lightbus | Terminal (±10V)
Messsystem-auflösung wegauf_z, wegauf_n |  | X | X | X | X
Verstärkungsfaktor des P-Lageregel-kreises Kv |  | X | X | X | X
Anpassung an D/A multi_gain_z, multi_gain_n |  | X |  | X | X
Vorzeichen Vz_stellgr, vz_istw |  | X | X | X | X

Vor der Inbetriebnahme der Achsen müssen die elektrischen Sicherheitseinrichtungen, insbesondere Notaus-Einrichtungen und Hardware-Endschalter der Achsen geprüft und funktionsbereit sein.


Einheiten

In den Achsparameterlisten werden grundsätzlich die folgenden Einheiten verwendet:

Größe | Einheit
Position linear | 0,1 μm
Position rotatorisch | 0,1 x 10-3°
Geschwindigkeit | 1 μm / s bzw. 10-3°/s
Beschleunigung | 1 mm / s2
Zeit | μs
Lagereglerverstärkung (Kv) | 0,01 * 1/s


Übersicht über die Parameter des Regelkreises

Die folgende Grafik zeigt den verwendeten Lageregelkreis sowie die Eingriffspunkte der Antriebsparameter, die in den folgenden Kapiteln erklärt werden.

Bild 1: Übersicht über den Lageregelkreis für konventionelle Antriebe


Auflösung des Wegmeßsystems

Zur Umrechnung der vom Wegmeßsystem gelieferten Inkremente in das metrische System (die intern verwendenten Einheit) muß der Umrechnungsfaktor in den beiden Einträgen getriebe[x].wegaufz und getriebe[x].wegaufn eingetragen werden.Hierbei sind auch eventuell vorhandene Getriebe zu berücksichtigen. Die Auflösung wird als Bruch angegeben, die Dimension ist Inkremente / 0,1 μm bzw. Inkremente pro 0,0001 °.

Beispiel 1:

Bei einem Inkrementalgeber mit 4096 Inkrementen und einer Spindelsteigung von 5 mm ergibt sich eine Auflösung von 4096 Inkrementen pro 5 mm. In der Achsparamterliste ist somit der folgende Eintrag einzutragen:

getriebe[0].wegaufz 4096

getriebe[0].wegaufn 50000

Beispiel 2:

Wird zusätzlich ein Getriebe mit einem Übersetzungsverhältnis von i = 10:1 verwendet so ergibt sich pro Motorumdrehung ein Weg von 5 mm / i. Damit ergibt sich für wegaufz und wegaufn:

getriebe[0].wegaufz 4096

getriebe[0].wegaufn 5000

Variablenname | Typ | erlaubter Bereich | Dimension
wegaufz | SGN32 | MAX(SGN32) ≥ wegaufz ≥ 1 | Inkr.

Variablenname | Typ | erlaubter Bereich | Dimension
wegaufn | SGN32 | MAX(SGN32) ≥ wegaufn ≥ 1 | 0,1µm oder 0,0001°

Dieser Eintrag wird beim Aktualisieren der Achsparameter-Liste nicht direkt übernommen. Ein Neustart der Steuerung ist notwendig.

Bei SERCOS-Antrieben mit Lageregelung in der Steuerung (Betriebsart CNC_ POSITION_CONTROL) sollte die Wegauflösung des Messsystems in der Vorschubkonstanten S-0-0123 berücksichtigt werden d.h. für den Quotienten P-AXIS-00234/ P-AXIS-00233 ergibt sich der Wert eins.


Vorzeichen von Ist- und Sollwert

Zur Anpassung der Stellgröße und der Lagegebersignale an die verwendete Hardware ist es manchmal nötig, die Vorzeichen von Stellgröße und Lageistwert zu invertieren.

Beispiel:

Die Achse wird in positiver Richtung programmiert. Tatsächlich bewegt sich das mechanische System jedoch in negative Richtung.

Hierzu können die beiden Einträge lr_hw[ ].vz_stellgr und lr_hw[ ].vz_istw verwendet werden.

Durch Setzen von vz_stellgr auf 1 wird das Vorzeichen der ausgegebenen Stellgröße umgedreht, beim Setzen von vz_istw auf 1 führt eine Vergrößerung der Position des Lagesensors zu einer Verkleinerung der im CNC-Kern verwendeten Achsposition.

lr_hw[0].vz_stellgr 0

lr_hw[0].vz_istw 0

Variablenname | Typ | erlaubter Bereich | Dimension
vz_stellgr | BOOLEAN | [0, 1] | ----

Variablenname | Typ | erlaubter Bereich | Dimension
vz_istw | BOOLEAN | [0, 1] | ----

Dieser Eintrag wird beim Aktualisieren der Achsparameter-Liste nicht direkt übernommen. Ein Neustart der Steuerung ist notwendig.


Lagereglerverstärkung

Der Lageregler der CNC verwendet zur Lageregelung einen P-Regler. Die Verstärkung des Reglers wird durch den Parameter getriebe[x].kv in der Dimension 0,01/s festgelegt.

Bei einem korrekt eingestellten Regelkreis gilt im stationären Fall:

Mit

s: Schleppfehler

v: Achsgeschwindigkeit

kv: Lageregler-Verstärkung

Um eine Lageregelerverstärkung von 3 / s einzustellen, ist in der Achsparameterliste der folgende Eintrag nötig.

getriebe[ ].kv 300

Variablenname | Typ | erlaubter Bereich | Dimension
kv | UNS32 | 0 < kv ≤ MAX(UNS32) | 0,01/s


Anpassung Stellgröße an DA-Wandler Format

Zur Anpassung der aus dem Schleppabstand berechneten Stellgröße an das Format des D/A-Wandlers werden die beiden Einträge P-AXIS-00129 (getriebe[x].multi_gain_z) und P-AXIS-00128 (getriebe[x].multi_gain_n) verwendet. Der Bruch P-AXIS-00129 / P-AXIS-00128 gibt den Umrechnungsfaktor der Stellgröße in das D/A-Wandlerformat an und wird auch als Multi_gain-Faktor bezeichnet.

Zur Bestimmung von P-AXIS-00129 und P-AXIS-00128 gibt es zwei Möglichkeiten:

1. rechnerische Bestimmung. Es ist der Digitalwert am D/A-Wandlereingang anzugeben, bei welchem die Achse mit der Geschwindigkeit von [1m/min] bzw. [1000°/min] verfährt. Zur rechnerischen Bestimmung von multi_gain_z/multi_gain_n müssen Getriebeübersetzungen, Spindelsteigung sowie antriebsseitig auf den Geschwindigkeitssollwert wirkende Skalierungsfaktoren bekannt sein.

2. experimentelle Bestimmung aus Schleppabstand und Achsgeschwindigkeit.

Die Einträge P-AXIS-00129 und P-AXIS-00128 sind ausschließlich zur Formatanpassung der Stellgröße vorgesehen. Zur Optimierung des Regelkreises ist der Lageregler-Verstärkungsfaktor P-AXIS-00099 (getriebe[].kv) zu verwenden.

Mehr:

button Rechnerische Bestimmung

button Experimentelle Bestimmung


Rechnerische Bestimmung

Der Multi-Gain-Faktor ist definiert als der Wert der Stellgröße bei der sich die Achse mit einer Geschwindigkeit von 1 m / min bzw. 1000° / min bewegt.

In diesem Abschnitt wird beispielhaft die rechnerische Bestimmung des Multi_gain-Faktors für einen Lightbus Antrieb sowie für einen Terminal-Antrieb durchgeführt. Zur rechnerischen Bestimmung des Multi_gain-Faktors werden die Verstärkungsfaktoren sämtlicher Übertragungselemente zwischen Geschwindigkeits-Sollwertausgang der Steuerung bis zur bewegten Achse benötigt. Dies sind unter anderem:

· Skalierungsfaktoren, die auf den Geschwindigkeitssollwert wirken

· Getriebeübersetzungen

· Spindelsteigungen

· ...

Die Vorgehensweise ist hierbei stets gleich:

1. Berechnung des Umrechungsfaktors f zwischen Motor-Umdrehungen pro Minute und dem im zyklischen Telegramm übertragenen Sollwert.

2. Berechnung der Motordrehzahl n1m/min die nötig ist, damit sich die Achse mit einer Geschwindigkeit von 1 m/min bzw. 1000°/min bewegt.

3. Das Verhältnis von P-AXIS-00129 zu P-AXIS-00128 ist dann gleich dem Produkt f * n1m/min.

Bei einem SERCOS-Antrieb mit Lageregelung in der Steuerung ist der Skalierungsfaktor (P-AXIS-00129/ P-AXIS-00128) der Geschwindigkeitssollwert S-0-0036, der an den Antrieb ausgegeben werden muss, damit sich die Achse mit der Geschwindigkeit 1 m/min (translatorische Achse) bzw. 1000 °/min (rotatorische Achse) bewegt. Er ist abhängig von:

q der Vorschubkonstanten S-0-0123

q dem Wichtungsfaktor S-0-0045 und dem Wichtungsexponent S-0-0046 der Geschwindigkeitsdaten im Antrieb

q der Getriebeübersetzung S-0-0121 und S-0-0122

Mehr:

button Beispiel: Lightbus Antrieb

button Beispiel: Terminal-Spindel

button Beispiel: Terminal-Spindel mit Getriebe

button Beispiel: CNC-geregelte, translatorische Achse mit SERCOS-Antrieb

button Beispiel: CNC-geregelte, rotatorische Achse mit SERCOS-Antrieb


Beispiel: Lightbus Antrieb

Bei einem Lightbus-Antrieb ist in der werksmäßigen Default-Parametrierung der Parameter VUNIT mit 1 belegt, dies bedeutet, dass die Geschwindigkeitsvorgabe für den Antrieb in Umdrehungen pro Minute erfolgt.

Schritt 1:

Der Umrechnungsfaktor zwischen Umdrehungen pro Minute und dem im zyklischen Telegramm übertragenen Sollwert beträgt laut der Herstellerdokumentation:

Um den Motor mit einer Drehzahl von einer Umdrehung pro Minute zu drehen ist die Ausgabe des Wertes 140 (gerundet) nötig.

Schritt 2:

Um eine Geschwindigkeit von 1 m/min zu erreichen ist bei einer Spindelsteigung von 5 mm und einer Getriebeübersetzung von i = 1:1 eine Motordrehzahl von

nötig.

Schritt 3:

Mit dem Geschwindigkeitsskalierungsfaktor f ergibt sich für den auszugebenden Geschwindigkeitssollwert für 1 m/min:

nötig.

Damit ist der Wert von [image] .

Alternativ kann multi_gain mit der folgenden Formel berechnet werden:

Hierbei ist Iu die Anzahl der Geberinkremente pro Motorumdrehung. Im Falle eines Lightbus-Antriebs sind dies 65536 Inkremente pro Umdrehung.

Bei einer Spindelsteigung von 5 mm/Umdrehung und 65536 Inkrementen pro Umdrehung ergibt sich für wegauf_z=65536 und wegauf_n=50000.

Mögliche Werte für P-AXIS-00129 und P-AXIS-00128 wären damit:

P-AXIS-00129 | 27962 | 279620 | 2796202 | ...
P-AXIS-00128 | 1 | 10 | 100 | ...


Beispiel: Terminal-Spindel

Eine Spindel wird über eine DA-Wandlerklemme KL4032 angesteuert, eine Spannung von 10 V am Eingang des Antriebsreglers entspricht einer Drehzahl von 9000 U/min, ein Getriebe ist nicht vorhanden. Bei der DA-Wanderklemme KL4032 entspricht bei der Default-Skalierung ein digitaler Ausgabewert von 32767 (0x7FFF) einer Ausgangsspannung von 10V.

Schritt 1:

Der Umrechnungsfaktor zwischen Umdrehungen pro Minute und dem im zyklischen Telegramm übertragenen Sollwert beträgt damit:

Damit sich die Spindel mit einer Drehzahl von 1 U/min dreht wäre also ein Wert von 3,64 an den DA-Wandler auszugeben.

Schritt 2:

Um eine Geschwindigkeit von 1000 °/min zu erreichen ist damit eine Motordrehzahl von

nötig.

Schritt 3:

Mit dem Geschwindigkeitsskalierungsfaktor f ergibt sich für den auszugebenden Geschwindigkeitssollwert für 1000 °/min:

nötig.

Damit ist der Wert von [image] .

Mögliche Werte für P-AXIS-00129 und P-AXIS-00128 wären damit:

P-AXIS-00129 | 10 | 101 | 1011 | ...
P-AXIS-00128 | 1 | 10 | 100 | ...


Beispiel: Terminal-Spindel mit Getriebe

Eine Spindel wird über eine DA-Wandlerklemme KL4032 angesteuert, eine Spannung von 10 V am Eingang des Antriebsreglers entspricht einer Motordrehzahl von 9000 U/min, am Motor ist ein Getriebe mit einem Übersetzungsverhältnis i=5 (5 Motorumdrehungen entsprechen einer Umdrehung am Getriebeausgang) angebaut. Bei der DA-Wanderklemme KL4032 entspricht bei der Default-Skalierung ein digitaler Ausgabewert von 32767 (0x7FFF) einer Ausgangsspannung von 10V.

Schritt 1:

Der Umrechnungsfaktor zwischen Motorumdrehungen pro Minute und dem im zyklischen Telegramm übertragenen Sollwert beträgt wie im vorherigen Beispiel:

Damit sich der Spindelmotor mit einer Drehzahl von 1 U/min dreht wäre also ein Wert von 3,6408 an den DA-Wandler auszugeben.

Schritt 2:

Hier macht sich nun die Verwendugn eines Getriebes bemerkbar.

Um getriebeausgangseitig Geschwindigkeit von 1000 °/min zu erreichen ist damit eine Motordrehzahl von

nötig.

Schritt 3:

Mit dem Geschwindigkeitsskalierungsfaktor f ergibt sich für den auszugebenden Geschwindigkeitssollwert für 1000 °/min:

nötig.

Damit ist der Wert von [image] .

Mögliche Werte für P-AXIS-00129 und P-AXIS-00128 wären damit:

P-AXIS-00129 | 50 | 506 | 5057 |
P-AXIS-00128 | 1 | 10 | 100 | ...


Beispiel: CNC-geregelte, translatorische Achse mit SERCOS-Antrieb

Pro Motorumdrehung bewegt sich die lineare Achse um einen Millimeter. Die Lagedaten im Antrieb werden translatorisch gewichtet:

Wichtungsfaktor: S-0-0077 = 1

Wichtungsexponent: S-0-0078 = -7

Die Wegauflösung des Messsystems beträgt daher: = 0,1 µm

Aus 1 Millimeter Verfahrweg pro Motorumdrehung, ergibt sich für die Vorschubkonstante S-0-0123 = [image] = 10000

Für die Geschwindigkeitsdaten wird ebenfalls eine translatorische Wichtung verwendet:

Wichtungsfaktor: S-0-045 = 1

Wichtungsexponent: S-0-046 = -4

Der Wichtungsfaktor der Geschwindigkeiten ist somit [image] .

Die Skalierung der Stellgröße beträgt daher:

Auszug aus Achsparameterliste:

getriebe[0].wegaufz 1

getriebe[0].wegaufn 1

getriebe[0].multi_gain_z 10000

getriebe[0].multi_gain_n 1


Beispiel: CNC-geregelte, rotatorische Achse mit SERCOS-Antrieb

Der Encoder liefert 65536 Inkrementen pro Umdrehung (S-0-0116). Die Rotationsauflösung im Antrieb wird daher mit S-0-0079 = 65536 angegeben.

Für die Auflösung des Wegmesssystems ergibt sich daher:

Im Antrieb wird eine rotatorische Wichtung der Geschwindigkeiten verwendet:

Wichtungsfaktor: S-0-045 = 1

Wichtungsexponent: S-0-046 = -4

Der Wichtungsfaktor für die Geschwindigkeiten ist:

Die notwendige Skalierung der Stellgröße beträgt daher:

Auszug aus Achsparameterliste:

getriebe[0].wegaufz 65536

getriebe[0].wegaufn 3600000

getriebe[0].multi_gain_n 10000000

getriebe[0].multi_gain_n 360


Experimentelle Bestimmung

Alternativ kann das Verhältnis multi_gain_z/multi_gain_n experimentell bestimmt werden indem die Achse mit konstanter Geschwindigkeit bewegt wird und aus Schleppfehler und Achsgeschwindigkeit zunächst die tatsächlich im Lageregelkreis wirksame Verstärkung gemäß der Formel

bestimmt wird.

Diese experimentell bestimmte Verstärkung wird nun mit dem in der Achsparameterliste eingestellten kv-Faktor (P-AXIS-00099) verglichen.

Anschließend wird ausgehend von den aktuell parametrierten Werten von multi_gain_z und multi_gain_n der neue multi_gain-Faktor berechnet:

Nach erfolgter Änderung der Parameter sind diese nochmals anhand der Formel 1 zu überprüfen. Die weiteren Optimierung des Lageregelkreises wird nun ausschließlich anhand des Parameters P-AXIS-00099 (getriebe[].kv) durchgeführt.

Falls der Faktor f größer als 1 ist erhöht sich bei einer Anpassung des multi_gain-Faktors die Gesamtverstärkung im Lageregelkreis. Dies kann zum Schwingen der Achse führen.

Um die Gesamtverstärkung im Lageregelkreis konstant zu halten sollte in diesem Fall die Lagereglerverstärkung P-AXIS-00099 auf den Wert P-AXIS-00099 / f gesetzt werden.

Beispiel:

Schleppfehler s = 1,9 mm,
Achsgeschwindigkeit v = 200 mm/min, P-AXIS-00099 = 400 * 1/s,
multi_gain_z = multi_gain_n = 1.

Tatsächliche Verstärkung im Lageregelkreis

k = v/s = 200 mm / (60 s * 1,9 mm)

k = 1,75

Das Verhältnis von parametrierter Verstärkung und tatsächlich wirksamer Verstärkung ergibt sich gemäß Formel 1 zu:

Damit ergibt sich der multi_gain-Faktor zu:

Mögliche Einträge in der Achsparameterliste wären somit:

P-AXIS-00129: getriebe[ ].multi_gain_z 2286

P-AXIS-00128: getriebe[ ].multi_gain_n 1000

Da mit diesen Einträgen die Gesamtverstärkung im Lageregelkreis um den Faktor f vergrößer wird sollte gleichzeitig P-AXIS-00099 mit dem Faktor 1/f multipliziert werden, um die Gesamtverstärkung im Regelkreis konstant zu halten:

Nach einer Überprüfung der ermittelten Parameter anhand von Gleichung 1 kann dann der Lageregelkreis durch Verändern von P-AXIS-00099 weiter eingestellt werden.


Antriebsfreigaben

Um einen Antrieb bewegen zu können müssen von der SPS auf dem HLI Freigabebits gesetzt werden. Die benötigten Freigaben können von der SPS durch Ansteuerung der entsprechenden Control-Units gesetzt werden. Nähere Informationen über das High-Level-Interface (HLI) und den Umgang mit Control-Units können der Dokumentation [HLI] entnommen werden.

Die Freigabebits des HLI werden normalerweise mit den zyklischen Daten des Antriebs zum Antriebsverstärker übertragen und wirken direkt im Antrieb. Zusätzlich werden innerhalb des NC-Kernes mit den Antriebsfreigaben Plausibilitätsprüfungen vorgenommen.

Beispielsweise wird beim Versuch eine Achse mit der NC zu bewegen, wenn die nötigen Freigaben nicht gesetzt sind, eine Fehlermeldung ausgegeben.

Die Freigaben sind achsweise wirksam und befinden sich im HLI im Abschnitt
pAC[Achsindex]^.addr^.McControlLr_Data.

Die Control-Units für die Antriebsfreigaben sind:

q MCControlBoolUnit_DriveOn: Antrieb ein (Abkürzung: DriveOn).

q MCControlBoolUnit_TorquePermission: Aktivierung des antriebsinternen Lage-oder Geschwindigkeitsreglers. Der Antrieb baut ein Drehmoment auf und geht in Regelung (Abkürzung: TorquePermission).

q MCControlBoolUnit_ReleaseFeedhold: Rücksetzen der antriebsinternen Vorschubsperre (Abkürzung ReleaseFeedhold).

Da nicht alle Antriebstypen alle in der vorhergehenden Aufzählung beschriebenen Funktionen unterstützen, gibt die folgende Tabelle einen Überblick über die für die einzelnen Antriebstypen benötigten Freigaben. Anschließend werden in den folgenden Abschnitten die einzelnen Antriebstypen detailiert behandelt. Ein X in der folgenden Tabelle gibt an, dass die jeweilige Funktion vom Antrieb unterstützt wird und deshalb die entsprechende Freigabe auf dem HLI zu setzen ist.

Control-Unit | SERCOS-Antrieb | PROFIDRIVE-Antrieb | Terminal-Antrieb | Lightbus-Antrieb | RTEthernet-Antrieb | CANopen-Antrieb
DriveOn | X | X |  |  |  | X
TorquePermission | X | X | X | X | X | X
Release Feedhold | X |  |  |  |  | X


Antriebsstatus

Digitale Antriebe liefern im zyklischen Telegramm Informationen über den internen Antriebsstatus. Diese Informationen werden im NC-Kern intern ausgewertet und auf dem HLI für die SPS bereitgestellt.

Die Zustandssignale können im Abschnitt

pAC[achs_index]^.addr^.StateLR_Data

ausgelesen werden.

Dort sind die Signale

q X_ReadyPowerOn: Der Antrieb ist bereit zur Leistungszuschaltung

q X_ReadyControlLoopOn: Der Antrieb geht in Regelung. Wenn die entsprechenden Freigaben (siehe Abschnitt 3.1) gesetzt sind, folgt der Antrieb den Positionsvorgaben durch den NC-Kern.

Abhängig vom Antriebstyp werden nicht alle Signale auf dem HLI unterstützt. Die folgende Tabelle gibt eine Übersicht, welcher Antriebstyp welche Zustandssignale unterstützt.

Zustandssignal | SERCOS-Antrieb | PROFIDRIVE-Antrieb | Terminal-Antrieb | Lightbus-Antrieb | RTEthernet-Antrieb | CANopen-Antrieb
ReadyPowerOn | X | X |  | X | X | X
ReadyControl-LoopOn | X | X |  |  |  | X


Antriebsfreigaben/Antriebsstatus der unterschiedlichen Antriebstypen

Mehr:

button SERCOS-Antriebe


SERCOS-Antriebe

Für SERCOS-Antriebe werden die folgenden Freigabe- und Zustandssignale unterstützt:

q MCControlBoolUnit_DriveOn: Leistungszuschaltung im Antrieb freigeben. (Abkürzung: DriveOn). Dieses Freigabesignal wird direkt in Bit 15 des SERCOS-Steuerworts eingetragen.

q MCControlBoolUnit_TorquePermission: Aktivierung des antriebsinternen Lage-oder Geschwindigkeitsreglers. Der Antrieb geht in Regelung (Abkürzung: TorquePermission).

q MCControlBoolUnit_ReleaseFeedhold: Rücksetzen der antriebsinternen Vorschubsperre (Abkürzung: ReleaseFeedhold).

q X_ReadyPowerOn: Der Antrieb ist bereit zur Leistungszuschaltung

q X_ReadyControlLoopOn: Der Antrieb ist in Regelung zu gehen. Wenn die entsprechenden Freigaben (siehe Abschnitt 3.1) gesetzt sind folgt der Antrieb den Positionsvorgaben durch den NC-Kern.


Allgemeines

Schrittmotoren können durch die Klemmen KL2521, KL2531 sowie KL2541 an die CNC angebunden werden. Durch diese Klemmen werden von der CNC ausgegebene Geschwindigkeitssollwerte in ein zur Ansteuerung von Schrittmotoren geeignetes Signalformat umgesetzt.

Die Klemme KL2521 erzeugt hierbei ein zur Ansteuerung einer Schrittmotor-Leistungsendstufe geeignetes Ausgangssignal ( z. B. ein Puls-Richtungs-Signal), die Klemmen KL2531 und KL2541 beinhalten bereits Leistungsendstufen zur direkten Ansteuerung von 2-Phasen Schrittmotoren.


Konfigurationsmöglichkeiten

Sämtliche der obengenannten Klemmen stellen im Prozessabbild die Anzahl der aktuell ausgegebenen Schritte bereit. Die Klemme KL2541 bietet zusätzlich die Möglichkeit einen Inkrementalencoder direkt an die Klemme anzuschließen.

Mehr:

button Betrieb ohne Encoder

button Betrieb mit Encoder


Betrieb ohne Encoder

Beim Betrieb ohne Encoder werden die von den Klemmen generierten Impulse dem CNC-internen Lageregler als Istposition zugeführt. Die vom Lageregler berechneten Geschwindigkeitssollwerte werden an die Schrittmotorklemme ausgegeben und führen zu einer Bewegung des Schrittmotors.

Da der Antrieb in einem Pseudo-Lageregelkreis betrieben wird, erfolgt die Parametrierung des Schrittmotors in der Achsparameterliste analog zur Parametierung eines Antriebs mit +/- 10V-Schnittstelle, ebenso ist hier auch die Verwendung der Geschwindigkeitsvorsteuerung möglich (siehe auch Abschnitt 1.7.1).

Da in dieser Betriebsart keinen echte Positionsrückmeldung der Achse vorliegt, ist die Schleppfehlerüberwachung der Achse nicht möglich.

Da ein Schrittmotor bei dynamischer Überlastung stehen bleibt bzw. Schritte verlieren kann (außer Tritt fallen des Schrittmotors), ist bei der Dimensionierung des Motors sowie der Parametrierung der Dynamikparameter des Motors besondere Sorgfalt vonnöten.


Betrieb mit Encoder

Beim Betrieb mit Encoder wird der Positionsistwert eines Encoders dem Lageregler als echter Lageistwert des Motors zur Verfügung gestellt. Dies erfolgt bei der Konfiguration des Antriebes indem der Encodereingang der Achse mit einer Encoderklemme verlinkt wird und nicht mit der Positionsrückmeldung der Schrittmotorklemme.

An die Klemme KL2541 kann ein Inkrementalencoder direkt angeschlossen werden, hier ist die Klemme so zu parametrieren, dass sie das Encodersignal in ihr Ausgangsprozessabbild einblendet.

Auch beim Betrieb mit Encoder kann ein Schrittmotor bei dynamischer Überlastung stehen bleiben bzw. Schritte verlieren (außer Tritt fallen des Schrittmotors), auch hier ist bei der Dimensionierung des Motors sowie der Parametrierung der Dynamikparameter des Motors besondere Sorgfalt vonnöten.

Im Gegensatz zum Betrieb ohne Encoder ist jedoch die Verwendung der Schleppabstandsüberwachung möglich.


Funktionseinschränkungen

Da im zylischen Prozessabbild der Klemme KL2541 ein eventuell in der Klemme gelatchter Positionswert nicht zur Verfügung steht, sind die Funktionalitäten

- Referenzieren auf Nullimpuls

- Messen

nicht verfügbar.

Falls sie dennoch aktiviert werden, erfolgt die Ausgabe einer Fehlermeldung sowie die automatische Korrektur des Wertes.