QUOTE (Schrudo @ 14.11.2011, 09:41 Uhr)

nimm das Programm von mir und teste mal damit, dann wird du sehen was ich meine.
Mit ANG wird ein Winkel von +- 180 Grad ausgerechnet (Vollkreis).
Daher dreht Dein Tisch je nach Tastpositionen 180 Grad falsch wenn Du ANG verwendest.
Wird ATAN verwendet ist das Ergebnis +- 90 Grad.
Ich hab da mal eine Tabelle programmiert.
In die Spalten X1, Y1, X2 und Y2 kannst Du beliebige Werte eintragen.
Das Programm berechnet daraus die Spalten X-Abst, Y-Abst, ANG und ATAN.
Mit den Werten aus der Spalte ATAN sollte der Tisch immer gerade gestellt werden, so wie beim Antasten der Grunddrehung.
BEGIN Tast .tab
#STRUCTBEGIN
NAME = X1
TYPE = N
WIDTH = 9
DEC = 3
DIA-GERMAN = Tastpunkt X1 ?
NAME = Y1
TYPE = N
WIDTH = 9
DEC = 3
DIA-GERMAN = Tastpunkt Y2 ?
NAME = X2
TYPE = N
WIDTH = 9
DEC = 3
DIA-GERMAN = Tastpunkt X2 ?
NAME = Y2
TYPE = N
WIDTH = 9
DEC = 3
DIA-GERMAN = Tastpunkt Y2 ?
NAME = X-Abst
TYPE = N
WIDTH = 9
DEC = 3
DIA-GERMAN = Abstand in X ?
NAME = Y-Abst
TYPE = N
WIDTH = 9
DEC = 3
DIA-GERMAN = Abstand in Y ?
NAME = ANG
TYPE = N
WIDTH = 9
DEC = 3
DIA-GERMAN = Berechnung: X ANG Y ?
NAME = ATAN
TYPE = N
WIDTH = 9
DEC = 3
DIA-GERMAN = Berechnung: ATAN ( Y / X ) ?
#STRUCTEND
NR X1 Y1 X2 Y2 X-Abst Y-Abst ANG ATAN
0 0 0 5 10 5 10 26.565 63.435
1 0 0 10 5 10 5 63.435 26.565
2 0 0 10 -5 10 -5 116.565 -26.565
3 0 0 5 -10 5 -10 153.435 -63.435
4 0 0 -5 -10 -5 -10 -153.435 63.435
5 0 0 -10 -5 -10 -5 -116.565 26.565
6 0 0 -10 5 -10 5 -63.435 -26.565
7 0 0 -5 10 -5 10 -26.565 -63.435
[END]
0 BEGIN PGM Tast MM
1 Q1 = 0
2 LBL 1
3 FN 26: TABOPEN Tast.tab
4 FN 28: TABREAD Q10 =Q1 /"X1,Y1,X2,Y2"
5 Q14 = Q12 - Q10 ; X-Abstand
6 Q15 = Q13 - Q11 ; Y-Abstand
7 FN 13: Q16 =+Q14 ANG +Q15
8 Q17 = ATAN ( Q15 / Q14 )
9 FN 27: TABWRITE Q1 /"X-Abst,Y-Abst,ANG,ATAN" = Q14
10 Q1 = Q1 + 1
11 FN 12: IF +Q1 LT +8 GOTO LBL 1
12 M30
13 END PGM Tast MM
Gruß
cgTNC