Guten Tag
QUOTE (LucyLou @ 22.03.2017, 16:03 Uhr)
Hallo,
Man muss ja auch mal das Umfeld betrachten wie die Einzelnen Steuerungen gewachsen sind.
eine Heidenhain wird man höchst wahrscheinlich nie auf einer anderen Maschine finden als auf Fräs- oder Drehmaschinen
eine Siemens Steuerung gibt es auch auf zahlreichen anderen Maschinen die nichts mit
Drehen und
Fräsen zu tun haben.
Die Siemens
CNC Steuerung hat hier sicher von den anderen Steuerungen Profitiert.
eine Heidenhain ist halt immer noch sehr auf Werkstätten Programmierung ausgelegt.
Direkte Programmierung auf der Maschine und nicht Extern.
Was halt Konstrukte IF, ELSE, FOR, oder Klassen, Funktionen in einem Reinen NC-Programm zu suchen haben ist halt eine
Reine Frage einer Brauchts, einer findets Gut, der nächste weiß nicht was er damit machen soll.
mfg Peter
Ich finde es toll, dass du auch diese Seite der CNC Steuerungen ansprichst.
Nicht nur Siemens hat von anderen Steuerungen und deren Weiterentwicklung profitiert. Wobei mir jetzt keine Zukauf auf Siemensseite einfallen würde, wie er bei HH mit den Erwerb der Philips / Grundig Steuerungen ( später EPL ) stattgefunden hat.
Ich will damit keinesfalls behaupten, oder gar eine Unterstellung äußern, dass HH Steuerungen schlechte Steuerungen sind. Heidenhain weicht mit seinem Konzept der Klartext Programmierung neben diesen MAZTROL Sachen, eindeutig von den international weiter verbreiteten G oder
ISO basierenden Steuerungen ab. Ich will auch keine Vermutungen treffen, welchen Verbreitungsgrad diese Steuerungen ausserhalb von Deutschland, bzw dem europäischen Ausland haben.
Aber ich denke, und das ist nicht nur meine persönliche Meinung ( wie es sich hier im Thread schon herauskristallisiert hat ), dass auch Steuerungskonzepte mit der Zeit gehen sollten.
Klassiche Schleifen- Funktionen im Sinne einer Wiederhohlungsschliefe ob als FOR TO NEXT ( klassische durchzählende Schleife ) oder
Schleifen mit Abbruchbedingungen wie WHILE oder REPEAT UNTIL ( jeweils mit Ausstiegsbedingung am Schleifenanfang- oder ende ) sollte eigentlich Standard sein. Ebenso sehe ich es auch verwerflich, dass der klassische "statische Sprung" hier nur in Verbindung mit einer IF Bedingung ausgeführt werden kann ( was nicht nur die Lesbarkeit erschwert, sonder auch die Programmierzeit = Aufwand erhöht ).
Ob man auf einer CNC Maschine Variablen unterschiedlicher Typisierung frei definieren können muss, gut das mag jeder für sich entscheiden. Man(n) hat ja auch noch die frei zur Verfügung stehenden Q- Parameter ( äquivalent R- Parameter bei Siemens ). Die aber auch nicht jeden Bereich und alles abdecken können, gerade wenn es um die Auswertung und Verarbeitung von alphanumerischen Daten geht.
Vielleicht sollte man hier das ganze auch so sehen, dass Unterprogramme und Zyklen ähnlich anzusehen sind, wie Proceduren und Functionen im Bereich der PC Programmierung als Objekte. Wenn ein Objekt aufgerufen oder genutzt wird, muss sichergestellt sein, dass der Rücksprung zum Ausgangspunkt vorhanden ist, und der Programmlauf nicht unerwartete Formen annimmt. Siehe Ausgangspost. Wenn ich ein Unterprogramm oder einen Zyklus aufrufe, ist das ein Objekt, welches nach Beendigung oder Ausführung den Rücksprung zur Folgezeile der aufrufenden Zeile selber schafft. Ansonsten mach Unterprogramm- Technologie keinen wirklichen Sinn. Denn Unterprogramm- Technologie heist immer noch, dass ein ausgelagerter Programmteil, ob parametiert oder nicht, von jeder beliebigen Stelle im Programm , beliebig oft aufgerufen werden kann, und die Programmfortsetzung ab dem Aufrufpunkt ermöglicht. Entspricht diesem dem nicht ist das ähnlich anzusehen, wie ein wildes gespringe mit statischen Sprungbefehlen, welches früher mal als "Spaghetti- Code" verschrien war. Was zwar bei HH mit dem Aufruf CALL LBL gegeben ist, aber in Verbindung mit GOTO LBL wieder völlig abstrus wird.
Aber mal zurück zum Thema.
Für den Sprung mit GOTO benötige ich ein LBL, egal ob als Sprungzeiger im Hauptprogramm, oder als angefügt liegendes Unterprogramm.
Das bestehende Problem ist immer noch dem vom mir eingebrachten Beispiel das selbe.
Loch vorbohren, Loch auffräsen , messen, das ganze solange wiederholen bis das Maß im gewünschten Bereich liegt, weil das zu bearbeitende Material sich eher elastisch als plastisch verhält. Ich benötige zig IF Abfragen und muss wild zwischen den LBL's hin- und herspringen. Aber einen funktionierenden Lösungsansatz für eine Mehrfachaufspannung zu erzeugen ist mir bis jetzt noch nicht gelungen. Obwohl ich dabei trotz Handbuch ( auch mit noch wenige Erfahrung in HH ) schon Stunden ( ca 20 h verteilt auf mehrere Tage ) damit zugebracht habe, und immer noch keinen Schritt weiter bin.
Hier mal dazu das Gegenbeispiel, wenn das Programmkonzept bei Siemens steht, egal für wieviele Spannstellen dieses ausgelegt ist, ich aber jetzt noch zusätzlich 20 weitere auf den Maschinentisch einrichten will, muss ich 3 Grundparameter im HP im Hauptprogramm ändern, diese weiteren Nullpunkte manuelle Ausmessen und Eintragen, und schon läuft die Geschichte. Hier zeigt sich eindeutig der Vorteil, einer Steuerung die mit eigentlich alten, klassischen Programmelementen ähnlich Basic umgehen kann.
Ok, Ende des gejammers, oder was auch immer. Die Frage steht noch offen im Raum. @homerq hat ja eine Lösungsansatz aufgezeigt. Den ich erst einmal versuche zu verfolgen.
In diesem Sinne, einen schönen Abend
R.HEIM