603.390 aktive Mitglieder*
2.844 Besucher online*
Kostenfrei registrieren
Einloggen Registrieren

GCode Programmierung für 3D in C++, Ein Projekt

Beitrag 31.01.2009, 21:24 Uhr
sharky2014
Level 7 = Community-Professor
*******

Hallo cnler,

nochwas:

Du hast eine extrem ausgefeilte Steuerung zur Verfügung, eine Hochsprache. Egal wie die realisiert wurde. Damit kommst du mit dem G-Code überhaupt nicht in Berührung.

Ich bin ganz dicht an der maschine und untersuche, was der G-Code so treibt. Und welche Möglichkeiten es gäbe, das Handling vom G-Code so zu verbessern, daß man mit einem einzigen Befehl soviel Struktur erzeugen kann, wie man will, egal, ob das 1 Mio G-Code Befehle zur Folge hat oder nicht.

Offenbar haben die sinumeric-Programmierer das schon vor langer Zeit EBENSO überlegt, und nur aus dem Grund sitzt du heute auf diesem Riesenelefanten namens SINUMERIC, der es dir ermöglicht, mit einem Befehl an die Steuerung 1 Mio. Maschinenbefehle auszulösen, die du gar nicht bemerkst.

Würde die sinumeric aber ausfallen, und du wärest gezwungen, deine Stücke in G-code mit der Hand eintippen zu müssen, dann käme das grosse Elend über dich.

ÜBER MICH ABER NICHT! Ich könnte in c auch sehr komplexe Strukturen innerhalb kurzer Zeit programmieren, aber nicht mit Schnittstelle.

Die Schnittstelle, das ist das große Ding bei der Sinumeric. Die hat echt was!




Gruß Sharky

Der Beitrag wurde von sharky bearbeitet: 31.01.2009, 21:32 Uhr


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 31.01.2009, 21:26 Uhr
DJ-Bino
Registered
***

Hallo Sharky,

Du kannst die neue Generation von Siemens Steuerungen z.B.
Die 840D sogar mit C++ programmieren.

http://www.wzl.rwth-aachen.de/www_files/DL..._Flyer_V015.pdf

Gruß
Dieter
TOP    
Beitrag 31.01.2009, 21:50 Uhr
sharky2014
Level 7 = Community-Professor
*******

QUOTE (DJ-Bino @ Samstag, 31.Januar 2009, 21:26 Uhr)
Hallo Sharky,

Du kannst die neue Generation von Siemens Steuerungen z.B.
Die 840D sogar mit C++ programmieren.

http://www.wzl.rwth-aachen.de/www_files/DL..._Flyer_V015.pdf

Gruß
Dieter

Witzig!

Aber ich glaube kaum, daß die den Quellcode rausrücken! nein.gif

Es paßt aber.

Da sitzen keine blutigen Anfänger dran, die ihre Tatzen mit Gcode beflecken, das sind Profis, die in maschinennaher Sprache programmieren.

Ich würde mal behaupten, Siemens hat wg. c++ jetzt erst nachgezogen, sonst hätten die das gar nicht erwähnt (!!!!!!!) , historisch würde ich bei denen eher Fortran, Algol oder Basic vermuten, womöglich stellen die das jetzt um auf C.

Warum auch nicht? C ist doch eine wirklich zauberhaft schöne Sprache, oder? wink.gif

Und hat den SUPER-Vorteil, so ohne weiteres werden die sich das ja nicht überlegt haben, wenn es so wäre, daß C-Code auf jedes Betriebssystem portabel ist. Villeicht haben die Chinesen andere Betriebssysteme, wer weiß. Mit C ist man da immer auf der sicheren Seite.

Das Ding, wenn das so wäre, das wär aber etwas für Vollprofis. Und genau die werden bei Siemens wohl auch werkeln.

Wenn man jetzt die Beiträge von corrrado und cncler betrachtet, dann sieht man, die haben keinen Bodenkontakt mit dem G-Code, die konzentrieren sich auf den (wahrscheinlich gar nicht so einfachen) Dialog mit ihrer Steuerung.

Daher haben wir hier im Thread so das Problem, daß man leicht aneinander vorbeiredet.



Gruß Sharky

Der Beitrag wurde von sharky bearbeitet: 31.01.2009, 21:56 Uhr


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 31.01.2009, 22:13 Uhr
schabi
CTRL+ALT+DELETE
*******

QUOTE (sharky @ Samstag, 31.Januar 2009, 21:50 Uhr)
Wenn man jetzt die Beiträge von corrrado und cncler betrachtet, dann sieht man, die haben keinen Bodenkontakt mit dem G-Code, die konzentrieren sich auf den (wahrscheinlich gar nicht so einfachen) Dialog mit ihrer Steuerung.

Hallo Sharky,

wie meinst du das, für den Programmierer oder für die Steuerung?

Mit freundlichen Grüßen Schab


--------------------
Erfolg ist die Kunst, dem Sinnvollen
das Rentable vorzuziehen. (Helmar Nahr)
TOP    
Beitrag 31.01.2009, 22:28 Uhr
sharky2014
Level 7 = Community-Professor
*******

QUOTE (schabi @ Samstag, 31.Januar 2009, 22:13 Uhr)
QUOTE (sharky @ Samstag, 31.Januar 2009, 21:50 Uhr)
Wenn man jetzt die Beiträge von corrrado und cncler betrachtet, dann sieht man, die haben keinen Bodenkontakt mit dem G-Code, die konzentrieren sich auf den (wahrscheinlich gar nicht so einfachen) Dialog mit ihrer Steuerung.

