Pollen von schwankenden Sensorwerten

Gast #3874731
Lesenswert?
• ▲
▼
Hallo,

Ich habe mir aus einigen uCs ein auf RS485 basierendes Sensornetz 
gebastelt. Ein ebenfalls vernetzer PC soll nun diese Sensoren abfragen.

Um das Problem Multimaster zu umgehen, möchte ich ausschließlich den PC 
als Master einsetzen. Die Frage ist nun wie:

Gehen wir z. B. von einem Sensor aus der nur zwei Zustände kennt. 
Wechselt der Zustand nun schneller als der PC pollt, dann würde ein 
zustandswechsel verloren gehen.

Gibt es für dieses Problem eine Lösung? (Mal abgesehen vom aktiven 
benachrichtigen des Masters?)
Gast #3874742
Lesenswert?
• ▲
▼
Mike schrieb:
> Wechselt der Zustand nun schneller als der PC pollt, dann würde ein
> zustandswechsel verloren gehen.
>
> Gibt es für dieses Problem eine Lösung?

Ein Fifo am Sensor.

Das funktioniert natürlich auch nur, wenn der PC im Mittel schnell genug 
ist um alle Sensoren zu bedienen.
Die Länge des Fifos (bei seriellen Schnittstellen sind z.B. 3..6Bytes 
üblich) richtet sich danach wie schnell die Werte anfallen und wie lange 
der PC sich nicht um das Abholen kümmert.
Gast #3874795
Lesenswert?
• ▲
▼
Die Frage ist doch, ob es überhaupt sinnvoll ist, Sensoren
mit einem Takt zu pollen, der viel zu langsam für mögliche
Ereignisse auf der Sensorseite ist.

Wer pollt, muss damit leben, dass er nur die Zustände im
Zeitraster des Poll-Zyklus erfassen kann!

Man könnte einen Zwischenspeicher im Sensor haben, der dann
bei jeder Abfrage alle seit der letzten Abfrage gesammelten
Zustandswechsel ausgibt.

Aber - wie willst du das auf PC-Seite in den zeitlichen Ablauf
der Meldungen von allen anderen Sensoren einfügen?
- Da wird wahrscheinlich nur Unsinn bei herauskommen.

Die einzige sinnvolle Überlegung wäre:
Ist es bei einem Sensor wichtig, auch kurze Ausnahmezustände
zu erfassen, sollte er bei einer Abfrage nicht den aktuellen,
sondern den seit der letzten Abfrage aufgetretenen
Ausnahmezustand melden.
- Das muss dem Sensor einprogrammiert werden.
- Und dem Auswerte-Programm im PC "bewusst" sein.
Gast #3874804
Lesenswert?
• ▲
▼
Mike schrieb:
> Gehen wir z. B. von einem Sensor aus der nur zwei Zustände kennt.
> Wechselt der Zustand nun schneller als der PC pollt, dann würde ein
> zustandswechsel verloren gehen.
>
> Gibt es für dieses Problem eine Lösung? (Mal abgesehen vom aktiven
> benachrichtigen des Masters?)

Lass den Sensor Integralwerte an den Master übertragen. Dann schadet es 
nichts, wenn man eine Zustandsänderung nicht mitbekommt.

Beim Bankkonto weiss man auch immer, wieviel Geld drauf ist, auch wenn 
man nicht jeden einzelnen Kontoauszug mitplottet.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.