Typen und Enums

E_NciEntryType

TYPE E_NciEntryType :
(
    E_NciEntryTypeNone := 0,
    E_NciEntryTypeGeoStart := 1,
    E_NciEntryTypeGeoLine := 2,
    E_NciEntryTypeGeoCirclePlane := 3,
    E_NciEntryTypeGeoCircleCIP := 4,
    E_NciEntryTypeGeoBezier3 := 10,
    E_NciEntryTypeGeoBezier5 := 11,
    E_NciEntryTypeMFuncHsk := 20,
    E_NciEntryTypeMFuncFast := 21,
    E_NciEntryTypeMFuncResetAllFast := 23,
    E_NciEntryTypeHParam := 24,
    E_NciEntryTypeSParam := 25,
    E_NciEntryTypeTParam := 26,
    E_NciEntryTypeDynOvr := 50,
    E_NciEntryTypeVertexSmoothing := 51,
    E_NciEntryTypeBaseFrame := 52,
    E_NciEntryTypePathDynamics := 53,
    E_NciEntryTypeAxisDynamics := 55,
    E_NciEntryTypeDwellTime := 56,
    E_NciEntryTypeFeedrateIpol := 57,
    E_NciEntryTypeTfDesc := 100,
    E_NciEntryTypeEndOfTables := 1000
);
END_TYPE

Strukturen

Enum

Beschreibung

Organisation

 

E_NciEntryTypeNone

Keine Funktion

ST_NciGeoStart

E_NciEntryTypeGeoStart

Stellt die Startposition des ersten Geometrieeintrags ein

ST_NciEndOfTables

E_NciEntryTypeEndOfTables

Signalisiert das Ende der Geometrietabelle

Fahrbefehle

ST_NciGeoLine

E_NciEntryTypeGeoLine

Beschreibt eine Gerade

ST_NciGeoCirclePlane

E_NciEntryTypeGeoCirclePlane

Beschreibt einen Kreis in der Hauptebene (Mittelpunktprogrammierung)

ST_NciGeoCircleCIP

E_NciEntryTypeGeoCircleCIP

Beschreibt einen frei im Raum liegenden Kreis

ST_NciGeoBezier3

E_NciEntryTypeGeoBezier3

Beschreibt einen Bezier 3. Ordnung mit Kontrollpunkten

ST_NciGeoBezier5

E_NciEntryTypeGeoBezier5

Beschreibt einen Bezier 5. Ordnung mit Kontrollpunkten

ST_NciDwellTime

E_NciEntryTypeDwellTime

Beschreibt eine Verweilzeit

Bahnparameter

ST_NciBaseFrame

E_NciEntryTypeBaseFrame

Beschreibt eine Nullpunktverschiebung und Rotation

ST_NciVertexSmoothing

E_NciEntryTypeVertexSmoothing

Aktiviert eine Verschleifung an Segmentübergängen

ST_NciTangentialFollowingDesc

E_NciEntryTypeTfDesc

Aktiviert die tangentiale Nachführung des Werkzeugs

Dynamik

ST_NciDynOvr

E_NciEntryTypeDynOvr

Verändert den dynamischen Override

ST_NciAxisDynamics

E_NciEntryTypeAxisDynamics

Limitiert die Dynamik der Achsen

ST_NciPathDynamics

E_NciEntryTypePathDynamics

Limitiert die Bahndynamik

ST_NciFeedrateIpol

E_NciEntryTypeFeedrateIpol

Stellt die Art der Vorschubinterpolation ein

Parameterbefehle

ST_NciHParam

E_NciEntryTypeHParam

Setzt einen H-Parameter (DINT)

ST_NciSParam

E_NciEntryTypeSParam

Setzt einen S-Parameter (WORD)

ST_NciTParam

E_NciEntryTypeTParam

Setzt einen T-Parameter (WORD)

ST_NciMFuncFast

E_NciEntryTypeMFuncFast

Parametriert eine schnelle M-Funktion (kein Handshake)

ST_NciMFuncHsk

E_NciEntryTypeMFuncHsk

Parametriert eine M-Funktion mit Handshake

ST_NciMFuncResetAllFast

E_NciEntryTypeResetAllFast

Setzt alle schnellen M-Funktionen zurück

ST_NciGeoStart