Hallo Sharky,

wie meinst du das, für den Programmierer oder für die Steuerung?

Mit freundlichen Grüßen Schab

Für deine Frage finde ich keinen passenden Algorithmus.

Was meinst du?

Was ich meine, sollte eigentlich klar sein:

Wenn besagte Forenmitglieder über den G-Code reden, dann reden die in Wahrheit über das, was sie mit ihren Steuerungen anstellen. Und nicht über den G-Code, denn durch die Funktion der Steuerungen, die EBEN GENAU VERHINDERN SOLL, daß sie mit dem G-Code in Kontakt geraten, ist er denen so weit entrückt, daß die das gar nicht mehr bemerken, was die Steuerung damit anstellt.

Was ja auch SInn macht.

Es wäre ja kein guter Einfall zu sagen: setz den besten Mann im Betrieb, der mit der Sinumerik in 8 Stunden 10.000 Euro zusammenzaubert, mal an die Maschine, damit der zu Fuß in G-Code programmiert.

Man würde dann das Notfall-Team von Siemens anrufen, damit das nicht geschieht.

Das sind aber praktische Aspekte, ich seh im Hinterkopf ja durchaus die Praxis, das Thema, das ist aber gnadenlos prinzipiell. ES IST EINE DISKUSSION VOM PRINZIP.

Dazu kommt, ich seh das von der Programmiererseite, und redundanter Code macht mir bauchschmerzen. Dabei geht es nicht um ein paar Zeilen, die sind immer gut, um die Übersicht zu behalten. Aber G-code ist um den Faktor mehrere Millionen redundant. Damit komme ich im Kopf nicht klar, bzw. doch, es ist Hollerith-Code, historisch. WIe man Abhilfe schaffen könnte, habe ich ja hier auch schon tausendmal erwähnt.

Alles das vermischt sich, und so redet man aneinander vorbei.

Wir wollen aber der Praxis, der Produktion, den VORZUG geben. Die Leute wissen schon, was sie machen.

Daher hab ich durch diese Beiträge von Praktikern in diesem Thread sehr viel gelernt, man nähert sich langsam an, wie die Dinge wirklich ticken.



Gruß Sharky

Der Beitrag wurde von sharky bearbeitet: 31.01.2009, 22:37 Uhr


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 31.01.2009, 22:41 Uhr
schabi
CTRL+ALT+DELETE
*******

Falls du glaubst das man mit G-Code programmieren kein Geld verdiene kann liegst du falsch. Wir haben z.B. sehr viele Maschinen mit MillPlus Steuerung und da Programmier ich auch nur mit G-Code. Da gibt es kein Dialog und braucht es auch nicht, die Steuerung zeigt gut was mit G-Code noch möglich ist. Hochsprache ist glaube ich VBA kann aber auch SQL.

Mit freundlichen Grüßen Schabi


--------------------
Erfolg ist die Kunst, dem Sinnvollen
das Rentable vorzuziehen. (Helmar Nahr)
TOP    
Beitrag 31.01.2009, 22:47 Uhr
sharky2014
Level 7 = Community-Professor
*******

QUOTE (schabi @ Samstag, 31.Januar 2009, 22:41 Uhr)
Falls du glaubst das man mit G-Code programmieren kein Geld verdiene kann liegst du falsch. Wir haben z.B. sehr viele Maschinen mit MillPlus Steuerung und da Programmier ich auch nur mit G-Code. Da gibt es kein Dialog und braucht es auch nicht, die Steuerung zeigt gut was mit G-Code noch möglich ist. Hochsprache ist glaube ich VBA kann aber auch SQL.

Mit freundlichen Grüßen Schabi

Programmierst du in Gcode zeilenweise direkt oder benutzt du ein Programm, was deine Anweisungen in G-code umsetzt, also einen Interpreter?

Das wäre jetzt schonmal der erste große Unterschied zur Direktprogrammierung.

Nur damit wir nicht aneinander vorbeireden.

Man kann in G durchaus direkt programmieren, solange die Objekte einigermaßen banal sind, oder wenn sie für die Anweisung G98 Ln passen, da kann man so einiges erreichen.

Aber nichts, was komplex ist.


Gruß Sharky

Der Beitrag wurde von sharky bearbeitet: 31.01.2009, 22:49 Uhr


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 31.01.2009, 22:55 Uhr
schabi
CTRL+ALT+DELETE
*******

QUOTE (sharky @ Samstag, 31.Januar 2009, 22:47 Uhr)
Programmierst du in Gcode zeilenweise direkt oder benutzt du ein Programm, was deine Anweisungen in G-code umsetzt, also einen Interpreter?

Sowohl als auch je nach Teil, was ist für dich komplex?


--------------------
Erfolg ist die Kunst, dem Sinnvollen
das Rentable vorzuziehen. (Helmar Nahr)
TOP    
Beitrag 31.01.2009, 23:15 Uhr
sharky2014
Level 7 = Community-Professor
*******

QUOTE (schabi @ Samstag, 31.Januar 2009, 22:55 Uhr)
QUOTE (sharky @ Samstag, 31.Januar 2009, 22:47 Uhr)
Programmierst du in Gcode zeilenweise direkt oder benutzt du ein Programm, was deine Anweisungen in G-code umsetzt, also einen Interpreter?

