Sensoren überwachen nach Master-Slave-Prinzip

Gast #1525533
Lesenswert?

Hallo Leute ich stecke in einem kleinen Dilema.
ich möchte Durch einem Bus meinen Sensoren überwachen.
Es geht um den RS485-bus. Ein Master und mehrere Slave.
Jede Slave hat sein eindeutiger ID. Der Master hat eine Reihenfolge wie 
er die anspricht in einem Register gespeichert, die er jedes mal 
inkrementiert und dem nächten anspricht.

Jeder angesprochene Sensor wird dann aktiv, es wird dann an der stelle 
ein Metal dose hingestellt. Erkennt er diese, sendet er ein ACK an dem 
Master zurück. und der nächste wird dann aktiv und so weiter.

So ist der reale und erwünschte zustand.

Nun möchte ich bei diesem Vorgang Fehler detektieren und entsprechend 
darauf ein Signal am einem Pin-Ausgang senden.

Wenn zum beispiel der Master Slave 1 aktiviert, und wartet auf sein Ack, 
wird statt dessen eine Dose bei der unaktivierte Slave 2 hingestellt.
Diese kann aber keine Verbindung mit der Master herstellen, da der 
Master him nicht angesprochen hat.

Da  steckt nun  der Dilema. wie kann  ich auf dem Bus(in meinem System) 
diese Fehler erkennen und entsprechend  ein Ton oder ein Lämpschen 
leuschten Lassen.


ich bedanke mich für jede Idee


lg
Marion
Gast #1525543
Lesenswert?

Hi

>Wenn zum beispiel der Master Slave 1 aktiviert, und wartet auf sein Ack,
>wird statt dessen eine Dose bei der unaktivierte Slave 2 hingestellt.
>Diese kann aber keine Verbindung mit der Master herstellen, da der
>Master him nicht angesprochen hat.

Dann sollte der Slave ihm das bei der nächsten Abfrage mitteilen.

MfG Spess
Gast #1525551
Lesenswert?

hi

spess53 schrieb:
> Hi
>
>
>
>>Wenn zum beispiel der Master Slave 1 aktiviert, und wartet auf sein Ack,
>
>>wird statt dessen eine Dose bei der unaktivierte Slave 2 hingestellt.
>
>>Diese kann aber keine Verbindung mit der Master herstellen, da der
>
>>Master him nicht angesprochen hat.
>
>
>
> Dann sollte der Slave ihm das bei der nächsten Abfrage mitteilen.
>
>
>
> MfG Spess


Die würze in der Sache ist , dass das system den Mitarbeiter führen 
soll, so dass er vor dem richtigen sensor die Dose hinstellt.  Und bei 
falsche handlung das Lämpschen-signal anmachen, bis er auf die richtige 
stelle die Dose hingelegt hat.

Lg
Marion
Gast #1525556
Lesenswert?

Hi

>Die würze in der Sache ist , dass das system den Mitarbeiter führen
>soll, so dass er vor dem richtigen sensor die Dose hinstellt.  Und bei
>falsche handlung das Lämpschen-signal anmachen, bis er auf die richtige
>stelle die Dose hingelegt hat.

Na und. Der µC ist mit Sicherheit 1000mal schneller als dein 
Mitarbeiter.

MfG Spess
Persönliche Seite #1525577
Lesenswert?

Na du hast deine Antwort ja schon und bei solchen Anforderungen:

"so dass er vor dem richtigen sensor die Dose hinstellt.  Und bei
falsche handlung das Lämpschen-signal anmachen, bis er auf die richtige
stelle die Dose hingelegt hat."

liegt der Vergleich halt nahe. Fehlt nur noch die Züchtigung durch 
Elektroschock. Nicht gleich alles ernst nehmen ;)
Gast #1525961
Lesenswert?

Hi!
Wo ist das Problem? Über ein Timeout die Verbindung kappen und alle 
anderen Sensoren abfragen. Wehe wenn da woanders was gemeldet wird.....
Du musst dir nur merken welcher Sensor eigentlich drann ist.

Viel Erfolg, Uwe
Gast #1527352
Lesenswert?

Danke für die Ideen.

Uwe schrieb:
> Hi!
>
> Wo ist das Problem? Über ein Timeout die Verbindung kappen und alle
>
> anderen Sensoren abfragen. Wehe wenn da woanders was gemeldet wird.....
>
> Du musst dir nur merken welcher Sensor eigentlich drann ist.

Da versteht ich nicht so ganz.

>Über ein Timeout die Verbindung kappen

meinst du ein Timer anbauen, die nach der Anfrage an einem Sensor laufen 
soll und nach dem Ablauf des Zeitsinterval ohne eine Rückmeldung vom 
Slave die Lämpchen zum leuchten bringen soll?


> und alle anderen Sensoren abfragen.
welche sensor noch.

ich wollte so implementieren , dass bei jedem Sensor, die kommunikation 
erst startet wenn diesem angesprochen wird.
Gast #1527553
Lesenswert?

Hi!
>> und alle anderen Sensoren abfragen.
>welche sensor noch.

>Jeder angesprochene Sensor wird dann aktiv,
ähmm, das sind bei mir mehrere, bei dir nicht?

>es wird dann an der stelle ein Metal dose hingestellt.
>Erkennt er diese, sendet er ein ACK an dem Master zurück.
Und wenn nicht? Warten...... oder eben Timeout
>und der nächste wird dann aktiv und so weiter.

>meinst du ein Timer anbauen, die nach der Anfrage an einem Sensor laufen
>soll und nach dem Ablauf des Zeitsinterval ohne eine Rückmeldung vom
>Slave die Lämpchen zum leuchten bringen soll?
Nicht ganz, Timer ja, aber dann erstmal die anderen Sensoren abfragen.
Das Lämpchen aber erst an wenn auf einem anderen ein ACK kommt.
Du kannst auch ständig den Bus scannen und nachschauen was so bei den 
Sensoren los ist. Tastzeit je Sensor 1ms? Wenn kein ACK ab zum nächsten.
Damit lässt sich zb. "falsches Abstellen" und bummeln erfassen.

>ich wollte so implementieren , dass bei jedem Sensor, die kommunikation
>erst startet wenn diesem angesprochen wird.
Ist doch alles richtig, nur nach zb. 1ms darf er nichts mehr sagen bis 
er erneut gefragt wird.

Viel Erfolg, Uwe

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