AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Problem beim Subtrahieren zweier Werte in C (bitweise?)
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Subtrahieren zweier Werte in C (bitweise?)

Ein Thema von Matze · begonnen am 16. Nov 2008 · letzter Beitrag vom 16. Nov 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Problem beim Subtrahieren zweier Werte in C (bitweise?)

  Alt 16. Nov 2008, 14:22
Hm, sowas in der Ar thabe ich doch. Das Problem dürfte doch weiterhin sein, dass ich in folgendem Fall nicht fesytstellen kann, ob die Temperatur weitersteigt:

Delta: 1°C

Alte Temperatur: 19°C
Aktuelle Temperatur: 20°C
=> Temperatur steigt

So, nun muss ich doch den alten Temperaturwert irgendwie verändern, damit ich im nächsten Zyklus prüfen kann, wie sich das weiter verändert hat. Wenn das weiter steigt (auch wenn es nur 0.2°C) sind, dann darf unter keinen Umständen eine konstante Temperatur angezeigt werden, auch wenn ich kleiner als das Delta bin.
Muss ich vielleicht boolsche Variablen für die 3 Status einfügen (is_rising etc.) und diese entsprechend setzen und irgendwie abfragen und neu zuweisen? Also wenn is_rising = 1 ist, dass ich dann irgendwie prüfe, bis der Wert konstant ist oder sinkt und dann die Status neu setze?


Wenn ich Messis Lösung nutzen würde, dann könnte ich ja bsp. ein Delta von 0.5°C vorgeben und den Zähler hochzählen, wenn die Differenz 0.1°C ist. Ist der Zähler 5, habe ich mein Delta erreicht und mache etwas. Doch dann müsste ich den Zähler wieder auf 0 setzen. Somit wäre in dem Moment die Signalisierung für die Temperatur konstant. Wenn die Temperatur dann weitersteigt, dann dauert es wieder mind. 5 Schritte, bis ich die LEDs zum signalisieren der steigenden Temperatur anschalten kann.
Das heißt, wenn es langsam steigt, geht die LED, die eine steigende Temperatur signalisiert, immer aus und an.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Problem beim Subtrahieren zweier Werte in C (bitweise?)

  Alt 16. Nov 2008, 15:44
Zitat von Matze:
... Wenn das weiter steigt (auch wenn es nur 0.2°C) sind, dann darf unter keinen Umständen eine konstante Temperatur angezeigt werden, auch wenn ich kleiner als das Delta bin.
...
Hallo Matthias,

mal eine ketzerische Frage, warum brauchst Du dann das Delta?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#13

Re: Problem beim Subtrahieren zweier Werte in C (bitweise?)

  Alt 16. Nov 2008, 16:27
Hallo Matze...

nur rein als Anregung gedacht

ich verstehe den Sinn der LED nicht so ganz.
- warum willst du eine steigende oder fallende Temperatur signalisieren ?
- warum spielt die Geschwindigkeit der Temperaturveränderung eine Rolle ?
- das was du mit der Klappe vorhast nennt man Zweipunktregelung.
siehe Technische Informationen:
- Zweipunkt-Regelung
- Hysterese
- viel wichtiger ist, daß eine Aktion ausgeführt wird, wenn die Temperatur einen Sollwert um eine Differenz (Hysterese) übersteigt bzw. unterschreitet.
- eventuell eine Signalisation, daß die Temperatur den oberen Grenzwert überstiegen bzw. den unteren Grenzwert unterschritten hat.
- alles was dazwischen liegt ist regelungstechnisch unrelevant (weil nicht wirklich aussagekräftig)

PS: vieleicht solltest du die digitalen Werte, welche der DA Wandler liefert experimentell ermitteln. Einmal mit Eiswasser den 0° Punkt und mit kochendem Wasser den 100° Punkt. Da Temperaturfühler in der Regel lineare Werte liefern kannst du dir dann alle Zwischenwerte ausrechnen.

technische Informationen Regelung

  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz