Berrechnung eines Winkels mit CPU226

S

SFx

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, wie kann ich mit einer S7-200 einen Winkel berechnen.
Bekannt ist die Ankathete und Gegenkathete.
Die richtige Formel ist tan α = Gegenkathete : Ankathete->
α=tan -1 Gegenkathete : Ankathete
Aber wie kann ich dies mit einer CPU226 berechnen?

Schönen Abend


SFx
 
Hallo
habe es sehr lange nicht mehr gemacht erinnere mich aber dass die 226 auf jeden Fall unter Gleitpunktarithmetik direkte Funktionen für SIN, COS und TAN beinhaltet (mit denen ich mal versuchte Kreise und Dreiecke in CNC-Gcode umzurechnen). Ist allerdings alles im Bogenmass. Muss dann entweder mit pi / 180 multipliziert werden oder etwas hakeliger über die ARC-Funktionen auf den Winkel zurückgeführt werden. Dazu fand ich die Formel irgendwo im Gieck versteckt. Meine mich dumpf an den Sinussatz (??) zu erinnern, damit gings dann wie geschmiert.

Gruss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

leider habe ich die technische Formelsammlung nicht zur Verfügung und komme an dieser Stelle auch mit der sin/cos - Funktion der CPU nicht weiter. Mit dem Bogenmass kann ich den Winkel zwar berechnen aber das Bogenmass ist nicht bekannt. Dies kann ich wiederum auf dem einfachsten Weg mit dem Winkel berechnen :-( Da beisst sich die Katze
in den Schwanz....
 
SFx schrieb:
Mit dem Bogenmass kann ich den Winkel zwar (...)

Zur Umrechnung der Winkelangabe von Grad in Bogenmaß muss der Winkel in Grad mit 1,745329E-2 (ca. pi / 180) multipliziert werden ... . (DIN xyz oder aus der S7 online Hilfe)
Und AK && GK ist ja gegeben.
technische Formelsammlung (...)

Das Bogenmass ist ja prinzipiell nur 'ne andere 'Schreibweise' (statt ° in rad)
90° == pi/2
30° == pi/6
15° == xxxx
bezogen auf den Einheitskreis (war ca. so ca.).
 
SFx schrieb:
... AK und GK sind bekannt, aber wie errechne ich daraus den Winkel oder das Bogenmass (ohne bekannten Winkel)??

MfG
Den Winkel berechnest du normalerweise mit der Funktion Arcus Tangens. Leider hat die S7 200 keine solche Funktion. Leider auch keine der anderen Umkehrfunktionen.

Die letzte Möglichkeit ist über die sogenannte Tayloreihe. Dies ist eine unendliche lange Summe von Potenzen einer Variablen. Im Prinzip gibt es eine Reihe von Faktoren a0,a1, a2, a3..an so daß gilt:
arctan(x)=a0+a1*x+a2*x*x+a3*x*x*x+a4*x*x*x*x+....... u.s.w.
Von dem "unendlich lang" brauchst du dich nicht abschrecken zu lassen, da normalerweise die Teilglieder nach hinten immer kleiner werden und man nur einige Gieder am Anfang der Summe berechnen muß, um auf eine bestimmte Genauigkeit zu kommen.
Damit läßt sich dann Arcus Tangens nur durch Multiplikation und Addition berechnen und im Prinzip macht die Firmware der S7 (für die Funktionen die sie hat, z.B. Sinus) und dein Taschenrechner oder dein PC das intern auch so.
Leider habe ich die Taylorreihe für Arcus Tangens (also die richtigen Faktoren) nicht zur Hand. Google hilft sicher.
 
Oder auch Wikipedia:
http://de.wikipedia.org/wiki/Arcustangens
Die Reihe ist also a0=0, a1=1, a2=0, a3=-1/3,a4=0, a5=1/5,a6=0, a7=-1/7...
Doch Vorsicht: Da steht, daß die Reihe nur "konvergiert", wenn x<=1 ist. Das ist der Fall, wenn der Winkel <45 Grad ist, also Gegenkathete < Ankathete.
Ansonsten (für Winkel 45<x<90): Gegen- und Ankathete tauschen, ergibt eine Winkel <45 Grad. Diesen Winkel von 90 abziehen.
Für Winkel >90 (siehst du daran daß Gegen- oder Ankathete oder beide negativ sind), einfach mit den positiven Werten rechnen und nacher Vielfache von 90 Grad oder 180 Grad dazuzählen.
 
Das war ein Spitzenhinweis. Ich habe die Bibliothek ergänzt, mein Problem ist damit gelöst, vielen Dank.
 
Zurück
Oben