Forum: Mikrocontroller und Digitale Elektronik Bussystem Positionserkennung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Xajarex (Gast)


Bewertung
0 lesenswert
nicht 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. (lkmiller) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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".

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.