Stellt die Startposition des ersten Geometrie-Eintrags ein. Dies ist erforderlich, wenn der erste Geometrie-Eintrag ein Kreis ist oder die tangentiale Nachführung im ersten Segment ON ist. Diese Struktur kann optional bei jedem Start der ersten Tabelle geschrieben werden.

TYPE ST_NciGeoStart :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeGeoStart; (*do not override this parameter *)
    fPosX: LREAL;
    fPosY: LREAL;
    fPosZ: LREAL;
    fPosQ1: LREAL;
    fPosQ2: LREAL;
    fPosQ3: LREAL;
    fPosQ4: LREAL;
    fPosQ5: LREAL;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

fPosX: Startposition X

fPosY: Startposition Y

fPosZ: Startposition Z

fPosQ1: Startposition Q1

fPosQ2: Startposition Q2

fPosQ3: Startposition Q3

fPosQ4: Startposition Q4

fPosQ5: Startposition Q5

ST_NciGeoLine

Beschreibt eine Gerade mit spezifizierter Geschwindigkeit.

TYPE ST_NciGeoLine :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeGeoLine; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    fEndPosX: LREAL;
    fEndPosY: LREAL;
    fEndPosZ: LREAL;
    fEndPosQ1: LREAL;
    fEndPosQ2: LREAL;
    fEndPosQ3: LREAL;
    fEndPosQ4: LREAL;
    fEndPosQ5: LREAL;
    fVelo: LREAL;
    bRapidTraverse: BOOL;
    bAccurateStop: BOOL; (* VeloEnd := 0 *)
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit, wie F in G-Code, allerdings in Basiseinheiten pro Sekunde (z.B. mm/s)

bRapidTraverse: TRUE hat dieselbe Wirkung wie G0, FALSE behandelt diesen Eintrag wie G01

bAccurateStop: Genauhalt (TRUE hat dieselbe Wirkung wie G09)

ST_NciGeoCirclePlane

Beschreibt einen Kreis in der Hauptebene. Der Mittelpunkt ist in absoluten Koordinaten angegeben.

Die orthogonale Komponente beim Mittelpunkt wird intern zugewiesen. Wenn z.B. ein Kreis in der XY-Ebene programmiert wird, so wird ‚fCenterZ‘ intern zugewiesen. Falls der Anwender den Wert explizit zugewiesen hat, wird der Wert dennoch vom Funktionsblock überschrieben. Mit der Programmierung der Höhe, lässt sich auch eine Helix beschreiben. Wird z.B. eine Helix in der XY-Ebene programmiert, wird die Hubhöhe der Helix mit ‚fEndPosZ‘ absolut vorgegeben.

TYPE ST_NciGeoCirclePlane :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeGeoCirclePlane; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    fEndPosX: LREAL;
    fEndPosY: LREAL;
    fEndPosZ: LREAL;
    fCenterX: LREAL;
    fCenterY: LREAL;
    fCenterZ: LREAL;
    fEndPosQ1: LREAL;
    fEndPosQ2: LREAL;
    fEndPosQ3: LREAL;
    fEndPosQ4: LREAL;
    fEndPosQ5: LREAL;
    fVelo: LREAL;
    bClockwise: BOOL;
    bAccurateStop: BOOL; (* VeloEnd := 0 *)
    nPlane: E_NciGeoPlane := E_NciGeoPlaneXY;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fCenterX: Mittelposition X in absoluten Koordinaten

fCenterY: Mittelposition Y in absoluten Koordinaten

fCenterZ: Mittelposition Z in absoluten Koordinaten

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit in Basiseinheiten pro Sekunde (z.B. mm/s), wie F in G-Code

bClockwise: Wenn TRUE, wird der Kreis im Uhrzeigersinn gezogen, ansonsten gegen den Uhrzeigersinn (ähnlich wie G02, G03)

bAccurateStop: Genauhalt (TRUE hat dieselbe Wirkung wie G09)

nPlane: Spezifiziert die Ebene: XY, YZ, oder ZX (ähnlich wie G17..G19) (Typ: E_NciGeoPlane)

Typen und Enums 1:

Kreissegment als Startsegment

Ist das erste Geometrie-Segment ein Kreis, müssen Sie die Startposition mit ST_NciGeoStart setzen.

E_NciGeoPlane

