Geschlossene Abarbeitung für eine endlos drehende Slaveachse

Bei der Interpolation zwischen den Stützpunkten ergibt sich die Notwendigkeit zu unterscheiden, ob der Slave die Kurve endlos oder endlich drehend abarbeiten soll. Diese Information ist bei der aktuellen Kurvenbeschreibung nicht enthalten.

Da ein und dieselbe Kurvenbeschreibung für beide Arten verwendet werden kann, ist diese Unterscheidung nicht eine Eigenschaft der Kurve, sondern vielmehr Bestandteil des (CamIn-) Auftrags.

Endlos drehende vs. endlich drehende Kurvenabarbeitung
Abb.: Endlos drehende vs. endlich drehende Kurvenabarbeitung

Bei endlos drehender Abarbeitung müssen an den Definitionsgrenzen der Kurve die Tabellenstützpunkte, die zur Berechnung der Interpolation herangezogen werden, um einen Modulobereich korrigiert werden. Die Korrekturrichtung ist dabei davon abhängig, ob die Kurve für einen vorwärts oder rückwärts drehenden Slave modelliert wurde.

Der ISG Slopekernel für die Kurvenabarbeitung (sl_cam_kernel) kann dies jedoch nur dann automatisch richtig machen, falls zwischen den Tabellenstützpunkten keine Zwischeninterpolation („MC_CamIn.TableFctType“ = HLI_STEP_DIRECT) verwendet wird. Dies stellt er dadurch sicher, dass für zwei aufeinanderfolgende, abgetastete Slavepositionen immer die kürzeste Modulodistanz als relativer Weg pro Echtzeitzyklus ausgegeben wird. Für diese Berechnung wird der Modulobereich der Slaveachse herangezogen, weshalb die Kurvenabarbeitung auch ausschließlich mit modulo drehenden Slaveachsen möglich ist.

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 Modulokorrektur durchzuführen ist.

Falls die Kurve so modelliert wurde, dass sie den Modulobereich des Slaves in positive Richtung durchläuft, muss im „MC_CamIn.StartMode“ das Bit gesetzt werden, das durch die globale Konstante

  HLI_CI_ENDLESS_POSITIVE   : UDINT := 32;

repräsentiert wird.

Durchläuft die Kurve den Modulobereich des Slaves in negativer Richtung, muss im „MC_CamIn.StartMode“ das Bit gesetzt werden, das durch die globale Konstante

  HLI_CI_ENDLESS_NEGATIVE   : UDINT := 64;

repräsentiert wird.

Nichtsdestotrotz muss der Kurvenverlauf immer zu der gewählten Abarbeitungsart passen, da sich ansonsten Sprünge in der Slaveposition ergeben.

Verwendung der „MC_CamIn.StartMode“-Flags für endlos drehende Slaveachse.
Abb.: Verwendung der „MC_CamIn.StartMode“-Flags für endlos drehende Slaveachse.