Re: Rechenfehler?? oder was ganz anderes... Kategorie: Programmierung (von Markus - 24.08.2005 16:20) | ||
Als Antwort auf Re: Rechenfehler?? oder was ganz anderes... von krassos - 24.08.2005 15:28 | ||
| ||
Hallo krassos! Ja, dass war nen sehr Guter Tip, es klappt nun bei mir! Habe einfach alles x1000 genommen! vorher hat mein Controller bei dem unteren Beispiel geguckt ob 125 V < 25 Volt ist also 0 gesetzt 62V < 25 Volt ist, also 0 31V < 25V ist, also 0 15V < 25V ist, also 1 und 25-15 gerechnet, also 10 dann 7V < 10 also 1, und 10-7 gerechnet usw. Ich dachte halt dass er die Kommastellen mitrechnet... nun macht er folgendes! 125000<25000 -->0 62500<25000 -->0 31250<25000 -->0 15625<25000 -->1 und 25000 - 15625 = 9375 dann 7812<9375 -->1und 9375-7812 =1563 3906<1563 -->0 usw! men sieht schon dass da völlig andere Ergebnisse zustande gekommen sind und je kleiner desto ungenauer! Ich lese übrings die Spannung per Drehgeber ein... Besten Dank, markus > > > Hallo krassos! > > Dass könnte schon dass Problem sein! Leider habe ich keine Ahnung was du jetzt mit Digits meinst! > > Wenn der Controller mir natürlich bei 1000V/16 62 anstatt 62.5 ausgibt und dass bei den anderen > > nachfolgenden Werten auch noch kann ich mir vorstellen dass die Ungenauigkeit daher kommt! > > Aber wie löse ich dieses Problem?? > > wie setzte ich die 1000V auf 1000000digits?? > > Markus > > Hallo Markus, > > wie kommt denn der Spannungswert in den Controller? Misst Du die Spannung, > oder liest Du sie aus einem anderen System aus oder gibst Du diese von Hand vor? > > Wenn Du einen Wert umskalieren möchtest, mu�t Du Ihn nur mit dem Skalierungs-faktor multiplizieren. > In Deinem Beispiel also Skalierung 1000. > > 1000V x 1000 = 1000000 (Digits) > > Jetzt kannst Du auch korrekt dividieren: > > 1000000 : 2 = 500000 > 500000 : 16 = 31250 > > Die Kommasetzung ist dann wohl kein Problem bei einer evtl. Anzeige. > > Alternativ kannst Du die Berechnung auch gleich in FLOAT erledigen. > Dauert halt ein paar Mikrosekunden länger. > > Gru� krassos | ||
Antwort schreiben Antworten: |