TYPE E_NciGeoPlane :
(
    E_NciGeoPlaneXY := 17,
    E_NciGeoPlaneZX := 18,
    E_NciGeoPlaneYZ := 19
);
END_TYPE

ST_NciGeoCircleCIP

Mit dem CIP-Kreis ist es möglich, einen Kreis frei im Raum zu beschreiben. Er muss sich nicht in der Hauptebene befinden. Damit der Kreis eindeutig beschrieben werden kann, dürfen alle 3 Punkte (Anfangspunkt ist implizit vorgegeben) nicht auf einer Geraden liegen. Es lässt sich also auf diese Weise kein Vollkreis programmieren.

TYPE ST_NciGeoCircleCIP :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeGeoCircleCIP;    (* do not overwrite this parameter *)
    nDisplayIndex: UDINT;
    fEndPosX:      LREAL;
    fEndPosY:      LREAL;
    fEndPosZ:      LREAL;
    fCIPPosX:      LREAL;
    fCIPPosY:      LREAL;
    fCIPPosZ:      LREAL;
    fEndPosQ1:     LREAL;
    fEndPosQ2:     LREAL;
    fEndPosQ3:     LREAL;
    fEndPosQ4:     LREAL;
    fEndPosQ5:     LREAL;
    fVelo:         LREAL;
    bAccurateStop: BOOL;    (* VeloEnd := 0 *)
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fCIPPosX: X-Position in absoluten Koordinaten (Punkt auf Kreisbahn)

fCIPPosY: Y-Position in absoluten Koordinaten (Punkt auf Kreisbahn)

fCIPPosZ: Z-Position in absoluten Koordinaten (Punkt auf Kreisbahn)

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit in Basiseinheiten pro Sekunde (z.B. mm/s), wie F in G-Code

bAccurateStop: Genauhalt (TRUE hat dieselbe Wirkung wie G09)

Typen und Enums 2:

Kreissegment als Startsegment

Ist das erste Geometrie-Segment ein Kreis, müssen Sie Startposition mit ST_NciGeoStart setzen.

ST_NciGeoBezier3

Beschreibt eine Bezierkurve dritter Ordnung mit Hilfe von Kontrollpunkten. Die Startposition ergibt sich aus dem vorherigen Segment. Der dritte Kontrollpunkt wird durch die Zielposition vorgegeben.

TYPE ST_NciGeoBezier3:
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeGeoBezier3; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    fControlPoint1X: LREAL;
    fControlPoint1Y: LREAL;
    fControlPoint1Z: LREAL;
    fControlPoint2X: LREAL;
    fControlPoint2Y: LREAL;
    fControlPoint2Z: LREAL;
    fEndPosX: LREAL;
    fEndPosY: LREAL;
    fEndPosZ: LREAL;
    fEndPosQ1: LREAL;
    fEndPosQ2: LREAL;
    fEndPosQ3: LREAL;
    fEndPosQ4: LREAL;
    fEndPosQ5: LREAL;
    fVelo: LREAL;
    bAccurateStop: BOOL; (* VeloEnd := 0 *)
END_STRUCT
END_TYPE
Typen und Enums 3:

Eine Bezier3-Kurve ist nicht mit dem Typ ST_NciVertexSmoothing vom Typ Bezier 3. und 5. Ordnung kompatibel. In diesem Fall muss ein anderer Typ beim VertexSmoothing ausgewählt werden.

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fControlPoint1X: X Komponente Kontrollpunkt 1

fControlPoint1Y: Y Komponente Kontrollpunkt 1

...

fControlPoint2Z: Z Komponente Kontrollpunkt 2

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit in Basiseinheiten pro Sekunde (z.B. mm/s), wie F in G-Code

bAccurateStop: Genauhalt (TRUE hat dieselbe Wirkung wie G09)

ST_NciGeoBezier5

Beschreibt eine Bezierkurve 5ter Ordnung mit Hilfe von Kontrollpunkten. Die Startposition ergibt sich aus dem vorherigen Segment. Der fünfte Kontrollpunkt wird durch die Zielposition vorgegeben.

