Direkte Eingabe von Messdaten

Die Messergebnisse der Linearachsen X, Y und Z (in mm) für jeweils eine Pose müssen eingetragen werden. Des Weiteren müssen die zugehörigen Winkel der Rotationsachsen angegeben werden. Im folgenden Beispiel wurde eine AB Tischkinematik in der Pose A=20 und B=0 Grad gemessen. Obwohl es im Beispiel keine C-Achse gibt, muss die C Stellung mit 0 übergeben werden.

Programmierbeispiel

prg_example

Beispiel für die direkte Eingabe von gemessenen Daten

; Variablen definieren

#VAR

V.L.N = 6        ( Anzahl der gemessenen Punkte )

V.L.X[V.L.N]     ( X-Koordinate der gemessenen Punkte )

V.L.Y[V.L.N]     ( Y-Koordinate der gemessenen Punkte )

V.L.Z[V.L.N]     ( Z-Koordinate der gemessenen Punkte )

V.L.RESULT_V[3]  ( Array zum Speichern des Berechnungsergebnisses )

V.L.A = 20       ( Stellung der A-Achse )

V.L.B = 0        ( Stellung der B-Achse )

V.L.C = 0        ( Stellung der C-Achse )

#ENDVAR

; Liste der XYZ Koordinaten aller gemessenen Punkte dieser Pose, in mm

V.L.X[0] = 101.807  V.L.Y[0] = 273.174  V.L.Z[0] = 130.068

V.L.X[1] = 116.795  V.L.Y[1] = 258.750  V.L.Z[1] = 130.068

V.L.X[2] = 104.246  V.L.Y[2] = 244.524  V.L.Z[2] = 129.024

V.L.X[3] = 89.606   V.L.Y[3] = 257.804  V.L.Z[3] = 132.980

V.L.X[4] = 96.606   V.L.Y[4] = 269.804  V.L.Z[4] = 133.957

V.L.X[5] = 102.780  V.L.Y[5] = 264.366  V.L.Z[5] = 139.522

; Aufruf des Zyklus zur Berechnung des Kugelmittelpunkts

L CYCLE [NAME = "SysCalcSphere.ecy"]

; Hinzufuegen neuer Koordinaten zur Kinematikberechnung

L CYCLE [NAME = "SysCalibFitAddRecord.ecy"      \

        @P1 = V.L.RESULT_V[0]                   \

        @P2 = V.L.RESULT_V[1]                   \

        @P3 = V.L.RESULT_V[2]                   \

        @P4 = V.L.A                             \

        @P5 = V.L.B                             \

        @P6 = V.L.C                             \

        ]

; ... Eingabe für alle Posen durchführen

Dieser Schritt muss für jede gemessene Pose durchgeführt werden. Danach kann der Berechnungsprozess aus dem gleichen NC-Programm wie die eingetragenen Werte gestartet werden.

Programmierbeispiel

prg_example

Aufruf des Berechnungszyklus

V.P.MAX_PRECISION = 0.06   ( Genauigkeit )

V.P.LIST_FORMAT   = 1      ( Listen Format fuer Ergebnis )

#ENDVAR

; Aufruf des Berechnungszyklus

L CYCLE [NAME = "SysCalibFit.ecy"   \

        @P1 = V.L.LIST              \

        @P2 = V.L.MAX_PRECISION     \

        ]

 

; Aufruf des Zyklus zum Beenden

L CYCLE [NAME = "SysCalibFitFinalize.ecy"]