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


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 Dennis H. (c-logic)


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


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

von Dennis H. (c-logic)


Angehängte Dateien:

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


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


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


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


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

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.

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