TYPE ST_NciGeoBezier5:
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeGeoBezier5; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    fControlPoint1X: LREAL;
    fControlPoint1Y: LREAL;
    fControlPoint1Z: LREAL;
    fControlPoint2X: LREAL;
    fControlPoint2Y: LREAL;
    fControlPoint2Z: LREAL;
    fControlPoint3X: LREAL;
    fControlPoint3Y: LREAL;
    fControlPoint3Z: LREAL;
    fControlPoint4X: LREAL;
    fControlPoint4Y: LREAL;
    fControlPoint4Z: LREAL;
    fEndPosX: LREAL;
    fEndPosY: LREAL;
    fEndPosZ: LREAL;
    fEndPosQ1: LREAL;
    fEndPosQ2: LREAL;
    fEndPosQ3: LREAL;
    fEndPosQ4: LREAL;
    fEndPosQ5: LREAL;
    fVelo: LREAL;
    bAccurateStop: BOOL; (* VeloEnd := 0 *)
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben(Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fControlPoint1X: X Komponente Kontrollpunkt 1

fControlPoint1Y: Y Komponente Kontrollpunkt 1

...

fControlPoint4Z: Z Komponente Kontrollpunkt 4

fEndPosX: Zielposition X

fEndPosY: Zielposition Y

fEndPosZ: Zielposition Z

fEndPosQ1: Zielposition Q1

fEndPosQ2: Zielposition Q2

fEndPosQ3: Zielposition Q3

fEndPosQ4: Zielposition Q4

fEndPosQ5: Zielposition Q5

fVelo: Zielbahngeschwindigkeit in Basiseinheiten pro Sekunde (z.B. mm/s), wie F in G-Code

bAccurateStop: Genauhalt (TRUE hat dieselbe Wirkung wie G09)

ST_NciMFuncHsk

Beschreibt eine M-Funktion des Typs Handshake. Die M-Funktionsnummer liegt zwischen 0 und 159.

TYPE ST_NciMFuncHsk :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeMFuncHsk; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    nMFunc: INT;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nMFunc: M-Funktionsnummer (0..159)

Typen und Enums 4:

M-Funktionen in der PlcInterpolation-Bibliothek

Werden in der PlcInterpolation-Bibliothek M-Funktionen verwendet, müssen diese nicht im User Interface der XAE eingetragen werden. Eine M-Funktion wirkt immer an der programmierten Stelle.

ST_NciMFuncFast

Parametriert bis zu 8 schnelle M-Funktionen. Die erste M-Funktion muss nMFuncIn0 zugewiesen werden, die zweite nMFuncIn1 usw. -1 gibt das Ende der Zuweisungen an.

TYPE ST_NciMFuncFast :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeMFuncFast; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    nMFuncIn0: INT;
    nMFuncIn1: INT;
    nMFuncIn2: INT;
    nMFuncIn3: INT;
    nMFuncIn4: INT;
    nMFuncIn5: INT;
    nMFuncIn6: INT;
    nMFuncIn7: INT;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nMFuncIn0: schnelle M-Funktionsnummer (0..159)

nMFuncIn1: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn2: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn3: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn4: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn5: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn6: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

nMFuncIn7: schnelle M-Funktionsnummer (0..159) -1 gibt das Ende der Liste an.

Typen und Enums 5:

M-Funktionen in der PlcInterpolation-Bibliothek

Werden in der PlcInterpolation-Bibliothek M-Funktionen verwendet, müssen diese nicht im User Interface der XAE eingetragen werden. Eine M-Funktion wirkt immer an der programmierten Stelle.

ST_NciMFuncResetAllFast

Setzt alle schnellen M-Funktionen zurück.

TYPE ST_NciMFuncResetAllFast :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeMFuncResetAllFast; (*do not override this parameter *)
    nDisplayIndex: UDINT;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

ST_NciHParam

Setzt einen H-Parameter im zyklischen Kanalinterface.

TYPE ST_NciHParam :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeHParam; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    nHParam: UDINT;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nHParam: H-Parameter von der NC zur SPS

ST_NciSParam

Setzt einen S-Parameter im zyklischen Kanalinterface.

TYPE ST_NciSParam :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeSParam; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    nSParam: UINT;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nSParam: S-Parameter von der NC zur SPS

ST_NciTParam

Setzt einen T-Parameter im zyklischen Kanalinterface.

TYPE ST_NciTParam :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeTParam; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    nTParam: UINT;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nTParam: T-Parameter von der NC zur SPS

ST_NciDynOvr

Modalfunktion zur Änderung der Bahndynamik.

Vergleiche DynOvr in der Interpreter-Dokumentation.

TYPE ST_NciDynOvr :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeDynOvr; (*do not override this parameter*)
    nDisplayIndex: UDINT;
    fDynOvr: LREAL;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fDynOvr: Wert für dynamischen Override ( 0.01 < fDynOvr <= 1)

ST_NciVertexSmoothing

Modalfunktion zur Aktivierung der Verschleifung am Segmentübergang. Die Verschleifung wirkt, bis sie durch Setzen des Radius auf 0 wieder aufgehoben wird.

Es befindet sich eine detaillierte Beschreibung des Parameters in der Interpreter-Dokumentation. (paramVertexSmoothing).

TYPE ST_NciVertexSmoothing :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeVertexSmoothing; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    nType: UDINT; (*type of smoothing, e.g. parabola, bi-quad *)
    nSubtype: UDINT; (*e.g. adaptive, constant radius *)
    fRadius: LREAL; (*max. radius for tolerance ball *)
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nType: Verschleifungsart: 2: Parabel, 3: Bi-quadratisch, 4: Bezier 3. Ordnung, 5: Bezier 5. Ordnung

nSubtype: 1: konstanter Toleranzradius, 2: Abstand Schnittpunkt zum Scheitelpunkt, 3: adaptiver Toleranzradius

fRadius: Radius der Verschleifungskugel in Basiseinheiten (z.B. mm)

ST_NciBaseFrame

Die Struktur ST_NciBaseFrame beschreibt eine modale Nullpunktverschiebung und Rotation. Dabei ist die Wirkungsweise die gleiche wie die Nullpunktverschiebung und Rotation im Interpreter. D.h. der Punkt um den rotiert wird, ist der aktuelle Nullpunkt (vergl. Rotation in der Interpreter-Dokumentation).

TYPE ST_NciBaseFrame:
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeBaseFrame; (*Do not override this parameter *)
    nDisplayIndex: UDINT;
    fShiftX: LREAL;
    fShiftY: LREAL;
    fShiftZ: LREAL;
    fRotX: LREAL;
    fRotY: LREAL;
    fRotZ: LREAL;
    fShiftQ1: LREAL;
    fShiftQ2: LREAL;
    fShiftQ3: LREAL;
    fShiftQ4: LREAL;
    fShiftQ5: LREAL;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fShiftX: Nullpunktverschiebung in X-Richtung

fShiftY: Nullpunktverschiebung in Y-Richtung

fShiftZ: Nullpunktverschiebung in Z-Richtung

fRotX: Rotation der X-Achse

fRotY: Rotation der Y-Achse

fRotZ: Rotation der Z-Achse

fShiftQ1: Offset der Q1-Achse

fShfitQ2: Offset der Q2-Achse

fShiftQ3: Offset der Q3-Achse

fShiftQ4: Offset der Q4-Achse

fShiftQ5: Offset der Q5-Achse

ST_NciPathDynamics

Die Struktur ST_NciPathDynamics setzt die Dynamik (Beschleunigung, Verzögerung, Ruck) auf der Bahn. Dabei ist die Wirkungsweise die gleiche wie paramPathDynamics im Interpreter (vergl. paramPathDynamics in der Interpreter-Dokumentation).

TYPE ST_NciPathDynamics:
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypePathDynamics; (*do not override this parameter *)
    nDisplayIndex: UDINT;
    fAcc: LREAL;
    fDec: LREAL;
    fJerk: LREAL;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fAcc: Maximal erlaubte Bahnbeschleunigung

fDec: Maximal erlaubte Bahnverzögerung

fJerk: Maximal erlaubter Bahnruck

ST_NciAxisDynamics

Die Struktur ST_NciAxisDynamics setzt die Dynamik (Beschleunigung, Verzögerung, Ruck) auf der Bahnachsen. Dabei ist die Wirkungsweise die gleiche wie paramAxisDynamics im Interpreter (vergl. paramAxisDynamics in der Interpreter-Dokumentation)

TYPE ST_NciAxisDynamics:
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeAxisDynamics; (*Do not override this parameter*)
    nDisplayIndex: UDINT;
    nAxis: UDINT;
    fAcc: LREAL;
    fDec: LREAL;
    fJerk: LREAL;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

nAxis: Achse in der Interpolationsgruppe X:0 Y:1 Z:2 Q1:3 ... Q5:7

fAcc: Maximal erlaubte Achsbeschleunigung

fDec: Maximal erlaubte Achsverzögerung

fJerk: Maximal erlaubter Achsruck

ST_NciDwellTime

Mit der Struktur ST_NciDwellTime wird eine Verweilzeit in Sekunden eingeschaltet (vergl. Verweilzeit in der Interpreter-Dokumentation)

TYPE ST_NciDwellTime:
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeDwellTime; (*Do not override this parameter *)
    nDisplayIndex: UDINT;
    fDwellTime: LREAL;
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

nDisplayIndex: Zu Anzeigezwecken, wie Satznummer im G-Code

fDwellTime: Verweilzeit in Sekunden

ST_NciFeedrateIpol

Mit der Struktur ST_NciFeedrateIpol kann die Vorschubinterpolation eingestellt werden (vergl. Vorschubinterpolation).

TYPE ST_NciFeedrateIpol :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeFeedrateIpol;(*Do not overwrite this parameter*)
    nDisplayIndex: UDINT;
    eFeedrateIpol: E_NciFeedrateIpol;(*E_NciFeedrateIpolConstant = FCONST, E_NciFeedrateIpolLinear=FLIN *)
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)

