G-Code: Wo sinnvoll und wo nicht?

Zuviel Werbung?
-> Hier kostenlos registrieren
Die Diskussion geht hier doch in die falsche Richtung.
Die frage ist doch nicht mach in das mit G-Code oder SPS .
Es geht doch um , kann einen T-CPU das verlangte leisten , muß ich dann in der SPS noch rum rechnen wie irre ,
oder kann ich das mit einer einfachen CNC erledigen die auch noch ne 1500 im Bauch hat.z.B (NCU 1720)
Na ja, wenn du also weißt, worum die Frage geht, warum antwortest du dann nicht auf die Frage. Würde ja sicher alle interessieren.
 
Für mich ist es ganz klar einen Anwendung für eine CNC Steuerung,
die kann jede x beliebige Kontur abfahren , die Kontur kann in einer genormten Sprache allgemeingültig beschrieben werden G-Code .
die Kontur wird in X,Y,Z Koordinaten System beschrieben , die NC setzt das intern auf die Kinematik des Roboters um .
dann wird das ganze System noch bewegt , in X oder der Y Achse Linear also noch eine Transformation.



Aber die Diskussion PLC oder G-Code ist für mich befremdlich, was ich so gelesen habe was sich die Leute vorstellen unter G-CODE.
hat mich erstaunt,
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber, ich denke, wir sind uns darüber im Klaren, dass in diesem Thread mit G-Code nicht so sehr eine bestimmte ProgrammierSprache gemeint ist, sondern eher die GedankenWelt der CNC-Programmierung.
Nein, es geht tatsächlich um die "Programmiersprache G-Code". Es geht darum, in diesem Bereich möglichst viel in den Hochsprachenbereich zu verlagern: Vor allem das Generieren des G-Code.
Und genau da habe ich meine Bedenken, da ich G-Code überhaupt nicht kenne. Ich denke, wir verlieren dadurch viel Flexibilität. Wir müssen ja reagieren können.
 
Ob eine Maschine G-Code versteht ist das eine, das andere ist aber wie bzw. wo der G-Code erzeugt wird.
Klar wird er bei CNC-Anlagen und 3D-Druck verwendet. Aber kaum ein Mensch schreibt heute noch wirkliche G-Code-Programme.
Du erstellst das Teil in einem CAD-Programm und dann geht es in CAD-CAM-Programm oder beim 3D-Druck in einen Slicer.
Dort wird dann automatisch der G-Code für die entsprechende Maschine aus den CAD-Daten erzeugt.
Wenn es nur um verschiedene Teile geht, dann erfüllt CSV oder JSON genauso den Zweck.
Genau das ist das Ziel. Der G-Code soll generisch erzeugt werden. Vielleicht von einem Programm, das wir einkaufen. Die PLC soll sich um alles andere kümmern, nur nicht darum.
 
Ich versteh die Diskussion ehrlich gesagt nicht .
Ein NC Programm in G-Code , kann man doch nicht mit einem SPS Programm vergleichen.
der G-Code wird von der NC übersetzt und gibt das was er so gefunden hat an Antrieb und die SPS weiter .

der G -Code für NC ist genormt DIN66025 oder so . G01 X 100 F500 sollte jede NC verstehen.
und es gibt auch Anwender die den ganzen Tag an einer CNC Fräse / Drehe stehen und G-Code Programme erstellen.
Komplexe Bauteile werden dann im CAD / CAM gemacht , aber ich dürfte auch schon NC Programmierer kennenlernen die Achsvektoren mal so eben im Kopf nachgerechnet haben


@Markus sollten es noch mal zu 'nem Treffen in Ostrach kommen halte ich freiwillig einen Vortag CNC versus TCPU .-)
Und was verstehst Du an dieser Diskussion nun nicht?
 
Bei uns im Betrieb wird auch per kontinuierlichem Vorschub ein oder mehrere Werkstücke nebeneinander im Einlauf vermessen und im Durchlauf von oben mit Lack besprüht.

Das hat aber mit G-Code überhaupt nichts am Hut.

