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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren