G-Code: Wo sinnvoll und wo nicht?

Pippen

Level-2
Beiträge
149
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen
Wir sind aktuell daran, unsere komplette Software neu zu strukturieren und modularisieren. Dabei ist auch das Schlagwort "G-Code" gefallen.
Durch Googeln habe ich herausgefunden, dass G-Code vor allem im Bereich CNC, 3D-Druck usw. eingesetzt wird.

Meine Fragen:
1. Wo ist es sinnvoll G-Code einzusetzen?
2. Wo nicht?
3. Wo sind die Grenzen von G-Code?
 
Was habt ihr denn für Maschinen? Wie du richtig gesehen hast, kommt der G-Code aus dem Bereich der Werkzeugmaschinen. Ist aber bei weitem nicht für alle Maschinentypen geeignet.
 
@Pippen
Gegenfrage: Hast Du eine Bohrmaschine zu Hause? Benutzt Du die auch zum Sahneschlagen? Warum nicht? - dreht auch und kann sogar die Drehrichtung ändern :cool:


Das Wieso beim Programmieren ist derart vielgestaltig, dass es zum Aktivieren der Schwarmintelligenz besser wäre zu sagen wo man gerade steht... also konkret, nicht im Sinne "ich stehe im Freien und suche die Sonne..."

m2Ct
 
Durch Googeln habe ich herausgefunden, dass G-Code vor allem im Bereich CNC, 3D-Druck usw. eingesetzt wird.
Dem ist nicht viel hinzuzufügen. Es geht um komplexe Bewegungssteuerung zum Herstellen meist dreidimensionaler Produkte.

Vielleicht hilft Dir das weiter:

 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nun ja. Mit meiner Glaskugel würde ich schätzen, dass du G-Code kennen würdest, wenn du ihn sinnvoll brauchen könntest. Bei den allermeisten Nicht-Werkzeugmaschinen wird man keinen G-Code brauchen oder schafft sich dadurch einfach einen unnötig hohen Overhead.

Grundsätzlich ist der G-Code eine Sprache zur Modellierung von abzufahrenden Bahnen mit einem Werkzeug mittels mehrerer/vieler interpolierter Achsen. Den G-Code kannst du häufig über eine CAD/CAM-Kopplung automatisiert erzeugen und der NC-Steuerung bereitstellen. Alternativ kannst du dich selber ansetzen und den G-Code händisch programmieren. Hierdurch erhältst du eine sehr hohe Flexibilität und kannst mit den Achsen auftragsabhängig sehr einfach unterschiedlichste Bewegungen durchführen.
Wie gesagt, für Werkzeugmaschinen ist das auch super. Für fast alle anderen Maschinen sehe ich aber keine Verwendung.

Für welche Maschinen überlegt ihr denn nun G-Code einzusetzen? CNC und additive Fertigung u. ä. offenbar ja nicht.
 
Wir sind aktuell daran, unsere komplette Software neu zu strukturieren und modularisieren.
(y)
Dabei ist auch das Schlagwort "G-Code" gefallen.
Durch Googeln habe ich herausgefunden, dass G-Code vor allem im Bereich CNC, 3D-Druck usw. eingesetzt wird.
"U.s.w."? Nö, eigentlich kommt da nicht mehr viel hinzu.
Konturen abfahren, mit interpolierenden Achsen, wechselnden KoordinatenSystemen, KoordinatenTransformationen, wechselnden NullPunktVerschiebungen mit vorgegebenen BahnGeschwindigkeiten, SpanVolumina, unter "automatischer" Berücksichtigung/Verrechnung von WerkzeugKorrekturDaten z.B. WerkzeugLängen, WerkzeugDurchmesser(-Radien) etc. p.p.. Mit automatischem Herunterfahren und wieder Beschleunigen an RichtungsWechseln ("Knicken") in der abgefahrenenen Bahn. Mit all den dafür nötigen vorausschauenden Berechnungen, damit keine Grenzwerte überschritten werden.
Späne abheben (Fräsen, Drehen, Hobeln, Schleifen, ...) oder Erodieren und seit Verfügbarkeit von 3D-Druck auch die "Umkehr" davon. Aber auch das Schneiden von WerkStoffen per Wasser- oder LASER-Strahl oder per SchneidBrenner dürften die wohl gängigsten Anwendungen sein.
1. Wo ist es sinnvoll G-Code einzusetzen?
Dort, wo er sowieso verfügbar ist, lässt er sich (mehr oder weniger gut) auch für Zwecke einsetzen, für die er nicht nötig wäre.
Ich behaupte mal, dort wo ohnehin nicht mehr als 1 Achse beteiligt ist. Aber bei dieser 1 Achse könnte z.B. gefordert sein, dass bestimmte Positionen sehr exakt angefahren werden müssen z.B. ohne Überschwingen und unter Einhaltung bestimmter Beschleunigungs- /Geschwindigkeits-Werte.
G-Code wäre auch für eine so übersichtliche Anordnung nicht automatisch "überqualifiziert".
3. Wo sind die Grenzen von G-Code?
Eigentlich müsste die Frage lauten: "Welche Grenzen muss die Anwendung überschreiten, um den Aufwand für G-Code zu rechtfertigen?".
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke allen für eure Antworten.
So ganz klar ist es mir immer noch nicht.

@Heinileini
Vor allem dieser Satz:
"Eigentlich müsste die Frage lauten: "Welche Grenzen muss die Anwendung überschreiten, um den Aufwand für G-Code zu rechtfertigen?"."

Das würde für mich bedeuten, dass alle Achspositionier- und Regelaufgaben mit G-Code gelöst werden können, es sich vom Aufwand her aber nicht immer lohnt, da es auch einfacher ohne ging.

Dann wäre es also z. Bsp. möglich, eine Regelung für ein inverses Pendel mit G-Code zu machen?
Oder einen Roboter der Tischtennis spielt?
Ist es aber auch sinnvoll, dies per G-Code zu machen?
 
Hier mal zum besseren Verständnis eine kleine Übersicht. Bei unserer CNC-Fräsmaschine sind die G-Befehle ganz anders, die M-Befehle sind zum Teil gleich. Kommt immer auf den Hersteller an.
 

Anhänge

So ganz klar ist es mir immer noch nicht.
Wird es auch nicht werden, weil die Frage zu allgemein ist. Wo es eingesetzt wird ist ja nun klar.

Wenn ihr es bisher nicht in eurem System hattet, macht es vmtl. keinen Sinn. Es sei denn ihr hattet ausschliesslich unfähige Vorgänger u/o viel historischen Ballast, dann passiert das auch.
Dann wäre es also z. Bsp. möglich, eine Regelung für ein inverses Pendel mit G-Code zu machen?
Oder einen Roboter der Tischtennis spielt?
Ist es aber auch sinnvoll, dies per G-Code zu machen?
Nein, sinnvoll ist das nicht.

Wenn Du eine numerische Motorsteuerung hast, könntest Du auch Betonmischer, Fensterheber od. Kaffeemaschinen damit ansteuern, aber sinnvoll ist es eben nicht. Man braucht ja auch Aktorik dafür, der G-Code allein bewirkt ja erstmal nichts. Und die Erzeugung auf der Regelungsseite und Verarbeitung durch die Aktorik sind dann direkt Kosten, die man nur auf sich nimmt, wenn es "Sinn macht".


@Gerhard Bäurle
War neugierig und habe mal in den "wo hört CNC auf.." geschaut. Aber Echtzeit ist auch die SPS, daß ist wohl schonmal falsch. Das die Zykluszeiten bei CNC viel kleiner sind, ist kein Maßstab für Echtzeit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Heinileini
Vor allem dieser Satz:
"Eigentlich müsste die Frage lauten: "Welche Grenzen muss die Anwendung überschreiten, um den Aufwand für G-Code zu rechtfertigen?"."
Sage doch Du uns mal, welche Aufgaben Du auf Biegen und Brechen mit G-Code lösen möchtest.


Dann wäre es also z. Bsp. möglich, eine Regelung für ein inverses Pendel mit G-Code zu machen?
Wenn ich mich nicht irre, prallen mit G-Code und Regelungstechnik zwei Welten aufeinander. 🤷‍♂️
 
So, ich lasse die Katze mal aus dem Sack:
Wir beschichten Teile im Durchlauf. Bei einer Erkennung wird ein zu beschichtendes Teil mit Hilfe von Lichtleisten oder eines 3D-Scanners erkannt, per Taktabbild verfolgt und wenn es dann bei unseren Sprühpistolen angekommen ist, gemäss der erkannten Form "besprüht". Zum Bewegen der Pistolen gibt es Hubwagen, die die Auf- und Abbewegung steuern und Verschiebewagen, die die Pistole zum Teil hin oder von ihm weg bewegen.
Die Idee ist nun, dass das Teil, wie oben beschrieben, erkannt wird, und daraus mit einem externen Programm "G-Code" erzeugt wird. Dieses File wird dann in unsere NC geladen und ausgeführt. Das heisst, diesbezüglich müssen wir in der PLC fast nichts mehr programmieren.