Sowohl als auch je nach Teil, was ist für dich komplex?

Komplex sind Geometrien, die mit den vorhandenen G-Befehlen nicht erzeugt werden können.

Komplex ist z. B. eine Helix mit Offsetversatz.

Eine Doppelhelix, sowas ist komplex.

Oder verrunden mit Helix.

Genau wie das in diesem Thread weiter oben schon zu sehen ist.

Die Zahl der g-Befehle ist da eher zweitrangig, erstrangig ist, daß man diese Befehle ohne komplexe Berechnungen gar nicht erzeugen kann.

Schabi, du treibst doch keinen Schabernack mit mir?

Dir müßte doch als Programmierer klar sein, was komplex ist und was banal ist?



MfG Sharky


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 31.01.2009, 23:33 Uhr
schabi
CTRL+ALT+DELETE
*******

QUOTE (sharky @ Samstag, 31.Januar 2009, 23:15 Uhr)
Schabi, du treibst doch keinen Schabernack mit mir?

Nein ich möchte dir nur die Möglichkeiten des G-Codes an modernen Steuerungen zeigen. Was du als komplex beschreibst ist für meine Steuerung banal, liegt einfach an dem umfang an Befehlen die zur Verfügung stehen wie Parameterprogrammierung (E-Parameter) oder Sprungbefehlen (G14 oder G29). Als komplex würde ich Freiformflächen bezeichnen wie z.B. so etwas. http://www.cnc-arena.de/forum/index.php?sh...pic=15464&st=50
Also was ich sagen will eine Steuerung kann sowohl einfachen G-Code sowie Berechnungen mit denen fast alles möglich wird.

Mit freundlichen Grüßen Schabi

Der Beitrag wurde von schabi bearbeitet: 31.01.2009, 23:34 Uhr


--------------------
Erfolg ist die Kunst, dem Sinnvollen
das Rentable vorzuziehen. (Helmar Nahr)
TOP    
Beitrag 31.01.2009, 23:39 Uhr
gekufi
Level 7 = Community-Professor
*******

Hallo

@ sharky
Schön das Du endlich mal in die Anleitungen von anderen Steuerungen geschaut hast und mal die Möglichkeiten "größerer" Steuerungen gesichtet hast. Hab ich dir ja schon am Anfang des Themas gesagt, das Du dies mal tun solltest wink.gif . Und keine Angst, alle Möglichkeiten einer "großen" Steuerung kann ein "einfacher" Bediener fast nie ausreizen, was die Auswahl der wichtigen Möglichkeiten in der Praxis wieder einschränkt. Zudem manche Möglichkeiten sich auch auf andere Technologien wie das Fräsen beziehen (Drehen, Schleifen, usw...). Gerade die Siemenssteuerungen sind da recht offen in den Anwendungsmöglichkeiten.

Du kannst dir ja auch mal die Themen mit den FK-Kursen im Heidenhainunterforum genauer anschauen. Ist auch ganz interessant, was Steuerungen leisten können. Gerade wo man Anfangs meint, diese Teile kann man so nicht programmieren, weil viele Maße fehlen.


Aber im Moment bringt dir das ja nichts, da deine Einschränkungen deiner vorhandenen Systeme trotzdem bestehen bleiben. Und eine Siemenssteuerung (oder auch Heidenhain, Fanuc, u.a.) ist auch nicht gerade günstig, da bekommt man oft eine Mach3 und eine „Baumarktfräsmaschine“ gekauft, was fürs Hobby wirklich erstmal reichen sollte.

QUOTE
2. Du kannst in G nicht mit einer Zeile eine komplette Tasche fräsen. Der Grund ist:

Die Anweisung G98 Ln

kann zwar die Funktion iterieren, und sie kann auch einen Versatz in der Ebene machen, sie kann aber nicht den Radius verändern oder ausräumen!

Doch, bei anderen Steuerungen kann man Taschen in einer Zeile programmieren. In dieser Zeile kann man angeben, wo der Mittelpunkt liegen soll (in X und Y), den Winkel der Taschenverdrehung, die Taschenabmaße, einen Eckenradius, die einzelnen Zustelltiefen, evtl. sogar noch Rohteilmaße einer Vorbearbeitung. Dann noch den ganzen Rest wie Fräsrichtung, Sicherheitsabstände, von wo die Taschentiefe berechnet werden soll, die Versatzbreite der Fräsbahnen, usw...
Bei neueren Steuerungen kommen dann noch so Sachen wie Aufmass Seite und Boden (getrennt!) und die Eintauchart (Helix, Rampe, Senkrecht) dazu.

QUOTE
Wenn man jetzt die Beiträge von corrrado und cncler betrachtet, dann sieht man, die haben keinen Bodenkontakt mit dem G-Code, die konzentrieren sich auf den (wahrscheinlich gar nicht so einfachen) Dialog mit ihrer Steuerung.

Die werden sicherlich auch den direkten Kontakt mit dem G-Code haben. Denn so schön manche Eingabedialoge an den neueren Steuerungen sind, alles geht damit nicht. Wenn es etwas mehr wird, kommt man wieder zum G-Code zurück. Zumal die Dialogeingaben bei fast allen Steuerungen auch nur ein G-Code erstellen. Nur die Oberfläche schaut schöner aus wink.gif

