Fanuc FwLib32-Ersatz für NonWindows-x86 mit Python3

OP Persönliche Seite #6263630
Ich habe begonnen mit der Protokollanalyse von FANUC's 
Kommunikationsprotokoll über Ethernet.
Eventuell hat jemand Interesse, Zugriff auf Fanuc-CNC-Maschinen über 
Netzwerk, kann die Kommunikation mit Aufzeichnen und
möchte gern mithelfen das Protokoll für andere, wie die mir zur 
Verfügung stehenden Maschinen, zu analysieren.
Momentan kann ich aktiv die Kommunikation von einer EDM Robocut (160W) 
und einer Robodrill (31i) aufzeichnen.
Die grobe Struktur des Protokolls habe ich soweit schon entschlüsselt.
Es gibt aber für andere Steuerungen neue Request/Response-Frames um z.B. 
neue Datentypen zu Unterstützen.
Aktuell kann ich lesend auf Makrovariablen, PMC-Werte, Diagnose-Werte 
und CNC-Parameter zugreifen ohne den Einsatz
der sehr Windows-gebundenen FWLib32, die zwar für kleines Geld zu haben 
ist, aber leider nur als DLL/LIB/H für x86.
Als Programmiersprache ist momentan Python3 im Einsatz welches 
Socket-Kommunikation nutzt.
Das Ziel ist der Zugriff von nicht x86-Windows-Maschinen auf Daten- und 
Überwachungswerte besagter CNC-Maschinen.
Ein schreibender Zugriff ist möglich, sowie das Transferieren von 
Programmdaten. Allerdings ist das noch nicht
implementiert.


Gruß Dennis
OP Persönliche Seite
cppbert schrieb:
> Ist das Protokoll für Roboter und NCs das gleiche?
> Willst du nur Ethernet oder auch HSSB supporten?

Ob die Protokolle von Robo und NC gleich sind kann ich so nicht sagen.
Es ist gut möglich das HSSB auch ein ähnliches Protokoll hat.
Bei Ethernet verläßt sich Fanuc auf die Transportsicherung durch TCP/IP.
Bei HSSB wirds wohl minimum einen CRC irgendwo geben.

Ich hänge mal das Python-Skript an, so wie es jetzt mit der 
Drahterrodiermaschine läuft.
Das ist so ein Grundgerüst und regelmäßig wird da noch Funktionität 
zusammengefasst.
Das Protokoll selbst unterstützt das Zusammenfassen mehrerer Pakete z.B.

Gruß Dennis
Angehängte Dateien:
OP Persönliche Seite
Die meisten commits sind aus den Experimenten mit der Readme.md .
Da pflege ich ein paar Beispiel-Mitschnitte mit Erklärung ein so weit 
wie ich das von den Werten her interpretiere.
Eventuell kannst mir ja später unter die Arme greifen bei allem was bei 
Github über commit und clone hinausgeht.

Schönes WE :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.