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 |
E_NciEntryTypeGeoStart | Stellt die Startposition des ersten Geometrieeintrags ein | |
E_NciEntryTypeEndOfTables | Signalisiert das Ende der Geometrietabelle | |
Fahrbefehle | ||
E_NciEntryTypeGeoLine | Beschreibt eine Gerade | |
E_NciEntryTypeGeoCirclePlane | Beschreibt einen Kreis in der Hauptebene (Mittelpunktprogrammierung) | |
E_NciEntryTypeGeoCircleCIP | Beschreibt einen frei im Raum liegenden Kreis | |
E_NciEntryTypeGeoBezier3 | Beschreibt einen Bezier 3. Ordnung mit Kontrollpunkten | |
E_NciEntryTypeGeoBezier5 | Beschreibt einen Bezier 5. Ordnung mit Kontrollpunkten | |
E_NciEntryTypeDwellTime | Beschreibt eine Verweilzeit | |
Bahnparameter | ||
E_NciEntryTypeBaseFrame | Beschreibt eine Nullpunktverschiebung und Rotation | |
E_NciEntryTypeVertexSmoothing | Aktiviert eine Verschleifung an Segmentübergängen | |
E_NciEntryTypeTfDesc | Aktiviert die tangentiale Nachführung des Werkzeugs | |
Dynamik | ||
E_NciEntryTypeDynOvr | Verändert den dynamischen Override | |
E_NciEntryTypeAxisDynamics | Limitiert die Dynamik der Achsen | |
E_NciEntryTypePathDynamics | Limitiert die Bahndynamik | |
E_NciEntryTypeFeedrateIpol | Stellt die Art der Vorschubinterpolation ein | |
Parameterbefehle | ||
E_NciEntryTypeHParam | Setzt einen H-Parameter (DINT) | |
E_NciEntryTypeSParam | Setzt einen S-Parameter (WORD) | |
E_NciEntryTypeTParam | Setzt einen T-Parameter (WORD) | |
E_NciEntryTypeMFuncFast | Parametriert eine schnelle M-Funktion (kein Handshake) | |
E_NciEntryTypeMFuncHsk | Parametriert eine M-Funktion mit Handshake | |
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)
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)
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
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)
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.
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)