eFeedrateIpol: Legt den Vorschubinterpolationstyp fest.

TYPE E_NciFeedRateIpol :(
    E_NciFeedrateIpolConstant,
    E_NciFeedrateIpolLinear
)
END_TYPE

ST_NciTangentialFollowingDesc

Dies ist ein Modalbefehl zur Ein-/Ausschaltung der tangentialen Nachführung.

TYPE ST_NciTangentialFollowingDesc :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeTfDesc; (*do not override this parameter *)
    bTangOn: BOOL;
    nTangAxis: E_NciAxesInGroup; (*axis used for tangential following *)
    nPathAxis1: E_NciAxesInGroup; (*describing the plane e.g. x*)
    nPathAxis2: E_NciAxesInGroup; (*e.g. y ==> g17, xy plane*)
    fOffset: LREAL; (*geo tangent is 0 degree, counting is mathmatical positive *)
    fCriticalAngle1: LREAL;
    nTfBehavior: E_TangentialFollowingBehavior; (*what to do if angle becomes bigger than critical angle 1 *)
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType).

bTangOn: Wenn TRUE, wird die tangentiale Nachführung eingeschaltet.

nTangAxis: Achse (Q1..Q5), die als Tangentialachse verwendet wird (Typ: E_NciAxesInGroup).