QUOTE
Programmierst du in Gcode zeilenweise direkt oder benutzt du ein Programm, was deine Anweisungen in G-code umsetzt, also einen Interpreter?

Das wäre jetzt schonmal der erste große Unterschied zur Direktprogrammierung.

Nur damit wir nicht aneinander vorbeireden.

Man kann in G durchaus direkt programmieren, solange die Objekte einigermaßen banal sind, oder wenn sie für die Anweisung G98 Ln passen, da kann man so einiges erreichen.

Vorsicht, bei anderen Steuerungen steht G98 Ln entweder für was anderes wie bei deiner Steuerung (Mach3) oder es gibt überhaupt kein G98. Kannst andere Steuerungen also in Sachen Befehle nicht direkt mit deiner vergleichen. Und Du solltest am Besten immer mit dazu schreiben, für was ein Befehl steht und welche Möglichkeiten (Parameter) der jeweilige Befehl hat, damit haben es "Quereinsteiger" in dieses Thema etwas leichter, sich zurechtzufinden und mitzudiskutieren. Sonst reden wirklich bald aneinander vorbei.

QUOTE
Aber nichts, was komplex ist.

Also einfache Sachen ja auf jeden Fall. Bei den "großen" Steuerungen gehen auch Programme mit dem Einschwenken der Rundachsen (3+2-Achs), wobei das Koordinatensystem und der Nullpunkt des Werkstückes mitverrechnet wird. Und teilweise mit Einschränkungen auch einfaches 5-Achs-Simultan (z.B. Heidenhain mit M128).
Kommt halt immer darauf an, was als Einfach und was als Komplex betrachtet wird.


Ansonsten wünsche ich dir weiterhin viel Spaß mit deiner Maschine und deinen Ideen, welche Du umsetzen willst (Stichwort H-Code). Wir werden sehen, was rauskommt, ob eine neue Art von Steuerung oder ob es eher Richtung CAM-Bereich geht oder ob es mal was ganz neues wird.
Ich persönlich würde auf jeden Fall nicht darauf Wetten, das Du so schnell aufgibst thumbs-up.gif

Gruß Gerd


--------------------
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten.
Voltaire
TOP    
Beitrag 31.01.2009, 23:43 Uhr
sharky2014
Level 7 = Community-Professor
*******

QUOTE (schabi @ Samstag, 31.Januar 2009, 23:33 Uhr)
QUOTE (sharky @ Samstag, 31.Januar 2009, 23:15 Uhr)
Schabi, du treibst doch keinen Schabernack mit mir?

Nein ich möchte dir nur die Möglichkeiten des G-Codes an modernen Steuerungen zeigen. Was du als komplex beschreibst ist für meine Steuerung banal, liegt einfach an dem umfang an Befehlen die zur Verfügung stehen wie Parameterprogrammierung (E-Parameter) oder Sprungbefehlen (G14 oder G29). Als komplex würde ich Freiformflächen bezeichnen wie z.B. so etwas. http://www.cnc-arena.de/forum/index.php?sh...pic=15464&st=50
Also was ich sagen will eine Steuerung kann sowohl einfachen G-Code sowie Berechnungen mit denen fast alles möglich wird.

Mit freundlichen Grüßen Schabi

Ja die Steuerung, aber nicht du!

Es läuft immer auf dasselbe hinaus.

Wir sind uns einig: wenn wir das mit der Hand in G-Code eintippen würden, daß wir das nicht schaffen würden.

Nur mit steuerung schaffen wir das.

(oder mit einem c-Compiler) wink.gif

Das ist ja das, was ich seit dem Erstbeitrag in diesem Thread sage.

Also nichts neues unter der Sonne,

business as usual.


MfG Sharky


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 31.01.2009, 23:52 Uhr
gekufi
Level 7 = Community-Professor
*******

Hallo

@ sharky
QUOTE
Wir sind uns einig: wenn wir das mit der Hand in G-Code eintippen würden, daß wir das nicht schaffen würden.

Nur mit steuerung schaffen wir das.

(oder mit einem c-Compiler)

Ich verstehe jetzt nicht ganz den Unterschied, ob ich etwas im G-Code programmiere oder in C und durch einen Compiler übersetzten lasse, nur weil ich es im Kopf nicht mehr ausrechnen kann. So gesehen muss man den G-Code und C auf gleicher Ebene betrachten.

Bei den Möglichkeiten von Taschenbefehlen ist mir noch eine entfallen. Die Konturtaschen. Den Zyklus selbst gibt man in einer Zeile an. Die Taschenkontur kann man ganz normal programmieren. Dann die ganzen Inseln, welche innerhalb der Tasche stehen bleiben sollen. Jetzt räumt die Steuerung die ganze Tasche aus nach den Vorgaben. Um solche Dinge wie Anfahrpositionen und Anderes muss man sich dann nicht mehr kümmern. Und neueren Steuerungen können dann auch noch Restmaterialberechnungen durchführen. Wenn z.B. mit einem 20er Fräser vorgefräst wird und mit einem 10er nachgefräst wird wegen der Kontur, wo ein 20er Fräser nicht reinkommt.
Die Zyklen fürs Gewindefräsen, Tieflochbohren, Ausspindeln, Reiben, Muster (z.B. Teilkreis) u.a. erwähne ich besser erst gar nicht.

