RS485 Zweidraht/Vierdraht

OP #475477
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
OP #475644
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
OP #480421
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
Gast #541687
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.