Man taktet die vermessene Kontur z.B. als Bitfolge alle 10mm durch die Maschine. Taktung basierend per Drehgeber am Vorschub.
Bei unseren Anlagen verfährt ein Shuttle konstant immer von links nach rechts und zurück. Dabei wird bei erkanntem Material + "Überspritzen" die jeweiligen Pistolen geöffnet (bei uns 4 Stück je Shuttle).
Wenn man den Weg + Geschwindigkeit nicht immer konstant lässt, holt einen die Anwendungstechnik wieder ein. Das heißt, wenn der Shuttle nicht von fixem Ende zum andern Ende fährt ändert sich die Auftragsmenge je Fläche. Dann muss man im laufenden Prozess ziemlich viel rechnen und dann ist überhaupt nichts mehr "müssen wir in der PLC fast nichts mehr programmieren".
Genau so machen wir das heute auch. Die Idee ist nun, das wie beschrieben zu ändern. Deshalb meine Frage: Ist die neue Überlegung sinnvoll. Ich bin da noch sehr skeptisch. Wenn diese Idee aber von vielen geteilt wird, lasse ich mich gerne eines Besseren belehren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Pippen Danke für die Bestätigung, dass eure Anlage zumindest ähnlich zu unserer ist.

Ich habe mir das Thema vor ein paar Jahren auch mal aus deiner vorgeschlagenen Richtung betrachtet.

Was mich aber am Ende davon abgebracht hat, war die Überlegung was man am Ende will oder braucht.
Der aktuelle Stand ist so ausgelegt, dass möglichst viele Parameter konstant bleiben und man trotzdem hochflexibel lackieren kann.

Was ist der grundsätzliche Hintergrund deiner Überlegung?

Zusätzlich steigt aus meiner Sicht die Möglichkeit der Fehler, wenn möglichst viel variabel abläuft. Und um eine gewünschte konstante Auftragsmenge zu applizieren musst Du entweder sehr viel rechnen, um den Vorschub variabel anzupassen je nach Breite des Materials (mit einem Rattenschwanz bei verketteten Anlagen) oder die Auftragsmenge über den Pumpendruck aktiv regeln, da wird dir der Prozess selbst aber einen Strich durch die Rechnung machen.

Was noch dazukommt ist die Auswirkung eines Mini-Fehlers: das ganze Werkstück ist fehlerhaft, was aber nur schwer automatisch zu detektieren ist...
 
Was ist der grundsätzliche Hintergrund deiner Überlegung?
Das ist nicht meine Überlegung. Sondern die Überlegung der SW Architekten, die sich bereits jetzt mit der Architektur unserer neuen Software beschäftigt haben. Ich bin derjenige, der die ganze Sache kritisch hinterfragt.
Die Überlegung war, dass wir alle diese aufwendigen Berechnungen auslagern und vielleicht auch extern geben können. Die Schnittstelle zu diesen Programmen wäre dann nur noch ein File mit diesem G-Code.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht liegt es einfach an Deiner Fragestellung?

Eine Pseudo-Diskussion starten, dann die Katze halb aus dem Sack lassen – und sich nun wundern, dass die Diskussion ein Gestocher ist ... 🤷‍♂️
Ich finde die Diskussion hochinteressant und spannend. Ausserdem finde ich die Steuerung überhaupt nicht relevant. Deshalb habe ich sie nicht erwähnt.
 
Naja der Ansatz zum erzeugen des G-Codes ist doch nicht völlig falsch.
Am Ende ist es doch wie der Slicer für den 3D Druck. Das 3D Teil wird in G-Code überführt und die Achsen fahren danach.
Ihr Scannt das Teil (3D Teil) erzeugt daraus den G-Code mit den jeweiligen M-Befehlen und "gut" ist.
Der PLC Entwickler hat nur "noch" die Aufgabe auf die jeweiligen M-Befehle richtig zu reagieren (Mxx = Ventil Auf, Mxy = Ventil Zu usw).
 
Ich finde die Diskussion hochinteressant und spannend. Ausserdem finde ich die Steuerung überhaupt nicht relevant. Deshalb habe ich sie nicht erwähnt.
Die Steuerung wird dann aber schon interessant, wenn es nachher um die Datei geht.
Der Aufwand um eine ASCII-Datei auf einer SPS auszuwerten ist nicht unerheblich.
Da gibt es deutlich einfachere Lösungen.
Ganz besonders wenn man sowieso ein eigenes PC-Programm erstellt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Steuerung wird dann aber schon interessant, wenn es nachher um die Datei geht.
Der Aufwand um eine ASCII-Datei auf einer SPS auszuwerten ist nicht unerheblich.
Da gibt es deutlich einfachere Lösungen.
Ganz besonders wenn man sowieso ein eigenes PC-Programm erstellt.
Bei Beckhoff gibt es dafür eine fix fertige NC Library. Da gibt es einen FB für das Laden und Ausführen einer G-Code-Datei. 1-2 Zeilen Code also.
 
Zuletzt bearbeitet:
Was ist jetzt aber, wenn sich die Geschwindigkeit des Förderers während dem Beschichten ändert? Muss dann ein neuer G-Code erzeugt werden?
 
Zurück
Oben