Gruß Gerd


--------------------
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten.
Voltaire
TOP    
Beitrag 31.01.2009, 23:54 Uhr
schabi
CTRL+ALT+DELETE
*******

QUOTE (sharky @ Samstag, 31.Januar 2009, 23:43 Uhr)
Ja die Steuerung, aber nicht du!

Es läuft immer auf dasselbe hinaus.

Wir sind uns einig: wenn wir das mit der Hand in G-Code eintippen würden, daß wir das nicht schaffen würden.

Nur mit steuerung schaffen wir das.

(oder mit einem c-Compiler) wink.gif

Das ist ja das, was ich seit dem Erstbeitrag in diesem Thread sage.

Also nichts neues unter der Sonne,

business as usual.


MfG Sharky

Vielleicht versteh ich dich nicht ganz aber schlussendlich wird es immer die Steuerung machen ansonsten brachst du wieder Handräder an der Maschine.

PS: Mach 3 kann doch jetzt auch Formeln verarbeiten


--------------------
Erfolg ist die Kunst, dem Sinnvollen
das Rentable vorzuziehen. (Helmar Nahr)
TOP    
Beitrag 01.02.2009, 00:11 Uhr
cam-tool
Level 4 = Community-Meister
****

Zitat gekufi:
QUOTE
Wenn sharky so weitermacht, sehe ich schon das erste in der CNC-Arena programmierte CAM vor mir. Denn momentan sieht es zwar nicht so aus, aber wenn er erstmal weitere Funktionen haben will, um seinen Teile zu fertigen....


und genau da simma jetzt! wink.gif

Sharky,

es geht dir doch drum, eine Schicht oberhalb von G-Code zu erzeugen, die aufgrund von ein paar Anweisungen in der Lage ist, massenhaft diesen G-Code rauszuhauen, für den du dir zu schade bist. Im G-Code enthalten ist bereits die Kreisinterpolation. Selbstverständlich approximiert die Steuerung den Kreis mit Geraden innerhalb der Schrittweite bei deiner Schrittmotorsteuerung bzw. innerhalb der Auflösung der Wegmeßsysteme bei professionellen Steuerungen mit Servoantrieben und echten Lageregelungen. (Die Bezeichnung "Steuerung" ist für Letztere im Deutschen grundsätzlich falsch. Wir unterscheiden sprachlich zwischen einer Steuerung und einer Regelung. Merkmal der Regelung ist das Vorhandensein eines Feed-back-Pfades. "Steuerung" ist in diesem Zusammenhang eigentlich ein Amerikanismus, und zwar ein übler, heimlicher, ins Deutsche übersetzter aus der amerikanischen Bezeichnung "control". )
Jenseits der DIN/ISO-Normen sind quasi in jeder professionellen Steuerung bereits Funktionen enthalten, die die Programmierung einfacher geometrischer Grundstrukturen durch Eingabe einiger weniger Parameter ermöglichen. Solche Dinge wie Kreistasche, Rechtecktasche, Konturtasche etc. z.T. mit konischen Wänden sind i.d.R. vorhanden. Außerdem gibt's eine Möglichkeit, die Fräswege zu visualisieren, z.T. animiert und zusammen mit dem sich verändernden Werkstück.
In einer zeitgemäßen Steuerung ist also bereits jede Menge CAD enthalten, obwohl das alles noch Pille-palle ist, verglichen mit dem, was die Dinger regelungstechnisch leisten. Und auf einigen Steuerungen (z.B. die PC-basierte Elexa) gibt's daneben noch ein quasi komplettes CAD/CAM-System.

Es gibt aber auch gute Gründe, die Programmierung extern durchzuführen, denn schließlich soll die Steuerung die Maschine steuern, und wenn ein Mann dransteht, dann soll der den Fräsprozeß überwachen und mit Gedanken bei der Sache sein.

Das Spektrum der externen Programmierplätze reicht dabei von einfachen Abbildungen der Steuerung (vornehmlich für Ausbildungszwecke) bis hin zu den High-end-Systemen, die dreidimensionale Freiformbauteile behandeln und darauf fünfachsige Fräswege rechnen mit voller Kollisionskontrolle auf Basis eines kompletten Datenmodells der Fräsmaschine. Auf die guckt normalerweise die Welt, aber gerade in dem Bereich, in dem du dich nun tummelst, gibt's bereits eine Menge Software, die beim Erstellen von Geometrien unterstützt oder sie von extern einliest und anschließend den zugehörigen G-Code erzeugt.
Und wenn man dein Projekt mal etwas weiter denkt, dann wird man es um zwei wesentliche Dinge erweitern müssen: Erstens eine Eingabemaske um den Anwender vom C-Code fernzuhalten, und zweitens um eine Visualisierung, um eine Möglichkeit zu haben, die Eingabe zu überprüfen.
Und dann bist genau dort wo du hin willst - und wo unzählige andere derzeit schon sind.

Aber nur zu! Immer schön hart am Wind segeln! Das gefällt mir.

thumbs-up.gif


Gruß,

Clemens

Der Beitrag wurde von cam-tool bearbeitet: 01.02.2009, 00:15 Uhr


--------------------
Clemens Henn
Freiform CAD/CAM-Dienste


CAD-Modelle
Fräsprogramme

CAM-TOOL
Vertrieb und Anwendungsberatung in Deutschland
TOP    
Beitrag 01.02.2009, 10:59 Uhr
Bockw
Level 2 = Community-Facharbeiter
**

