Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Eigener Zyklus erstellen

Beitrag 22.08.2023, 09:05 Uhr
Tobi95
Tobi95
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 02.08.2023
Beiträge: 6
Moin zusammen,
bin aktuell mich am reinlesen wie man eigene Zyklen machen kann.
Erstmal ist mir das egal ob dieser Zyklus Sinn macht oder nicht. Ist ersmal zum Üben und verstehen wie so etwas funktioniert.

Also soweit wie ich das jetzt verstanden habe:
-Zyklus(PLANEN.SPF) schreiben und unter Anwenderzyklen ablegen.

BEISPIEL:
N5 PROC PLANEN (REAL_STARTX, REAL_ENDEX, REAL_STARTZ, REAL_ENDEZ REAL_ZUST) SAVE SBLOF DISPLOF
N10 DEF INT_WERT1
N15
N20 G90
N25 G0 X=_STARTX Z=_STARTZ
N30 IF (_STARTZ<=_ENDEZ) OR (_STARTX<=_ENDEX)
N35 MSG("Startwert darf nicht kleiner gleich Endwert sein")
N40 M0
N45 M17
N50 ELSE
N55 GOTO LABEL_1
N60 ENDIF
N65
N70 LABEL_1:
N75 _WERT1=_STARTZ-_ZUST
N80 IF (_WERT1<=_ENDEZ)
N85 GOTO END
N90 ELSE
N95 GOTO LABEL_2
N100 ENDIF
N105
N110 LABEL_3:
N115 _WERT1=_WERT1-_ZUST
N120 IF (_WERT1<=ENDEZ)
N125 GOTO END
N130 ELSE
N135 GOTO LABEL_2
N140 ENDIF
N145
N150 LABEL_2:
N155 G0 Z=_WERT1
N160 G1 X=_ENDEX
N165 G0 X=_STARTX Z=_WERT1+1
N170 GOTO LABEL_3
N175
N180 END:
N185 G0 Z=_ENDEZ
N190 G1 X=_ENDEX
N195 G0 X=_STARTX Z=_STARTZ
N200 M17

-Unter UC.COM folgendes ergänzen:

