Hallo,
leider bietet mir die von KUKA mitgelieferte Funktion nicht die Möglichkeit die 3 Punkte später wieder Anzufahren.
Damit ich die Basen nachteachen kann, habe ich mir ein kleines Programm geschrieben, indem die 3 Punkte ( pOrigine, pX_axis, pXY_plain) für alle 32 Basen gespeichert werden.
Leider funktionieren meine Winkel (A.B,C) Berechnungen nicht.
Wüsste evtl. jemand wie die Formeln aussehen müssen damit diese richtig berechnet werden?
Code
;*** Set X,Y,Z to Base
fNewValues.X=Teachpoints_base[nBaseNr].pOrigine.X
fNewValues.Y=Teachpoints_base[nBaseNr].pOrigine.Y
fNewValues.Z=Teachpoints_base[nBaseNr].pOrigine.Z
;*** Calculate base angle A
fNewValues.A=ATAN2((Teachpoints_base[nBaseNr].pX_axis.Y-Teachpoints_base[nBaseNr].pOrigine.Y),(Teachpoints_base[nBaseNr].pX_axis.X-Teachpoints_base[nBaseNr].pOrigine.X))
;*** Calculate base angle B
fNewValues.B=ATAN2((Teachpoints_base[nBaseNr].pX_axis.Z-Teachpoints_base[nBaseNr].pOrigine.Z),(Teachpoints_base[nBaseNr].pX_axis.X-Teachpoints_base[nBaseNr].pOrigine.X))
;*** Calculate base angle C
fNewValues.C=ATAN2((Teachpoints_base[nBaseNr].pXY_plain.Z-Teachpoints_base[nBaseNr].pOrigine.Z),(Teachpoints_base[nBaseNr].pXY_plain.Y-Teachpoints_base[nBaseNr].pOrigine.Y))
;***Write new Values to selected Base
BASE_DATA[nBaseNr]=fNewValues
Alles anzeigen