Verwendung des MC_CamIn

MC_CamIn.StartMode

HLI_CI_RAMP_IN            : HLI_UNS32:= 16#00000001; 
HLI_CI_ABSOLUTE           : HLI_UNS32:= 16#00000002; 
HLI_CI_RELATIVE           : HLI_UNS32:= 16#00000004;

Ramp-In und Absolute wird immer verwendet. Deshalb sind diese drei Bits derzeit ohne Wirkung

 
HLI_CI_LOCK_TABLE         : HLI_UNS32:= 16#00000008;

Gibt an, ob die verwendete Tabelle für Online-Werteänderung während der Koppelung verriegelt ist. Dies sollte bei Tabellendatentypen, auf die nicht atomar zugegriffen werden kann, immer gesetzt sein. Ansonsten ist die Problematik des gleichzeitigen Speicherzugriffs zu beachten.

 
HLI_CI_F_PERIODIC         : HLI_UNS32:= 16#00000010;

Falls dieses Flag bei MC_CamIn nicht gesetzt ist, wird die hinterlegte Kurve genau einmal pro Aufflanke an „MC_CamIn.Execute“ durchfahren. Das Abfahren der Kurve ist dabei auf den Modulo-Durchgang der Masterposition synchronisiert. Wenn sich die Slaveachse nicht bereits an der Anfangsposition der CAM-Tabelle befindet, wird im Augenblick der Aufflanke an „MC_CamIn.Execute“ die Slaveachse sofort auf die Kurvenanfangsposition gezogen und verbleibt dort bis zum nächsten Nulldurchgang der Masterachse. Von dort wird das Kurvenprofil genau einmal durchfahren. Erfolgt während des Zyklus eine erneute Triggerung des „MC_CamIn.Execute“, dann wird die Kurve ein weiteres Mal durchfahren so, als ob „Periodic“ = TRUE wäre. Ohne erneute Triggerung wird die Slaveachse am Ende der CAM-Tabelle vom Master entkoppelt. D.h., wenn sich die Slaveachse zu diesem Zeitpunkt nicht im Stillstand befindet, wird sie abrupt gestoppt.

Falls die Kurve für eine endlos drehende Slaveachse modelliert wurde, muss im Zusammenhang mit der Verwendung einer Stützpunktinterpolation („MC_CamIn.TableFctType“ = HLI_LINEAR oder HLI_POLYNOM_3) angegeben werden, in welche Richtung die Modulo-Korrektur durchzuführen ist.

Falls die Kurve so modelliert wurde, dass sie den Modulobereich der Slaveachse in positive Richtung durchläuft, muss im „MC_CamIn.StartMode“ das Bit

HLI_CI_ENDLESS_POSITIVE     : HLI_UNS32:= 16#0x00000020;

verodert werden.

Durchläuft die Kurve den Modulobereich der Slaveachse in negativer Richtung, so muss im „MC_CamIn.StartMode“ das Bit

HLI_CI_ENDLESS_NEGATIVE     : HLI_UNS32:= 16#0x00000040;

verodert werden.

Der herstellerspezifische Input „MC_CamIn.TableFctType“ gibt an, wie zwischen zwei Tabellenzeilen interpoliert wird:

HLI_STEP_DIRECT           : HLI_UNS32 := 0;

Innerhalb des Positionsintervalls der Masterachse smi, smi+1 wird der Positionseintrag der Slaveachse ssi ausgegeben.

HLI_LINEAR                : HLI_UNS32 := 1;

Innerhalb des Positionsintervalls der Masterachse smi, smi+1 wird zwischen den Positionseinträgen der Slaveachse ssi, ssi+1 linear interpoliert.

HLI_POLYNOM_3             : HLI_UNS32 := 2;

Innerhalb des Positionsintervalls der Masterachse smi, smi+1 wird aus den vier benachbarten Positionseinträgen der Slaveachse ssi-1, ssi, ssi+1, ssi+2 ein tangentenstetiger, kubischer Bezier-Spline interpoliert. Die Polynomkoeffizienten­berechnung findet online statt.

HLI_POLYNOM_3_KOEFF       : HLI_UNS32 := 3;

Innerhalb des Positionsintervalls der Masterachse smi, smi+1 besteht der Positions­eintrag der Slaveachse ssi (Zeile mit 4 Werten ai) aus den Koeffizienten eines Polynoms der Form

X = a0 + a1t + a2t2 + a3t3.

Die Polynomkoeffizientenberechnung findet somit offline statt.

LINE_POLY5                : HLI_UNS32 := 4;

Bewegungsabschnitte abwechselnd mit LINE und POLY5, beginnend mit LINE.

POLY5_LINE                : HLI_UNS32 := 5;

Bewegungsabschnitte abwechselnd mit LINE und POLY5, beginnend mit POLY5.

TABLE_DEFINED             : HLI_UNS32 := 6;

Der Interpolationstyp ist in der Tabelle definiert.

Verhalten des MC_CamIn:

Sowohl bei bereits laufender Masterachse als auch bei Stillstand erfolgt ein sog. amplitudentreues Ramp-In.

Bei bereits laufender Masterachse entspricht dies folgender mechanischer Analogie: Einkuppeln einer Kurvenscheibe auf eine laufende Masterwelle. Die Kupplung hat solange Schlupf bis die mitzunehmende Kurvenscheibe auf Geschwindigkeit ist. Danach wird die Scheibe noch auf die richtige Lage gebracht.

Verwendung des MC_CamIn 1:

Folgende Parameter der achsmds.lis beeinflussen dieses Verhalten:

Die Synchronisierung der Geschwindigkeit erfolgt ruckbegrenzt. Der Ruckwert muss im Achs-MDS im Parameter cam_gear.j_vel_sync eingestellt werden. Als Ruck sind Werte sinnvoll, die einer minimalen Rampenzeit von TA (Zykluszeit des IPO, z.B. 2 ms) und einer maximalen Rampenzeit von 100s entsprechen. Bei der minimalen Rampenzeit von TA liegt der Grenzübergang zur nicht ruckbegrenzten Geschwindigkeitsführung. Bei einem Wert von 0 wird zur Bestimmung des Rucks die maximale Rampenzeit aus dem Achs-MDS verwendet.

Der automatische Phasenausgleich nach Erreichen der Geschwindigkeitssynchronität erfolgt ebenfalls ruckbegrenzt. Im Slave sind hierzu folgende Achsparameter einzu­stellen: