Der Funktionsbaustein '_NCM_CALC_LINE_CIRCLE' berechnet die lineare bzw. Kreisinterpolation für einen NC-Datensatz.
Der Funktionsbaustein wird in der asynchronen Programmebene PLC_PRG aufgerufen.
_NCM_CALC_LINE_CIRCLE |
|||||
Mittelpunkt X-Achse |
- | rePmX |
reLengthCircle |
- |
Kreislänge |
Mittelpunkt Y-Achse |
- | rePmY |
diLengthLineCircleInkr |
- |
Kreis- bzw. lineare Länge |
Mittelpunkt Z-Achse |
- | rePmZ |
reAlpha |
- | Winkel |
Definition Kreisebene |
- | iCharPlane |
reAlphaS |
- | Startwinkel |
Kreisinterp. Drehsinn |
- | bocw |
reRS |
- | Radius Startpunkt |
Vorschub |
- | diResol |
reRE |
- | Radius Endpunkt |
Startpunkt Achse 1-16 |
- | arreP1Ax |
rePart1 |
- | Differenz Start - Mitte |
Endpunkt Achse 1-16 |
- | arreP2Ax |
rePart1End |
- | Differenz Ende - Mitte |
Rundachse |
- | arboRoundAxis |
rePart2 |
- | Differenz Start - Mitte |
Moduloposition |
- | arreModulopos |
rePart2End |
- | Differenz Ende - Mitte |
Relative Positionierung |
- | boRelativ |
rePart3 |
- | Differenz Start - Mitte |
Mitschlepp-Achse |
- | wCoupledAxis |
rePart3End |
- | Differenz Ende - Mitte |
Code für NC-Satz |
- | iCharElem |
uiError |
- | Fehler Identnummer |
uiWarn |
- | Warnung Identnummer | |||
arreRatioAx |
- | Abstandsverhältnis | |||
ardiEndposAx |
- | Endpositionen |
Name | Typ | Beschreibung | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
rePmX, rePmY, rePmZ |
REAL |
Position des Kreismittelpunktes, Achse X / Y / Z [mm] |
||||||||||||
iCharPlane |
INT |
Code zum Definieren der Kreisebene
|
||||||||||||
bocw |
BOOL |
Kreisinterpolation TRUE: clockwise (cw) FALSE: counter clockwise (ccw) |
||||||||||||
diResol |
DINT |
Vorschubkonstante: Umsetzung der rotatorischen in eine lineare Bewegung [Inkremente/mm] |
||||||||||||
arreP1Ax, arreP2Ax |
ARRAY |
ARRAY[1..16]OF REAL Start- bzw. Endpunkte der Achsen 1 ... 16 |
||||||||||||
arboRoundAxis |
ARRAY |
ARRAY[1..16]OF BOOL Bestimmung der Achse als Rundachse TRUE: Rundachse |
||||||||||||
arreModulopos |
ARRAY |
ARRAY[1..16]OF REAL Mdouloposition |
||||||||||||
boRelativ |
BOOL |
Relative Positionierung Soll ein NC-Fahrsatz nicht absolut, sondern relativ ausgeführt werden, muss 'boRelativ' auf true gesetzt werden. Beispiel: |
||||||||||||
wCoupledAxis |
WORD |
Mit der Bitleiste 'wCoupledAxis' kann jede Achse als MitschleppAchse konfiguriert werden. Die Koordinatenangaben einer Mitschleppachse gehen nicht in die Berechnung der Bahngeschwindigkeit aller anderen Achsen mit ein. Beispiel: Die Bahngeschwindigkeit wird für den Weg von P1 nach P2 für Achse1 und Achse2 bestimmt. Die Bahngeschwindigkeit für Achse3 wird so berechnet, dass sie abhängig vom ihrem zurückzulegenden Weg gleichzeitig wie Achse1 und Achse2 am Zielpunkt ankommt. Achse3 als Mitschleppachse: wCoupledAxis := 16#0004 |
||||||||||||
iCharElem |
INT |
Code für den NC-Satz
|
Name | Typ | Beschreibung | ||||||
---|---|---|---|---|---|---|---|---|
reLengthCircle |
REAL |
Kreislänge [mm] |
||||||
diLengthLineCircleInkr |
DINT |
Kreis- bzw. lineare Länge [Inkremente] |
||||||
reAlpha |
REAL |
Winkel des Kreisbogens [rad] |
||||||
reAlphaS |
REAL |
Startwinkel [rad] |
||||||
reRS, reRE |
REAL |
Länge des Radius am Start- / Endpunkt [mm] |
||||||
rePart1, rePart2, rePart3 |
REAL |
Differenz Startpunkt - Mittelpunkt X / Y / Z [mm] |
||||||
rePart1End, rePart2End, rePart3End |
REAL |
Differenz Endpunkt - Mittelpunkt X / Y / Z [mm] |
||||||
uiError |
UINT |
Fehler Identnummer: Diagnosenummer wird ausgegeben
|
||||||
uiWarn |
UINT |
Warnung Identnummer: Diagnosenummer wird ausgegeben
|
||||||
arreRatioAx |
ARRAY |
ARRAY[1..16]OF REAL Feld mit Verhältnissen der Distanzen der Achsen 1 ... 16 zur Gesamtdistanz |
||||||
ardiEndposAx |
ARRAY |
ARRAY[1..16]OF DINT Feld mit Endpositionen der Achsen 1 ... 16 [Inkremente] |
PLC_PRG (asynchroner Programmteil) | FPLC_PRG (synchroner Programmteil) |
---|---|
_NCM_CALC_LINE_CIRCLE |