603.978 aktive Mitglieder*
2.131 Besucher online*
Kostenfrei registrieren
Einloggen Registrieren

Unterprogramm LABEL, Bearbeitungsliste erstellen

Beitrag 26.05.2008, 18:11 Uhr
Dolzman
Level 4 = Community-Meister
****

Hi Leute !!

Ich hab mal ne frage was Sprünge innerhalb eines Programms oder Prozedur angeht. Und zwar habe ich einen Postprozessor, bzw. ein Tool geschrieben, womit ich NC Programme belibig konvertieren kann, mein Ziel ist es im CAD eine Koordinatenliste (Programm von Punkt zu Punkt) auszugeben und diese dann an der Maschine als Nullpunktverschiebung mit Programmaufruf umzuwandeln.

Anwendungsbeispiel:

Bei Ziehwerkzeugen (Blechhalter/Matrize) sind am Rand der Teilung von mir aus 10 Kreistaschen für Distanzsäulen. Jetzt gebe ich ein Programm aus, das nur von Mittelpunkt zu Mittelpunkt der Tasche fährt, wandle dieses Programm dann in eine Prozedur mit CQA Verschiebung um, un der Maschinenbediener programiert sich eine Helixbohrung auf XYZ 0 so wie er´s gerne hätte und fertig !!! Bei Heidenhain fünktioniert das ganze mit der Punktetabelle oder "Cycl Call Pos" aufruf schon recht gut.


Jetzt habe ich mir folgendes überlegt:

CODE
$GOTO Koordinatenliste

:Programmaufruf
IPC => CNC D:\


:Koordinatenliste
CQA XP -24.767
CQA YP +20.559
CQA ZP +50.000
$GOTO Programmaufruf

CQA XP -30.257
CQA YP +26.050
CQA ZP -8.458
$GOTO Programmaufruf



Den Programmaufruf möchte ich einmal am anfang des Programms haben, dass man nicht immer komplett durchscrollen muss. Damit dieser vor der ersten verschiebung nicht ausgeführt wird, springe ich erstmal drüber, danach kommt die erste verschiebung, und der erste aufruf (ich denk dass es so funktioniert, konnte es an der Maschine noch nicht probieren)

Jetzt habe ich aber dass problem, dass ich in einer Endlosschleife festsitze oder ?? Kann ich den Label irgendwie beenden, damit er am ende wieder zum ausgangspunkt zurück springt ??

oder habt ihr ne idee wie ich das ganze als Programm ausführen kann ?? also nicht als Prozedur !! Verschiebung im Programm und Unterprogrammaufruf im Programm ohne das ganze durch´s Isograph laufen zu lassen???

Oder gibt´s ne Möglichkeit den Programmnamen als Variable zu definieren ?? Also am anfang der Prozedur eine Definition eigeben und dann einfach den Programmaufruf mit Varieblen ????

Ein weiteres Problem ist noch dass die CQA Verschiebung sich in sachen +/- Richtung an die Maschinen Achsen hält und nicht an die Programmachsen, bei uns hängen die Werkstücke Senkrecht am Winkel, also ist bei Switch X-XM Y-ZM Z-YM und FSC ist XP-1 also muss ich in den CQA Verschiebungen die X-Achse schon gespiegelt eintragen, deswegen wär´s mir eigentlich ganz recht wenn ich dass ganze als Programm mit den Programmachsen lösen könnte! Somit wäre es auch egal wie der Bediener sein Teil aufspannt !!

Ich hoffe ihr habt vertsanden was ich will, bin grad bichchen im Stress un weis nicht ob ich´s verständlich erklären konnte

Danke euch schonmal !!

Gruß Andi

Der Beitrag wurde von Dolzman bearbeitet: 26.05.2008, 18:19 Uhr


--------------------
Tebis: CAM Programierung, Datenbank Verwaltung, PP-Programmierung, System Administration
Heidenhain: iTNC530 Anwender, Cycle-Design, Kinematic Design, und sonstige PLC Spielereien . . . .
TOP    
Beitrag 26.05.2008, 22:16 Uhr
prinzvalium
Level 2 = Community-Facharbeiter
**

Also, ich würde dir raten das ganze, wenn überhaupt, im Isographen zu programmieren.

Das würde dann in etwa so aussehen:

CODE
N10 TASK UNTERPROGRAMM
N20 CALL D:\NCPROGRAMME\TASCHENZYKLUS.FID
N30 RETURN
N40 * PUNKT1
N50 MOVE3D X100. Y100. Z100.
N60 DO TASK UNTERPROGRAMM
N70 * PUNKT2
N80 MOVE3D X100. Y50. Z100.
N90 DO TASK UNTERPROGRAMM
N100 * PUNKT3
N110 MOVE3D X50. Y100. Z100.
N120 DO TASK UNTERPROGRAMM
N130 * PUNKT4
N140 MOVE3D X50. Y50. Z100.
N150 DO TASK UNTERPROGRAMM

.
.
.
Und immer so weiter.

Zeile N20 sollte dann natürlich vom Bediener angepasst werden.


--------------------
Sei was du bist, egal was das ist!
TOP    
Beitrag 27.05.2008, 15:14 Uhr
Dolzman
Level 4 = Community-Meister
****

Ok, dann werde ich mal schaun ob ich das so hinbekomme.

Der Bediener muss dann also das Programm im Isograph öffnen, programmaufruf Anpassen und dann Kompilieren, dann kann das ganze dann mit Start Programm ausführen ??

zu deinem Beispiel:

wird das unterprogramm da nicht schon vor dem ersten punkt ausgeführt ??


--------------------
Tebis: CAM Programierung, Datenbank Verwaltung, PP-Programmierung, System Administration
Heidenhain: iTNC530 Anwender, Cycle-Design, Kinematic Design, und sonstige PLC Spielereien . . . .
TOP    
Beitrag 27.05.2008, 21:11 Uhr
prinzvalium
Level 2 = Community-Facharbeiter
**

Soweit richtig.
Aber der Bediener kann das Programm, nach der Anpassung, auch direkt aus dem Isographen starten.

Alle Befehle zwischen "TASK UNTERPROGRAMM" und "RETURN" werden nur duch den Isographenbefehl "DO TASK UNTERPROGRAMM" ausgeführt.

"UNTERPROGRAMM" ist nur ein Beispiel für den Namen eines Unterprogramms. Es kann auch einen beliebig anderen Namen haben. So ist es möglich beliebig viele Unterprogramme in einer Datei speichern.

Ein Beispiel: (Wenn auch recht sinnfrei... wink.gif )

CODE
N10 TASK U1
N20 G00 X0.000 Y0.000 Z0.000
N30 RETURN
N40 TASK U2
N50 G00 X100.000 Y0.000 Z0.000
N60 RETURN
N70 TASK U3
N80 G00 X0.000 Y100.000 Z0.000
N90 RETURN


Die jeweiligen Untergrogramme werden dann folgendermaßen aufgerufen:

CODE
N100 DO TASK U1
N110 DO TASK U2
N120 DO TASK U3


--------------------
Sei was du bist, egal was das ist!
TOP    



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