Ist so etwas sinnvoll?
Bedenken? Wenn ja welche?
 
Das heisst, diesbezüglich müssen wir in der PLC fast nichts mehr programmieren.
Na ja....

Also Siemens hat für seine Kinematiken, die man mit den T-CPU erstellen kann auch ein Beispiel für G-Code.
Damit kann man z.B. den Siemens-Schriftzug mit einer Kinematik nachfahren. (Als Beispiel gezeigt).
Siemens hat dafür, wenn ich recht erinnere, einen G-Code-Umsetzer mitgeliefert, der (eingeschränkten) g-Code in die Kinematik-Programmfolge umsetzt. Da ist auch nicht allzuviel zu programmieren, aber der Teufel steckt ja bekanntlich im Detail. ;)
Wenn du dich damit mal befassen willst, suche bei SIemens mal nach Kinematik, Kinematik-Library oder auch LKinCtrl. Dazu dann die zugehörige Beispielanwendung, sprich ein TIA-Programm.
 
Sage doch Du uns mal, welche Aufgaben Du auf Biegen und Brechen mit G-Code lösen möchtest.



Wenn ich mich nicht irre, prallen mit G-Code und Regelungstechnik zwei Welten aufeinander. 🤷‍♂️
Ich will überhaupt nichts auf Biegen und Brechen mit G-Code lösen. Im Gegenteil. Ich will es nur mit G-Code lösen, wenn es so viel einfacher und effizienter würde.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ihr habt also letztendlich in zwei Achsen euren Endeffektor zu positionieren und das abhängig vom Teiltyp, richtig?. Wie viele unterschiedliche Teiltypen habt ihr denn?

Wenn die Anzahl an Teilen planbar/übersichtlich ist, würde ich eher mal nach Kurvenscheiben gucken
 
Das würde für mich bedeuten, dass alle Achspositionier- und Regelaufgaben mit G-Code gelöst werden können, es sich vom Aufwand her aber nicht immer lohnt, da es auch einfacher ohne ging.

Dann wäre es also z. Bsp. möglich, eine Regelung für ein inverses Pendel mit G-Code zu machen?

Du kennst den unterschied zwischen steuern und regeln? Über all dort wo du dinge Verfahren / Positionieren musst (auch 3D), und diese Dinge sich "sehr häufig" ändern, und vom Benutzer "schnell" geändert oder angepasst werden sollten macht G-Code IMHO sinn, wenn der G-Gode sich während des ablaufes nicht ändert. Du kannst über G-Code auch Ausgänge schalten und sicher je nach Maschine auch "sehr viele" aber der Schwerpunkt der Sprache liegt wo anders.

Ein Inverses Pendel kannst du auch mit G-Code machen. Das ist aber nicht zweckmäßig für diese Anwendung... Der clew an G-Code ist auch das die Maschine ihn einliest, im Hintergrund abarbeitet und Fehler / Grenzüberschreitung erkennen kann. Bevor es losgeht...
Die Idee ist nun, dass das Teil, wie oben beschrieben, erkannt wird, und daraus mit einem externen Programm "G-Code" erzeugt wird. Dieses File wird dann in unsere NC geladen und ausgeführt. Das heisst, diesbezüglich müssen wir in der PLC fast nichts mehr programmieren.
Ja warum nicht kenne ich von einer anderen Anwendung... da wurde aber die komplette Kinematik und Steuerung selbst entwickelt...
 
Ihr habt also letztendlich in zwei Achsen euren Endeffektor zu positionieren und das abhängig vom Teiltyp, richtig?. Wie viele unterschiedliche Teiltypen habt ihr denn?

Wenn die Anzahl an Teilen planbar/übersichtlich ist, würde ich eher mal nach Kurvenscheiben gucken
Nein, die Anzahl verschiedener Teile ist unbegrenzt? Wir verkaufen ja diese Maschinen. Man soll so jedes x-beliebige Teil bearbeiten können. Was entscheidet der Kunde. Ziel ist einfach: überall gleiche Schichtdicke (gemäss Rezept).
 
Zurück
Oben