Autor Thema: mathematische Funktion 1/x???  (Gelesen 7194 mal)

Offline martinc

  • Newbie
  • *
  • Beiträge: 18
mathematische Funktion 1/x???
« 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?

Offline opajan

  • Full Member
  • ***
  • Beiträge: 163
Re: mathematische Funktion 1/x???
« Antwort #1 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
Ein Prototyp ist erst dann richtig getestet, wenn er am Ende der Tests zerstört ist......
Keine Garantie für den Senf den ich hier verzapfe......

Offline martinc

  • Newbie
  • *
  • Beiträge: 18
Re: mathematische Funktion 1/x???
« Antwort #2 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


Offline Uwe69

  • Jr. Member
  • **
  • Beiträge: 23
Re: mathematische Funktion 1/x???
« Antwort #3 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?


Offline Mr. Spok

  • Sr. Member
  • ****
  • Beiträge: 652
Re: mathematische Funktion 1/x???
« Antwort #4 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
Für die Richtigkeit und Funktionalität der hier veröffentlichten Beispiele wird keine Gewähr übernommen.
Für Schäden, die durch Verwendung der Beispiele entstehen, wird keine Haftung übernommen.

Offline Uwe69

  • Jr. Member
  • **
  • Beiträge: 23
Re: mathematische Funktion 1/x???
« Antwort #5 am: März 18, 2008, 11:14:55 Vormittag »
Was wäre die Enterprise wohl ohne Mr.Spock  :D   ?
Danke dir.