nPathAxis1: Erste Bahnachse, die die Ebene und Ausrichtung zur Berechnung der Tangente beschreibt.

nPathAxis2: Zweite Bahnachse, die die Ebene und Ausrichtung zur Berechnung der Tangente beschreibt.

fOffset: Offset der Tangentialachse

fCriticalAngle1: Kritischer Winkel 1. Die Reaktion, wenn der Winkel zwischen zwei Segmenten größer ist als fCriticalAngle1, wird mit nTfBehavior spezifiziert.

nTfBehavior: siehe fCriticalAngle1 (Typ: E_TangentialFollowingBehavior)

E_NciAxesInGroup

TYPE E_NciAxesInGroup :
(
    NoneAxis := 0,
    XAxis,
    YAxis,
    ZAxis,
    Q1Axis,
    Q2Axis,
    Q3Axis,
    Q4Axis,
    Q5Axis
);
END_TYPE

E_TangentialFollowingBehavior

TYPE E_TangentialFollowingBehavior :
(
    E_TfIngoreAll, (*ignore critical angle *)
    E_TfErrorOnCritical1 (*if angle becomes bigger than critical angle 1 ==> error *)
);
END_TYPE

E_TfIngoreAll: Der kritische Winkel wird ignoriert.

E_TfErrorOnCritical1: Wird der kritische Winkel überschritten, so wird ein Fehler zurückgegeben.

ST_NciEndOfTables

Gibt den letzten Eintrag der letzten Tabelle an. Wird verwendet zur Signalisierung der bChannelDone-Flag in FB_NciFeedTable.

TYPE ST_NciEndOfTables :
STRUCT
    nEntryType: E_NciEntryType := E_NciEntryTypeEndOfTables; (*do not override this parameter *)
END_STRUCT
END_TYPE

nEntryType: Diesen Parameter nicht überschreiben (Typ: E_NciEntryType)