Forum: PC-Programmierung Fanuc FwLib32-Ersatz für NonWindows-x86 mit Python3


von Dennis H. (c-logic) Benutzerseite


Lesenswert?

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

von cppbert (Gast)


Lesenswert?

Ist das Protokoll für Roboter und NCs das gleiche?
Willst du nur Ethernet oder auch HSSB supporten?

von Dennis H. (c-logic) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von cppbert (Gast)


Lesenswert?

sieht nicht schlecht aus - kommen vielleicht noch dieses Jahr an eine 
Fanuc NC zum testen

machst du ein github/gitlab Projekt draus?

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Bis jetzt stell ich mich noch zu dumm an mit Github.
Angelegt hab ichs schonmal https://github.com/c-logic/pyfanuc

von cppbert (Gast)


Lesenswert?

Dennis H. schrieb:
> Bis jetzt stell ich mich noch zu dumm an mit Github.
> Angelegt hab ichs schonmal https://github.com/c-logic/pyfanuc

Super - da ich dem projekt leichter folgen, sooo dumm anstellen kannst 
du dich bei schon 26 commits aber nicht :)

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

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 :)

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.