Oh man, hier muss echt einer langeweile haben

Habe jetzt ne halbe stunde den Beitrag hier durchgelesen und immer nach der Kernbotschaft gesucht. War reine Zeitverschwendung. Das Einzige was ich jetzt begriffen habe, ist das sharky Langeweile haben muss.

Was hier geschrieben wird fällt wohl mehr in ein Thema was da heißen würde:
"Philosophieren über die Cncprogrammierung"

Deutschland das Land der Dichter und Denker.
Der Eine oder Andere sollte besser CNC-ler bleiben als zum Denker zu mutieren.
TOP    
Beitrag 01.02.2009, 13:54 Uhr
sharky2014
Level 7 = Community-Professor
*******

QUOTE (gekufi @ Samstag, 31.Januar 2009, 23:39 Uhr)
Ansonsten wünsche ich dir weiterhin viel Spaß mit deiner Maschine und deinen Ideen, welche Du umsetzen willst (Stichwort H-Code). Wir werden sehen, was rauskommt, ob eine neue Art von Steuerung oder ob es eher Richtung CAM-Bereich geht oder ob es mal was ganz neues wird.
Ich persönlich würde auf jeden Fall nicht darauf Wetten, das Du so schnell aufgibst thumbs-up.gif

Gruß Gerd

Das sind ja sehr viele Antworten heute.

Hallo Gekufi!

was du sagst, das hat Hand und Fuß. Ich bin auch kein Ideologe, sondern mußte aufgrund der Tatsachen meinen Standpunkt etwas näher an die Realität heranlegen (die mir aus praktischer Erfahrung fehlt).

Ja, die Sinumeric, wenn ich das sehe, dann sehe ich: da haben hunderte Programmierer jahrzehnte dran herumgefeilt, das sieht man doch, daß das total Klasse ist, was die da angestellt haben. Man sieht die ganze Programmierung im Hintergrund schon, wenn man diese tolle Schnittstelle sieht, das

USER-INterface,

die Bedienerschnittstelle. Das ist absolut professionell, was die Sinumeric da bietet.

Was den H-Code angeht, darüber mache ich in dem anderen Thread nochmal eine Aussage, ich bin da nämlich an einer Alternative dran.

Und ja, die Profis haben Steuerungen, die funktionieren.

Meine Überlegungen gehen ja auch nur dahin, wie man ohne solche komplexen Werkzeuge dann mit kleinem Aufwand trotzdem 3D Objekte erzeugen kann.

Daß die Steuerung das kann, davon bin ich jetzt mittlerweile zu 100.01 Prozent überzeugt. wink.gif


Gruß Sharky


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 01.02.2009, 14:03 Uhr
sharky2014
Level 7 = Community-Professor
*******

QUOTE (cam-tool @ Sonntag, 01.Februar 2009, 00:11 Uhr)
Zitat gekufi:
QUOTE
Wenn sharky so weitermacht, sehe ich schon das erste in der CNC-Arena programmierte CAM vor mir. Denn momentan sieht es zwar nicht so aus, aber wenn er erstmal weitere Funktionen haben will, um seinen Teile zu fertigen....


und genau da simma jetzt! wink.gif

Sharky,

es geht dir doch drum, eine Schicht oberhalb von G-Code zu erzeugen, die aufgrund von ein paar Anweisungen in der Lage ist, massenhaft diesen G-Code rauszuhauen, für den du dir zu schade bist.


...



Und wenn man dein Projekt mal etwas weiter denkt, dann wird man es um zwei wesentliche Dinge erweitern müssen: Erstens eine Eingabemaske um den Anwender vom C-Code fernzuhalten, und zweitens um eine Visualisierung, um eine Möglichkeit zu haben, die Eingabe zu überprüfen.
Und dann bist genau dort wo du hin willst - und wo unzählige andere derzeit schon sind.

Aber nur zu! Immer schön hart am Wind segeln! Das gefällt mir.

thumbs-up.gif


Gruß,

Clemens

Hallo Camtool,

du hast den Punkt genau erfaßt.

Ich habe, nachdem ich einen Blick auf die Möglichkeiten der Sinumeric geworfen habe, meine Meinung bgl. eines neuen Codes, H-Code, geändert.

Das setze ich in den Thread aber noch mal themenbezogen passend rein.

Es ist nämlich tatsächlich so, daß ein Anwender, wenn er eine grafische Oberfläche verfügbar hat, ein

User-Interface,

wo er eine Windows-Oberfläche hat und mit Icons und Maus arbeiten kann, effektiver ist, als wenn er eine Pseudo-Sprache programmieren muß, für die es keinen Standard gibt.

Es wird also darauf hinauslaufen, eine Windows-Bedienerschnittstelle zu programmieren, wo der Anwender mit dem Programm in den Dialog tritt.

Also quasi das, was eine Steuerung leistet, im Mini-Format.

Ohne dieses Mini-Format an Schnittstelle wäre die Akzeptanz gar nicht da.

Und ja,

die Schnittstelle muß auch Grafik können. Unbedingt!

Solche Dinge sagen sich aber leicht, man kann die in der Konsolenprogrammierung auch leicht umsetzen, der Sprung zur Windows Umgebung ist aber gewaltig. Das erfordert viel Zeit, sich da einzuarbeiten. Das kann man (bzw. man kann das, wenn man sich auskennt, aber ich kann das nicht) so mal eben nicht realisieren.

