Forum: Mikrocontroller und Digitale Elektronik Bussystem Positionserkennung


von Xajarex (Gast)


Lesenswert?

Moin,

ich habe erst kürzlich mal wieder mit einem alten Feldbus zu tun gehabt 
und würde ganz gerne verstehen, wie eine Positionserkennung auf diesem 
möglich ist.

Es handelt sich hierbei um einen Bus der zur Kommunikation mit 
Teilnehmern Spannungsänderungen vornimmt. 12V = Logische 1 -- 27,5V = 
Logische 0 . Die Teilnehmer Antworten via Strom 9uA = Logische 0 -- 10mA 
= Logische 1 . Die Topologie ist Stichförmig und es handelt sich um 
einen 2Draht Bus(Power und Daten s.o.).

Bsp. für einen Bus mit 4 Tln.
|==========|
| Zentrale |==========(TLN1)======(TLN2)======(TLN3)======(TLN4)
|==========|

Die Teilnehmer haben keine Trennelemente zwischeneinander(Der Bus ist 
immer durchgängig von Zentrale bis zum Letzten TLN)

Nach einer Abfrage der Anlage melden sich die Teilnehmer(max 230) mit 
einer UID.

Zum Zeitpunkt dieser Abfrage sind die Teilnehmer der Anlage nicht 
bekannt, sprich in der Zentrale Programmiert, hinterlegt, whatever.

Wie ist es möglich, das nicht alle Teilnehmer gleichzeitig Antworten?
Wie ist es möglich, die genaue Position eines jeden Teilnehmers zu 
ermitteln?(Antwortzeit?).

Leider gibt es hierzu Seitens des Herstellers keine Informationen. 
Vielleicht kann mich ja hier jemand weiterbilden.

MFG
Xajarex

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Xajarex schrieb:
> Wie ist es möglich, das nicht alle Teilnehmer gleichzeitig Antworten?
Mach die Arbitrierung kollisionsfrei wie beim CAN: wenn der Bus grad 
frei ist, fängt jeder an zu senden. Wenn einer als Kennung eine '1' 
ausgibt und eine '0' einliest, dann lässt er fürderhin die Finger vom 
Bus.

Xajarex schrieb:
> Wie ist es möglich, die genaue Position eines jeden Teilnehmers zu
> ermitteln?(Antwortzeit?).
Wird die Position im Bus ermittelt oder die Entfernung von der 
Zentrale? Und wie "genau" funktioniert diese Ermittlung?

: Bearbeitet durch Moderator
von Xajarex (Gast)


Lesenswert?

Hey, das mit der arbitrierung macht Sinn. Die Ermittlung funktioniert 
folgendermaßen. Wenn alle Teilnehmer der Anlage installiert sind, wird 
an der Anlage das sog. Einlesen gestartet. Nun geht die Anlage jeden 
Teilnehmer ab und gibt ihm eine Kommunikationsadresse die von nun an zur 
Kommunikation verwendet wird. Beginnend ab 2 da die Anlage 3 Adressen 
einnimmt. Nach dem einlesen hat die Anlage eine Topologie erstellt, in 
der die exakte Reihenfolge der eingelesenen Teilnehmer zu sehen ist. 
Anhand dessen wurden auch die Kom Adressen vergeben. Die Kommunikation 
läuft dabei immer so: Abfrage der Anlage (mit Spannungswechsel) 
Stromantwort , 1 Busruhe und weiter. Allerdings soweit ich das Messen 
kann melden sich die Teilnehmer eben nicht in der korrekten Reihenfolge 
beim einlesen. Am Ende des einlesen, wenn alle (in meinem Fall 6 
Teilnehmer durchgelaufen sind) passiert noch einiges auf dem Bus bis 
dann zu guter Letzt nur noch via Spannungspulse Kom Adressen vergeben 
werden. Das kann ich dann wieder Messen und nachvollziehen (einigermaßen 
;) Aber wie kann sie den Abstand von sich zum Teilnehmer Messen. Ich 
hatte dabei an Antwortzeit gedacht wie beim Entfernungsmesser aber da 
müsste doch die Toleranz unmöglich gering sein oder?

von Jens M. (schuchkleisser)


Lesenswert?

Lies wie 1-wire funktioniert und verstehe.
Würde mich ehrlich gesagt nicht wundern wenn es sogar genau das ist.
Dumm nur, das man in der Regel nicht weiß, wer der mechanisch erste 
Teilnehmer ist. Es sei denn, man achtet auf die Seriennummern beim 
Einbau "der kleinste nach links" oder der User interagiert bei der 
Inbetriebnahme, durch Tastendruck oder 
immer-schön-eins-nach-dem-anderen-anstecken.
Dabei kann dann ja eine zusätzliche BusID in den Tln gespeichert werden, 
die die Position am Bus kennzeichnet. Tausch man einen aus, hat der 
keine, aber "ich sehe 1-3 und 5-10, dann muss der neue 4 sein".

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
Noch kein Account? Hier anmelden.