Erweiterte Arbeitsdaten: TcNcTrafoParameterExtCnc

Parameter der Methoden

Type = EcNcTrafoParameter_ExtCnc

Die Parameter für die einzelnen Methoden werden über folgende erweiterte Struktur TcCnCTrafoParameter übergeben. Die von der CNC bereitgestellte Datenstruktur wird anhand des Parametertyps kenntlich gemacht.

Type = EcNcTrafoParameter_ExtCnc

struct TcCncTrafoParameter : public TcNcTrafoParameter, TcCncParam

unsigned short kin_id; // in: used kinematic ID

unsigned long control; // in: control trafo calculation, e.g. EcCncTrafoCtrl_cartesianTrafoInactive

EcCncTrafoOption ret_option; // out: select option of transformation during TrafoSupported()

TcCncVersion CncInterfaceVersion; // Interface version TcCncVersionMajor.TcCncVersionMinor

// orientation

EcCnc_TrafoOriModeActual actual_orientation_mode; // Treatment of orientation, actual rotation sequence

EcCnc_TrafoModeSupported supported_modes; // modes supported by the TcCOM transforamtion

Hinweis:

Das Strukturelement EcCnc_TrafoModeSupported supported_modes ersetzt das bisherige Element EcCnc_TrafoOriModeSupported supported_orientation_modes. Aus Gründen der Abwärtskompatibilität wird dieses Datum weiterhin unterstützt.

// modulo configuration

ULONG dim_modulo;              // dim of modulo vector

EcCnc_McsModulo * mcs_modulo;

EcCnc_AcsModulo * acs_modulo;

Identifikation des Aufrufers

Die aktive kinematische Transformation wird aktuell an mehreren Stellen in der CNC verwendet. Die unterschiedliche Aufrufstelle wird in den übergebenen Arbeitsdaten der Transformation vermerkt.

   0 : EcCncTrafoCallerID_Undefined

   1 : EcCncTrafoCallerID_Decode

   2 : EcCncTrafoCallerID_ToolRadiusCorrection

   3 : EcCncTrafoCallerID_PathPreparation

   4 : EcCncTrafoCallerID_Interpolation

   5 : EcCncTrafoCallerID_Display

   6 : EcCncTrafoCallerID_BlockSearch

Mit der Kennung des Aufrufers (caller_id) kann die Transformation an unterschiedlichen Stellen mit Varianten durchgerechnet werden, z.B.:

Optionen der Transformation

Während der Initialisierung (method TrafoSupported) der Transformation können individuelle Optionen der CNC angewählt werden. Diese Optionen ändern die CNC Verwaltung der Schnittstelle und stellen evtl. zusätzliche Parameter bereit. Die einzelnen Optionen sind durch die CNC vordefiniert und müssen zur entsprechenden Transformation passen. Folgende Optionen sind verfügbar:

  0 : EcCncTrafoOption_None

  1 : EcCncTrafoOption_Interpolation_AddInput

Kontroll-Input

Folgende Informationen werden zyklisch an die kinematische Transformation übergeben

  0x0000 0001 EcCncTrafoCtrl_cartesianTrafoInactive

Versionsnummer CNC-Interface

Im Datum TcCncVersion überträgt die CNC die Versionsnummer des von ihr verwendeten Transformationsinterfaces:

struct TcCncVersion

{

  Long     major;

  Long     minor;

};

Rotationsreihenfolge

Im Datum actual_rotation_mode überträgt die CNC die aktive Drehreihenfolge der Orientierungsachsen:

EcCncTrafoOri_None = 0

EcCncTrafoOri_YPR  = 1

EcCncTrafoOri_CBC1 = 2

EcCncTrafoOri_CBA  = 3

EcCncTrafoOri_CAB  = 4

EcCncTrafoOri_AB   = 5

EcCncTrafoOri_BA   = 6

Die in der Transformation unterstützen Drehreihenfolgen werden der CNC im Datum supported_rotation_modes mitgeteilt:

typedef struct _EcCnc_TrafoModeSupported

{

  unsigned long   f_YPR   : 1;

  unsigned long   f_CBC1  : 1;

  unsigned long   f_CBA   : 1;

  unsigned long   f_CAB   : 1;

  unsigned long   f_UniqueTrafo  : 1;

  unsigned long   f_AB    : 1;

  unsigned long   f_BA    : 1;

} EcCnc_TrafoModeSupported;

Eindeutige TcCOM-Transformation

Das Flag f_UniqueTrafo im Datum supported_modes ermöglicht dem Anwender die TcCOM- Transformation als eindeutig in Vorwärts- und Rückwärtsrichtung zu markieren. Das Flag kann in der Methode TrafoSupported vom Anwender gesetzt werden. Die CNC behandelt TcCOM-Transformationen standardmäßig als nicht eindeutig. Beim Initialisieren der Transformation wird das Flag f_UniqueTrafo geprüft.

Das Setzen des Flags beschleunigt alle Vorgänge, bei denen die CNC Positionen der Antriebe lesen muss, um einige Takte. Solche Vorgänge sind zum Beispiel das An- und Abwählen der Transformation, das Ändern von Koordinatensystemen bei aktiver TcCOM- Transformation oder die Verwendung von V.A.ACS.ABS Variablen.

Beispielcode zum Setzen des Flags:

virtual HRESULT TCOMAPI TrafoSupported(PTcCncTrafoParameter p, bool fwd)

{

  p->supported_modes.f_UniqueTrafo = TRUE;

  return S_OK;

};

s

Modulo-Einstellungen

Die Dimension der achsspezifischen Objekte mcs_modulo und acs_modulo stellt die CNC im Objekt dim_modulo bereit. Die Modulo-Behandlung im MCS Koordinatensystem wird im achsspezifischen Datum mcs_modulo der CNC mitgeteilt:

EcCnc_McsModulo_None    = 0,

EcCnc_McsModulo_180_180 = 1,

Die erwartete Moduloeinstellung einer Achse im ACS-Koordinatensystem kann der CNC im Datum acs_modulo mitgeteilt werden:

EcCnc_AcsModulo_None    = 0,

EcCnc_AcsModulo_180_180 = 1,

EcCnc_AcsModulo_0_360   = 2,

Beispiel

example

Schnittpunktberechnung ausschalten bei inaktivem #CS

Soll z.B. die kinematische Transformation variieren je nachdem ob eine übergeordnete kartesische Transformation aktiv ist, so kann dies anhand des Eingangsbits selektiert werden. Dies wird durch die Steuerung angezeigt.

Kinematische Transformation mit aktiver Schnittpunktberechnung (EcCncTrafoCtrl_cartesianTrafoInactive gelöscht)

Kinematische Transformation mit aktiver Schnittpunktberechnung
Abb.: Kinematische Transformation mit aktiver Schnittpunktberechnung

Kinematische Transformation mit inaktiver Schnittpunktberechnung

(EcCncTrafoCtrl_cartesianTrafoInactive gesetzt)

Kinematische Transformation mit inaktiver Schnittpunktberechnung
Abb.: Kinematische Transformation mit inaktiver Schnittpunktberechnung

Achtung

attention

Die Vorwärtstransformation muss grundsätzlich invers zu Rückwärtstransformation sein.
  position = forward(backward(position))
Wird die Transformation in Abhängigkeit des Aufrufers (caller_id) variiert, so muss diese Variation bei der Initialisierung der Steuerung im Stillstand ausgeschaltet sein.

Identifikation der Aufrufstellen der Transformation
Abb.: Identifikation der Aufrufstellen der Transformation