Trotzdem, ich halte mittlerweile die Bedienerschnittstelle mit einer Windows-Oberfläche für den sehr viel besseren Weg, und werde daher mit der Entwicklung einer Pseudo-Programmiersprache erstmal nicht weiter machen.



Gruß Sharky

Der Beitrag wurde von sharky bearbeitet: 01.02.2009, 14:04 Uhr


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 01.02.2009, 14:26 Uhr
gekufi
Level 7 = Community-Professor
*******

Hallo

@ sharky
QUOTE
Es ist nämlich tatsächlich so, daß ein Anwender, wenn er eine grafische Oberfläche verfügbar hat, ein

User-Interface,

wo er eine Windows-Oberfläche hat und mit Icons und Maus arbeiten kann, effektiver ist, als wenn er eine Pseudo-Sprache programmieren muß, für die es keinen Standard gibt.

Wobei diese grafischen Eingabehilfen auch wieder von Hersteller zu Hersteller unterschiedlich sind. Und in vielen Bereichen erheblich weniger Möglichkeiten bieten wie der "reine" G-Code, welcher das Grundgerüst der jeweiligen Steuerung und der grafischen Eingabehilfe ist.

Gruß Gerd


--------------------
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten.
Voltaire
TOP    
Beitrag 01.02.2009, 14:42 Uhr
sharky2014
Level 7 = Community-Professor
*******

QUOTE (gekufi @ Sonntag, 01.Februar 2009, 14:26 Uhr)
Hallo

@ sharky
QUOTE
Es ist nämlich tatsächlich so, daß ein Anwender, wenn er eine grafische Oberfläche verfügbar hat, ein

User-Interface,

wo er eine Windows-Oberfläche hat und mit Icons und Maus arbeiten kann, effektiver ist, als wenn er eine Pseudo-Sprache programmieren muß, für die es keinen Standard gibt.

Wobei diese grafischen Eingabehilfen auch wieder von Hersteller zu Hersteller unterschiedlich sind. Und in vielen Bereichen erheblich weniger Möglichkeiten bieten wie der "reine" G-Code, welcher das Grundgerüst der jeweiligen Steuerung und der grafischen Eingabehilfe ist.

Gruß Gerd

Das kann ich nicht wirklich glauben.

Erst sagst du: meine Kritik am G-Code ist eingebildeter Natur, weil jede moderne Steuerung das locker kompensiert.

Jetzt sagst du: wenn du direkt g-code eingibst, erreichst du in bestimmten Fällen mehr als mit der Steuerung.

Watt denn nu?

Gib mal ein Beispiel dafür, was deine Steuerung nicht kann, wo du besser mit G-Code mit der Hand rangehst. Konkretes Beispiel, bitte! wink.gif


Gruß Sharky


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 01.02.2009, 22:03 Uhr
gekufi
Level 7 = Community-Professor
*******

Hallo

@ sharky
Da hast Du mich nicht richtig verstanden. Sicherlich sind die grafischen Eingabehilfen (Dialogführungen) schon recht gut. Allerdings haben auch diese Einschränkungen, da sie sich im Prinzip auch immer nur auf regelmäßige Konturen beziehen (Taschen, Gewinde, Muster, Absätze, Planen, u.a.). Sobald man z.B. umlaufend an Kanten Radien anfräsen will oder z.B. eine gleichmäßige Fase an einer Bohrung in einem Rohr (sollte ein Beispiel im Siemensforum zu finden sein), ist es momentan mit den Unterstützungen nicht mehr so einfach möglich, wenn überhaupt. Dann bleibt nur noch der Weg über den direkten G-Code als z.B. ein Parameterprogramm.

QUOTE
Gib mal ein Beispiel dafür, was deine Steuerung nicht kann, wo du besser mit G-Code mit der Hand rangehst. Konkretes Beispiel, bitte!

Würde ich jetzt gerne machen, allerdings bin ich in unserer Firma nicht für die Programmerstellung (im Fräsbereich) tätig. Mein Aufgabenbereich liegt mehr in der Richtung EDM (Senkerodieren und Drahtschneiden), bei den Fräsmaschinen bin ich nur fürs Rüsten zuständig. Den Rest meiner Arbeitszeit verbringe ich meist mit Handarbeiten (bin Werkzeugmechaniker).
Nur wenn der Kollege mit dem Programmieren an unserer Maschine mit Dialog11/12 Probleme hat, komm ich zum programmieren an einer Maschine. Und die Dialog11/12 ist mit einer neueren Steuerung nicht mehr so einfach vergleichbar, da liegen Jahre der Entwicklung dazwischen.
Die anderen Fräsmaschinen werden bei uns mit Programmen aus dem CAM (Formenbau, meist Freiformflächen und andere Schönheiten) gefüttert.
Allerdings wirst Du mehrere Beispiele in den Foren finden, welche die Einschränkungen der Dialogsysteme aufzeigen, wo man dann mit dem G-Code weiter kommt (Siemens Shopmill/Shopturn, Heidenhain SmartNC, Mazak Mazatrol, usw...).
Diese Dialogsysteme sollen bei (relativ) einfachen Konturen den Programmieraufwand verringern (Vermeidung von Fehlerquellen) und auch einen schnelleren Einstieg in die Programmiererei an der Steuerung ermöglichen, nicht aber alles ersetzen. Können sie auch nicht, sonst währen sie selbst genauso umfangreich wie die G-Code-Oberfläche der Steuerung.