BEISPIEL:
//PLANEN(PLANEN)
(R/-9999 9999//_STARTX)
(R/-9999 9999//_ENDEX)
(R/-9999 9999//_STARTZ)
(R/-9999 9999//_ENDEZ)
(R/-9999 9999//_ZUST)

-Maschine Neugestartet und nun sollte es eigentlich funktionieren.

-Hauptprogramm programmiert mit PLANEN()

-Über Rückübersetzung kann ich meine Felder ausfüllen.

-Simulation sagt aber nun PLANEN... Option nicht vorhanden oder nicht verfügbar.

Weiß einer wo ich da einen Fehler reingehauen habe?
Wenn ich das ganze als Hauptprogramm mit R-Parametern schreibe funktioniert es.

Zur Maschine/Steuerung:
Das ganze soll auf einer Weiler DZ32CNC BJ.95 mit Sinumerik 840d laufen.

Besten Dank
Tobi
   
Beitrag 24.08.2023, 04:25 Uhr
KBPro
KBPro
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 31.03.2006
Beiträge: 127
Moin,

wenn es nur an der Simulation liegt, schon mal in der Simulation die Machinendaten akualisiert?

Gruß
KBPro
   
Beitrag 28.08.2023, 07:22 Uhr
DrehCAMerad
DrehCAMerad
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 26.08.2019
Beiträge: 34
Hallo Tobi95,

ich bin diesbezüglich auch kein Profi, habe allerdings schon mal eigene Zyklen für ne 840D geschrieben.
Lass in der ersten Zeile mal die Satznummer und den Unterstrich zwischen den REAL-Variablen weg. Bin mir nicht sicher, ob der Unterstrich am Anfang Probleme macht?!
Außerdem fehlt vor der letzen REAL-Variable ein Komma. Das würde ich als erstes versuchen.

Versuch es mal so:

PROC PLANEN (REAL STARTX,REAL ENDEX,REAL STARTZ,REAL ENDEZ,REAL ZUST) SAVE SBLOF DISPLOF
DEF INT WERT1

N20 G90
N25 G0 X=STARTX Z=STARTZ
N30 IF (STARTZ<=ENDEZ) OR (STARTX<=ENDEX)
N35 MSG("Startwert darf nicht kleiner gleich Endwert sein")
usw...
   
Beitrag 28.08.2023, 07:32 Uhr
Tobi95
Tobi95
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 02.08.2023
Beiträge: 6
Moin,
Vielen Dank für die Hinweise.
Das mit dem Komma ist mir anscheinend ein dummer Flüchtigkeitsfehler unterlaufen.

Mit den Maschinendaten hab ich noch nichts gefunden.

Werde das mit dem Programm abändern die Tage mal ausprobieren.

Werde euch auf dem laufenden halten.

Aber vom Grundaufbau scheint es ja schonmal gut zu sein?!
   
Beitrag 28.08.2023, 10:30 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928
QUOTE (DrehCAMerad @ 28.08.2023, 08:22 Uhr) *
Lass in der ersten Zeile mal die Satznummer und den Unterstrich zwischen den REAL-Variablen weg. Bin mir nicht sicher, ob der Unterstrich am Anfang Probleme macht?!

Der Unterstrich als solcher ist unproblematisch, denn der zählt zu den gültigen Zeichen wie die normalen Buchstaben oder Ziffern. Der Fehler besteht darin, dass das Leerzeichen zwischen dem Variablentyp (INT) und dem Variablennamen (_WERT1) fehlt. D.h statt
DEF INT_WERT1
muss es
DEF INT _WERT1
heißen.
Die Satznummern stören auch nicht.
   
Beitrag 08.12.2023, 16:36 Uhr
Jensii
Jensii
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 08.12.2023
Beiträge: 1
Hallo,
ich bin auch gerade dabei mir die Variablenprogrammierung beizubringen.

Wie genau würde man denn die Variablen STARTX,STARTZ etc. mit Koordinaten füllen??

Kenne es bisher nur so beispiel:
DEF INT STARTX
STARTX=100

Bin wirklich noch ganz am Anfang dieser Programmierung daher bitte nicht gleich mit dem Kopf schütteln.

Mein Ziel ist es aber auch selber Zyklen zu schreiben.
Und wegzukommen von R Parametern.
Mache aktuell viel in der Strukturprogrammierung über R-Parameter in den Unterprogrammen.
   
Beitrag 09.12.2023, 08:15 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.928
ZITAT(Jensii @ 08.12.2023, 17:36 Uhr) *
Wie genau würde man denn die Variablen STARTX,STARTZ etc. mit Koordinaten füllen??

So wie du es in deinem Beispiel gemacht hast, eben beispielsweise
STARTX=100
wenn 100 der Wert deiner Koordinate ist.
Unter diesem Aspekt gibt es keinen Unterschied zwischen selbst definierten Variablen und R-Parametern.
Oder habe ich deine Frage missverstanden?

   
Beitrag 09.12.2023, 21:50 Uhr
Boern
Boern
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 27.11.2004
Beiträge: 2.484
ZITAT(Tobi95 @ 22.08.2023, 09:05 Uhr) *
-Maschine Neugestartet und nun sollte es eigentlich funktionieren.

-Hauptprogramm programmiert mit PLANEN()

-Über Rückübersetzung kann ich meine Felder ausfüllen.

-Simulation sagt aber nun PLANEN... Option nicht vorhanden oder nicht verfügbar.

Weiß einer wo ich da einen Fehler reingehauen habe?
Wenn ich das ganze als Hauptprogramm mit R-Parametern schreibe funktioniert es.

Zur Maschine/Steuerung:
Das ganze soll auf einer Weiler DZ32CNC BJ.95 mit Sinumerik 840d laufen.

Besten Dank
Tobi


Hallo damit die Steuerung deinen "Zyklus" erkennt muss das Programm wie im ersten Satz => PROC PLANEN
auch PLANEN.SPF heißen. Ich schätze mal du hast hier einen anderen Namen als PLANEN genommen?




--------------------

Das dringendste Problem der Technologie von heute ist nicht mehr die Befriedigung von Grundbedürfnissen und uralten Wünschen der Menschen, sondern die Beseitigung von Übeln und Schäden, welche uns die Technologie von gestern hinterlassen hat.


Dennis Gabor (1900-79), ungar.-brit. Physiker, Entwickler der Holographie, 1971 Nobelpr.
   
Beitrag 09.12.2023, 22:07 Uhr
Boern
Boern
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 27.11.2004
Beiträge: 2.484
ZITAT(Jensii @ 08.12.2023, 16:36 Uhr) *
Hallo,
ich bin auch gerade dabei mir die Variablenprogrammierung beizubringen.

Wie genau würde man denn die Variablen STARTX,STARTZ etc. mit Koordinaten füllen??

Kenne es bisher nur so beispiel:
DEF INT STARTX
STARTX=100

Bin wirklich noch ganz am Anfang dieser Programmierung daher bitte nicht gleich mit dem Kopf schütteln.

Mein Ziel ist es aber auch selber Zyklen zu schreiben.
Und wegzukommen von R Parametern.
Mache aktuell viel in der Strukturprogrammierung über R-Parameter in den Unterprogrammen.


Hallo

ein Zyklus soll ja in der Regel eine Erleichterung sein, oder es soll dir durch einfach eingabe ein Ergebnis liefern.

Beispiel du musst öfter einen Vierkant Fräsen deine Eingaben im Programm sollen so gering als möglich sein. Du willst das ja nicht ständig ausschreiben in DIN ISO

dein CNC Programm würde dann so aussehen:

N10 T="FRAESER D12"
N20 M6
N40 G0 G54 X0 Y0 S3200 M3 M8
N50 VIERKANT (20,0,2,5,12,3,-10,0.3,50,40,500,1200,1,0.5)
N60 VIERKANT (20,0,2,5,12,3,-10,0.0,50,40,500,1200,1,0.5)
N70 G0 Z500 M9
N80 M30

Das Wort VIERKANT ist dein Vierkant Zyklus die Eingaben in den KLMMERN ( ) sind quasi die DIN ISO Befehle in kurzform.
Ich habe zusätzlich noch Fehleingabe Abfragen eingebaut.

Das sind die Variablen in den Klammern:

; VIERKANT(RTP1,RFP1,SDIS1,ABST,WKZ_D,RICH,TIEFE,AUFM,PIECE_X,FTG_M,F_TIEFE,F_BEAR
B,ENTGR,ENT_GR)

;RTP1 = Rückzugsebene
;RFP1 = Referenzebene
;SDIS1 = Sicherheitsabstand
;ABST = Soll Abstand zum Rohmaß
;WKZ_D = Werkzeug Durchmesser
;RICH = Bearbeitungsrichtung G2=2 G3=3
;TIEFE = Tiefe
;AUFM = Aufmaß
;PIECE_X = Rohlingmaß z.B. 50x50
;FTG_M = Fertigmaß
;F_TIEFE = Vorschub Tiefen zustellung
;F_BEARB = Vorschub Bearbeitung
;ENTGR = Entgraten der Ecken 1=Radius 2=Fase
;ENT_GR = Größe Radius/Fase

Hier der kompl. Zyklus:
Angehängte Datei  VIERKANT.SPF ( 4.4KB ) Anzahl der Downloads: 22



Die Simulation sieht dann so aus:
Angehängte Datei  Vierkant_1.JPG ( 10.51KB ) Anzahl der Downloads: 10


Angehängte Datei  Vierkant_2.JPG ( 20.73KB ) Anzahl der Downloads: 10


Viel Spaß damit

Gruß Boern


--------------------

Das dringendste Problem der Technologie von heute ist nicht mehr die Befriedigung von Grundbedürfnissen und uralten Wünschen der Menschen, sondern die Beseitigung von Übeln und Schäden, welche uns die Technologie von gestern hinterlassen hat.


Dennis Gabor (1900-79), ungar.-brit. Physiker, Entwickler der Holographie, 1971 Nobelpr.
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: