www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS485 Zweidraht/Vierdraht


Autor: Uli Huber (ulihuber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich knoble an einem Problem, für das vielleicht jemand einen Tip geben 
kann:

Weil ich einige Fanuc Pulsecoder (Seriellen-Absolut-Encoder) bekommen 
habe, versuche ich das Protokoll zum Auslesen herauszufinden. Der 
Hersteller hält das aber leider geheim.

Also habe ich  an einer Fanuc Steuerung gemessen und herausgefunden, daß 
entgegen der beschriebenen Steckerbelegung keine separaten REQ/SD 
Leitungen verwendet werden, sondern alles auf dem Zweidraht-Bus für REQ 
läuft. Diesen belegt die Steuerung alle 250us und setzt 1,25us high, 
dann 1,25us low dann 0,5us high. Danach gibt sie den Bus frei und der 
Pulsecoder antwortet nach 8,5us mit einem Datenpaket aus 0.5us Bits.
So weit so gut.  Wenn ich es aber so nachbilde, klappt es nicht. 
Möglicherweise fehlt dem Encoder irgendeine Initialisierung.

Wenn ich allerdings denn Bus für 15us belege und dabei nach 2us einen 
8us Puls setze (sehr zeitkritisch...), dann spuckt der Encoder seine 
Daten aus. Nur nicht auf dem selben REQ Bus, sondern auf dem anderen SD 
Bus.

Hat einer von euch eine Idee ? Gibt es ein 'offizielles' Protokoll, mit 
dem man von 4-Draht auf 2-Draht umstellen kann ?

Oder hat am Ende einer sogar ein paar Infos zu den Fanuc Pulsecodern ?

Gruß
Uli

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Uli Huber,

die "EnDat" - Schnittstelle von Heidenhain ist m. E. ähnlich aufgebaut:
http://www.heidenhain.de/pressetexte/deutsch/endat.htm

Gruss Otto

Autor: Uli Huber (ulihuber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Otto,

danke für die Info.
Leider ist die Fanuc Schnittstelle völlig anders als die Endat oder SSI. 
Heidenhain verwendet ein synchrones Protokoll und versorgt den Encoder 
mit einem Schrittakt.

Heidenhain bietet übrigens auch Encoder mit lizensierter 
Fanuc-Schnittstelle an. Aber auch die halten natürlich das Protokoll 
vertragsgemäß unter verschluß.

Mittlerweile bin ich etwas weiter. Die mit dem Signalgenerator 
ausprobierte Sequenz war wohl doch etwas grob. Richtig ist wohl, daß die 
Übertragung in 1Mbps erfolgt. Die Initiierung der Ausgabe (in fullduplex 
auf dem SD Kanal) erfolgt mit einem High-Bit, acht low-Bits und einem 
High-Bit. Dann folgt die Ausgabe nach 9 Bit Abstand zur fallenden Flanke 
des letzten Bits.

Es gibt keinen Takt und auch keine erkennbare NRZ-Logik. Ganz 
offensichtlich ist es eine asynchrone Übertragung.

In dem Datenfeld kann man die veränderten Bits beim Drehen des Encoders 
gut erkennen. Sie folgen Stückweise einer binären Logik, sind aber auf 
drei unterschiedliche Felder im Datenpaket verteilt. Könnte so was wie 
eine FEC sein.

Mal sehen was ich weiter raus finde.

Gruß
Uli

Autor: Uli Huber (ulihuber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe bei der Dekodierung des Fanuc-Protokolls ein paar Fortschritte 
erzielt.
Mit einem Attiny2313 erzeuge ich sie Startsequenz und hole dann die 
Datenbits vom Bus ab. Wenn ich die als Nullen und Einsen dann per RS232 
zum PC übertrage und in EXCEL importiere, sieht das dann aus wie in der 
angehängten Datei. Mit bedingter Formatierung habe ich die Zelen 
hervorgehoben, die sich gegenüber dem Vorgängersatz geändert haben.
Das Muster entstand durch langsames Dregen des Encoders, wobei man bei 
einer Auflösung von 1Mio Steps/Umdrehung natürlich nicht mehr 
Einzelschritte erkennen kann.
Interessant scheint mir, daß die Anzahl der Bit-Wechel pro Spalte nicht 
wie beim binären Protokoll bei den höheren Potenzen abnimmt, sondern 
praktisch in allen Spalten um die 400 liegt.

Vielleicht hat ja einer eine Idee, was das für eine Codierung sein 
könnte.

Gruß
Uli

Autor: Vaterssohn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Meine Kentnisse reichen definitiv nicht aus, um dir zu helfen, aber eine 
Frage hab ich ;-) :

...zum PC übertrage und in Excel importiere...

Wie machst du das? Mit so einem Prog., dass Windows vorgaukelt, die 
Daten kämen von der Tastatur, oder so richtig Professionell? In 
letzterem Fall würde ich um eine kure Beschreibung bitten. Funkt das 
auch in die andere Richtung? (Excel-> RS232)?

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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