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
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
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
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
Dann brauchst du ein Multimastersystem (das geht einfacher mit CAN) oder du pollst alle slaves mit einer deutlich höheren Geschwindigkeit. Also reirum abfragen, wie der aktuelle Stand ist. Bei deinem Problem ist das kein Problem :-)
Andre I. schrieb:
> Willst du Affen trainieren? :/
man nennt das Fehlerminimierung.
Bitte auf eine nette Frage freue ich mich auf nette Antworten
danke
Marion
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 ;)
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
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.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.