easy-forum

Deutsch - Software => XSoft-CoDeSys => Thema gestartet von: martinc am Februar 19, 2008, 08:44:52 Vormittag

Titel: mathematische Funktion 1/x???
Beitrag von: martinc am Februar 19, 2008, 08:44:52 Vormittag
Hallo Easyforum Nutzer,
ich möchte gern Zahlenwerte mit der mathematischen Funktion 1/x umrechnen.
(Beispiel: Meter pro Sekunde umwandeln nach Sekunde pro Meter)
 ???
Ich habe versucht das mit dem BausteinDIV zu realisieren; das geht natürlich nicht, da die Variable am ersten Eingang anliegen muss.
Da 1 nicht die Variable ist, sondern x funktioniert das ganze nicht.
Weiss jemand von Euch, wie das geht?
Titel: Re: mathematische Funktion 1/x???
Beitrag von: opajan am Februar 19, 2008, 17:38:39 Nachmittag
Hallo Martin,

das geht schon (siehe Anhang), es ist nur wichtig, daß die Variablen als "REAL" deklariert werden!
und zwar beide, Input und Output-Variable, sonst kommt es zu einem Typkonflikt!
Gruß
Jan
Titel: Re: mathematische Funktion 1/x???
Beitrag von: martinc am Februar 20, 2008, 13:24:49 Nachmittag
Vielen Dank für die Info,
ich habe deinen Rat angewendet und meine Schaltung funktioniert jetzt endlich!
 ;D ;D ;D

Titel: Re: mathematische Funktion 1/x???
Beitrag von: Uwe69 am März 13, 2008, 10:06:33 Vormittag
Wenn ich die Werte zweier Anologeingänge miteinander multipliziern möchte,
habe ich ein ähnliches Problem. Das Ergebniss geht nicht über den Wert "65535"
hinaus sondern zählt nach dem Überlauf wieder von 0 hoch.

Wie kann ich die beiden dennoch miteinander multiplizieren?

Titel: Re: mathematische Funktion 1/x???
Beitrag von: Mr. Spok am März 13, 2008, 13:32:11 Nachmittag
Hallo Uwe,

Du mußt vor dem Multiplizieren einen Typcast vornehmen.

VAR

Ergebnis :UDINT;
AI1 :WORD;
AI2 :WORD;

END_VAR


Ergebins:= WORD_TO_UDINT(AI1) * WORD_TO_UDINT(AI2);

mfG JAn
Titel: Re: mathematische Funktion 1/x???
Beitrag von: Uwe69 am März 18, 2008, 11:14:55 Vormittag
Was wäre die Enterprise wohl ohne Mr.Spock  :D   ?
Danke dir.