QUOTE
Erst sagst du: meine Kritik am G-Code ist eingebildeter Natur, weil jede moderne Steuerung das locker kompensiert.

Ich habe nirgendwo gesagt, das deine Kritik eingebildeter Natur ist oder sei.
Ich hab nur gesagt, dass Du deine Kritik am G-Code aus den Einschränkungen deiner Systeme bildest und dann auf alle anderen überträgst. Was aber ja nicht so einfach geht.
Und die Kompensierung der Einschränkungen beruht darauf, das modernen Steuerungen mehr Befehle haben als die deinige und diese Befehle wiederum mehr Möglichkeiten.
An einer Dialog11 z.B. ist es egal ob G90 oder G91 aktiv ist. Ich kann bei jeder Achse dazuschreiben, ob der Wert absolut oder inkremental gelten soll:
G1 XA100 YI-30 ZI-5 ->
G1 -> im Vorschub
XA100 -> X-Achse absolut auf den Wert 100 verfahren
YI-30 -> Y-Achse inkremental um den Wert -30 verfahren
ZI-5 -> Z-Achse inkremental um den Wert -5 verfahren
Man könnte aber auch einen Pol, Winkelangabe und eine Länge angeben, um den Endpunkt anzugeben. Und dies geht auch bei einer Siemens, Heidenhain oder Fanuc (und anderen).

QUOTE
Jetzt sagst du: wenn du direkt g-code eingibst, erreichst du in bestimmten Fällen mehr als mit der Steuerung.

Ich sagte, da man teilweise mit dem G-Code der Steuerung weiterkommt als mit den grafischen Dialogsystemen. Die Steuerung braucht man doch in jedem Fall zum abarbeiten der Programme, egal ob im G-Code oder im Dialogsystem erstellt. Und zu den Einschränkungen der Dialogsysteme gibt es z.B. in den Siemens-Unterforen oder auch im Mazak-Bereich einige Beispiele zu finden.

Gruß Gerd


--------------------
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten.
Voltaire
TOP    
Beitrag 01.02.2009, 22:12 Uhr
sharky2014
Level 7 = Community-Professor
*******

Na schön, Gekufi.

Dann will ich mal zeigen, daß man mit dem Gcode durchaus was machen kann, natürlich in G91 wink.gif :

G90
g0 z1
g0 x-5 y0
g91
g81 x5 z-1 r1 L29 f200
y5 L12
x-5 L28
y-5 L12
x5.8333 x5 L12
x5.833 y-5 L12
g90
g0 x70 y0
g91
g81 y5 z-1 r1 L11
g90
m30

Na, erkennen deine von der Maschinensteuerung getrübten Augen in diesem ECHTEN GCODE-BEispiel, was das ist?

Das ist GANZ DICHT an der Maschine programmiert, Gcode ohne SINUMERIC und Konsorten wink.gif

Für einen, der ständig an der Steuerung in g90 rummacht, wahrscheinlich nicht so leicht zu erkennen, oder? wink.gif


Gruß Sharpy

Der Beitrag wurde von sharky bearbeitet: 01.02.2009, 22:17 Uhr


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 01.02.2009, 22:23 Uhr
gekufi
Level 7 = Community-Professor
*******

Hallo

Dann erstmal die Frage, für was steht bei deiner Steuerung der G-Code G81 ?
Denn erst dann kann ich ihn mit einem mir von einer anderen Steuerung bekannten Befehl vergleichen und dir dann auf deinen Frage antworten. Bei einer Dialog11 steht G81 z.B. für einen Bohrzyklus. Dort aber wieder mit anderen Parametern als den deinigen.

Gruß Gerd


--------------------
Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten.
Voltaire
TOP    
Beitrag 01.02.2009, 22:27 Uhr
sharky2014
Level 7 = Community-Professor
*******

QUOTE (gekufi @ Sonntag, 01.Februar 2009, 22:23 Uhr)
Hallo

Dann erstmal die Frage, für was steht bei deiner Steuerung der G-Code G81 ?
Denn erst dann kann ich ihn mit einem mir von einer anderen Steuerung bekannten Befehl vergleichen und dir dann auf deinen Frage antworten. Bei einer Dialog11 steht G81 z.B. für einen Bohrzyklus. Dort aber wieder mit anderen Parametern als den deinigen.

Gruß Gerd

G81 ist Bohrzyklus was denn sonst! warum sollten da denn sonst z und r definiert sein? Bloß keine Ausreden jetzt! wink.gif


Gruß Sharky

Der Beitrag wurde von sharky bearbeitet: 01.02.2009, 22:28 Uhr


--------------------
A programmer is just a tool which converts caffeine into code
TOP    
Beitrag 01.02.2009, 22:34 Uhr
sharky2014
Level 7 = Community-Professor
*******

Kleiner Tipp:

Das ist so was ähnliches wie das Haus vom Nikolaus, du verstehst?

Da ich fast nur in G91 programmiere, zu Fuß, ist das für mich kein Problem, das zu sehen.

Aber es ist, zugegebenermaßen, etwas tricky. wink.gif



Gruß Sharpy


--------------------
A programmer is just a tool which converts caffeine into code
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: