Siemens
Digital Industries, Motion Control, Machine Tool Systems
8845
Follower:innenRechenergebnis (auf/ab)runden, R-Parameter
14.01.2016, 17:38 Uhr
Hallo zusammen
Wie kann ich bei der 840C das Ergebnis einer R-Parameterrechnung auf/abrunden
und/oder für weitere Berechnungen nur die ganze Zahl berücksichtigen ?
Gruß Jim
Wie kann ich bei der 840C das Ergebnis einer R-Parameterrechnung auf/abrunden
und/oder für weitere Berechnungen nur die ganze Zahl berücksichtigen ?
Gruß Jim
14.01.2016, 18:34 Uhr
Guest_guest_*
Themenstarter
Gast
Hallo zusammen
Wie kann ich bei der 840C das Ergebnis einer R-Parameterrechnung auf/abrunden
und/oder für weitere Berechnungen nur die ganze Zahl berücksichtigen ?
Gruß Jim
Wie kann ich bei der 840C das Ergebnis einer R-Parameterrechnung auf/abrunden
und/oder für weitere Berechnungen nur die ganze Zahl berücksichtigen ?
Gruß Jim
Zum "Abrunden" kannst du @622 verwenden.
Eigentlich wird lediglich der ganzzahlige Anteil des Wertes übernommen.
R60=23.9
@622 R60
;R60 hat nun den Wert "23"
"Aufrunden", oder runden auf x-Nachkomma-Stellen gibt es nach meiner Kenntnis nicht.
14.01.2016, 18:40 Uhr
Hi Big-Jim,
ich denke Runden kann die 840C nicht, zumindest geht nur abrunden, also Weglassen von Nachkommastellen. Durch einen boolschen Vergleich könntest du dies noch erweitern.
Handbuch findest du hier:
https://support.industry.siemens.com/cs/de/de/view/13243690
@622 <Var>
Von dem durch einen R-Parameter oder einen Pointer definierten Zahlenwert wird der ganzzahlige Anteil gebildet. Das Ergebnis steht danach im gleichen R-Parameter oder Pointer.
Beispiel:
R60 = 2.9
@622 R60
Es wird der ganzzahlige Inhalt von R60 gebildet;der neue Inhalt ist 2
Gruß
CNC4you-ws
ich denke Runden kann die 840C nicht, zumindest geht nur abrunden, also Weglassen von Nachkommastellen. Durch einen boolschen Vergleich könntest du dies noch erweitern.
Handbuch findest du hier:
https://support.industry.siemens.com/cs/de/de/view/13243690
@622 <Var>
Von dem durch einen R-Parameter oder einen Pointer definierten Zahlenwert wird der ganzzahlige Anteil gebildet. Das Ergebnis steht danach im gleichen R-Parameter oder Pointer.
Beispiel:
R60 = 2.9
@622 R60
Es wird der ganzzahlige Inhalt von R60 gebildet;der neue Inhalt ist 2
Gruß
CNC4you-ws
14.01.2016, 19:20 Uhr
Dank euch,
das mit @622 hab ich wohl überlesen.
Gruß Jim
das mit @622 hab ich wohl überlesen.
Gruß Jim
15.01.2016, 00:49 Uhr
Wenn abrunden geht, geht auch aufrunden oder auf/abrunden mit grenze 0.5:
Aufrunden:
Auf/Abrunden:
Aufrunden:
CODE
R60 = R60+0.999
@622 R60
@622 R60
Auf/Abrunden:
CODE
R60 = R60+0.5
@622 R60
@622 R60
--------------------
Freundliche Grüsse
DMC635V
DMC635V
15.01.2016, 14:24 Uhr
Hallo zusammen
Ich hab die Aufgabe bekommen, für unser Scharmann Bohrwerk einen eigenen Bohrzyklus (Stotterbohren) zu schreiben.
Die Anforderung besteht darin, daß der Vorschub immer nur anhalten soll, ohne abheben!
Hab jetzt mal einen Entwurf verfasst, kann man das so machen ?
Konnte es noch nicht testen.
%MPF118
:1520 L6 T03 ( WPB 30)
N1530 G54 G95 M03 S500 F0.1 T04
N1550 R602=0 (REFERENZEBENE ABSOLUTMASS )
N1551 R603=2 (VORHALTEMASS)
N1552 R604=20 (BOHRUNGSTIEFE = POSITIV)
N1562 R605=4 (MAXIMALE ZUSTELLUNG IN Z )
N1563 R606=0.15 ( WARTEZEIT IN SEKUNDEN)
N1564 G0 X0 Y0
N1565 G0 Z50
N1567 G0 Z=R603
N1570 L701 P1
N1580 G00 Z50 M30
%SPF701
( UNTERPROGRAMM STOTTERBOHREN)
( PARAMETERDEFINITION IM HAUPTPROGRAMM )
( R602: REFERENZEBENE ABSOLUTMASS )
( R603: VORHALTEMASS )
( R604: BOHRUNGSTIEFE = POSITIV)
( R605: MAXIMALE ZUSTELLUNG IN Z )
( R606: WARTEZEIT IN SEKUNDEN)
( ENDE )
( RECHENTEIL )
R640= R604/ R605 (BOHRTIEFE / MAX. ZUSTELLUNG)
@622 R640 ( GANZZAHLIGER INHALT )
R642=0 ( ZAEHLWERK)
R643=R604-R605 ( BOHRTIEFE MINUS EINE ZUSTELLUNG )
R644=0 ( ZUSTELLUNGSRECHNER )
( PROGRAMMBEGINN )
N080 G01 Z0
N085 R644=R644+R605
N087 @123 R643 R644 K350 ( IF-ABFRAGE GROESSER )
N088 G91
N090 G01 Z=-R605 ( ZUSTELLUNG )
N091 G90
N092 G04 F=R606 ( WARTEZEIT )
N099 @620 R642
N100 @151 R642 R640 K350 ( SCHLEIFE BIS GLEICH )
N101 @100 K-085
N350 G1 Z=-R604
N351 G0 Z=R603
N500 M17
Ich hab die Aufgabe bekommen, für unser Scharmann Bohrwerk einen eigenen Bohrzyklus (Stotterbohren) zu schreiben.
Die Anforderung besteht darin, daß der Vorschub immer nur anhalten soll, ohne abheben!
Hab jetzt mal einen Entwurf verfasst, kann man das so machen ?
Konnte es noch nicht testen.
%MPF118
:1520 L6 T03 ( WPB 30)
N1530 G54 G95 M03 S500 F0.1 T04
N1550 R602=0 (REFERENZEBENE ABSOLUTMASS )
N1551 R603=2 (VORHALTEMASS)
N1552 R604=20 (BOHRUNGSTIEFE = POSITIV)
N1562 R605=4 (MAXIMALE ZUSTELLUNG IN Z )
N1563 R606=0.15 ( WARTEZEIT IN SEKUNDEN)
N1564 G0 X0 Y0
N1565 G0 Z50
N1567 G0 Z=R603
N1570 L701 P1
N1580 G00 Z50 M30
%SPF701
( UNTERPROGRAMM STOTTERBOHREN)
( PARAMETERDEFINITION IM HAUPTPROGRAMM )
( R602: REFERENZEBENE ABSOLUTMASS )
( R603: VORHALTEMASS )
( R604: BOHRUNGSTIEFE = POSITIV)
( R605: MAXIMALE ZUSTELLUNG IN Z )
( R606: WARTEZEIT IN SEKUNDEN)
( ENDE )
( RECHENTEIL )
R640= R604/ R605 (BOHRTIEFE / MAX. ZUSTELLUNG)
@622 R640 ( GANZZAHLIGER INHALT )
R642=0 ( ZAEHLWERK)
R643=R604-R605 ( BOHRTIEFE MINUS EINE ZUSTELLUNG )
R644=0 ( ZUSTELLUNGSRECHNER )
( PROGRAMMBEGINN )
N080 G01 Z0
N085 R644=R644+R605
N087 @123 R643 R644 K350 ( IF-ABFRAGE GROESSER )
N088 G91
N090 G01 Z=-R605 ( ZUSTELLUNG )
N091 G90
N092 G04 F=R606 ( WARTEZEIT )
N099 @620 R642
N100 @151 R642 R640 K350 ( SCHLEIFE BIS GLEICH )
N101 @100 K-085
N350 G1 Z=-R604
N351 G0 Z=R603
N500 M17
15.01.2016, 14:40 Uhr
Guest_guest_*
Themenstarter
Gast
Theoretisch sollte das klappen.
Aber ein kleiner Hinweis:
Bei diesem Code muß die Gesamt-Borhrtiefe ein exaktes vielfaches der Zustellung sein!
Ich würde die Bohrtiefe, nach der Ermittlung der Schritt-Anzahl, noch durch die Schritte teilen und dann um diesen Wert zustellen.
Aber ein kleiner Hinweis:
Bei diesem Code muß die Gesamt-Borhrtiefe ein exaktes vielfaches der Zustellung sein!
Ich würde die Bohrtiefe, nach der Ermittlung der Schritt-Anzahl, noch durch die Schritte teilen und dann um diesen Wert zustellen.
15.01.2016, 15:07 Uhr
Mein Gedanke war eigentlich, daß wenn ich mit der Zustellung nicht auf die exakte Bohrtiefe komme, aus der Schleife springe und mit Satznr. N350 immer auf Endbohrtiefe fahre.
15.01.2016, 15:17 Uhr
Guest_guest_*
Themenstarter
Gast
Mein Gedanke war eigentlich, daß wenn ich mit der Zustellung nicht auf die exakte Bohrtiefe komme, aus der Schleife springe und mit Satznr. N350 immer auf Endbohrtiefe fahre.
Das geht natürlich auch. Gibt aber etwas mehr Code.
Weil die Programmierung der 840C doch etwas schwer lesbar ist, würde ich sogar zur absoluten Verkürzung tendieren:
CODE
Schritte=runden(Endbohrtiefe/MaxZustellung)
Bohrtiefe=Endbohrtiefe/Schritte
G0 Z=Sicherheitsabstand
G1 Z=Referenzebene
for Zaehler=0 to Schritte
G1 Z=incremental(Bohrtiefe)
G4 F=Pause
endfor
G0 Z=Sicherheitsabstand
Bohrtiefe=Endbohrtiefe/Schritte
G0 Z=Sicherheitsabstand
G1 Z=Referenzebene
for Zaehler=0 to Schritte
G1 Z=incremental(Bohrtiefe)
G4 F=Pause
endfor
G0 Z=Sicherheitsabstand
15.01.2016, 15:26 Uhr
Danke für die Unterstützung, hoffe es Montag testen zu können.
15.01.2016, 16:13 Uhr
Guest_guest_*
Themenstarter
Gast
Im "ORIGINAL"-Code sieht es dann so aus:
CODE
%SPF701
( UNTERPROGRAMM STOTTERBOHREN)
( PARAMETERDEFINITION IM HAUPTPROGRAMM: )
( R602: REFERENZEBENE ABSOLUTMASS )
( R603: VORHALTEMASS )
( R604: BOHRUNGSTIEFE = POSITIV)
( R605: MAXIMALE ZUSTELLUNG IN Z )
( R606: WARTEZEIT IN SEKUNDEN)
( UP-PARAMETER: )
( R607: EFFEKTIVE ZUSTELLUNG)
( R640: ANZAHL SCHRITTE)
( RECHENTEIL )
R640=R604/R605 (BOHRTIEFE / MAX. ZUSTELLUNG)
@622 R640 ( GANZZAHLIGER INHALT )
R607=R604/R640 (EFFEKTIVE ZUSTELLUNG)
R608=0 (ZAEHLER)
( PROGRAMMBEGINN )
N070 G00 Z=R603
N075 G01 Z=R602
N080 @151 R608 R640 K350 ( <FOR-SCHLEIFE BEGINN> )
N085 G91
N090 G01 Z=-R607 ( ZUSTELLUNG )
N095 G90
N100 G04 F=R606 ( WARTEZEIT )
N110 @100 K-80 ( RUECKSPRUNG - <FOR-SCHLEIFE ENDE>)
N350 G0 Z=R603
N500 M17
( UNTERPROGRAMM STOTTERBOHREN)
( PARAMETERDEFINITION IM HAUPTPROGRAMM: )
( R602: REFERENZEBENE ABSOLUTMASS )
( R603: VORHALTEMASS )
( R604: BOHRUNGSTIEFE = POSITIV)
( R605: MAXIMALE ZUSTELLUNG IN Z )
( R606: WARTEZEIT IN SEKUNDEN)
( UP-PARAMETER: )
( R607: EFFEKTIVE ZUSTELLUNG)
( R640: ANZAHL SCHRITTE)
( RECHENTEIL )
R640=R604/R605 (BOHRTIEFE / MAX. ZUSTELLUNG)
@622 R640 ( GANZZAHLIGER INHALT )
R607=R604/R640 (EFFEKTIVE ZUSTELLUNG)
R608=0 (ZAEHLER)
( PROGRAMMBEGINN )
N070 G00 Z=R603
N075 G01 Z=R602
N080 @151 R608 R640 K350 ( <FOR-SCHLEIFE BEGINN> )
N085 G91
N090 G01 Z=-R607 ( ZUSTELLUNG )
N095 G90
N100 G04 F=R606 ( WARTEZEIT )
N110 @100 K-80 ( RUECKSPRUNG - <FOR-SCHLEIFE ENDE>)
N350 G0 Z=R603
N500 M17
15.01.2016, 17:22 Uhr
Besten Dank, so hab ich noch eine möglich Alternative.
15.01.2016, 17:41 Uhr
Fällt mir gerade ein....
Wie mach ich das mit dem Aufruf, wenn ich ein Bohrbild mit z.B. 50 Löchern habe ?
Muß ich nach jeder Koordinate das UP wieder aufrufen, oder hat die 840C auch so etwas wie "MCALL" ??
Wie mach ich das mit dem Aufruf, wenn ich ein Bohrbild mit z.B. 50 Löchern habe ?
Muß ich nach jeder Koordinate das UP wieder aufrufen, oder hat die 840C auch so etwas wie "MCALL" ??
15.01.2016, 18:14 Uhr
Guest_guest_*
Themenstarter
Gast
Ich mußte auch erst noch mal lesen.
Die Bohrzyklen L81 - L89 lassen sich modal mit G81 - G89 aufrufen. G80 wählt die Funktion ab.
Ansonsten scheint es keine Möglichkeit zum modalen Aufruf zu geben. Auch nicht für die anderen Zyklen.
Die Bohrzyklen L81 - L89 lassen sich modal mit G81 - G89 aufrufen. G80 wählt die Funktion ab.
Ansonsten scheint es keine Möglichkeit zum modalen Aufruf zu geben. Auch nicht für die anderen Zyklen.
15.01.2016, 18:14 Uhr
Hi
Wenn ich mich noch richtig erinnere
MFG
Andy
Fällt mir gerade ein....
Wie mach ich das mit dem Aufruf, wenn ich ein Bohrbild mit z.B. 50 Löchern habe ?
Muß ich nach jeder Koordinate das UP wieder aufrufen, oder hat die 840C auch so etwas wie "MCALL" ??
Wie mach ich das mit dem Aufruf, wenn ich ein Bohrbild mit z.B. 50 Löchern habe ?
Muß ich nach jeder Koordinate das UP wieder aufrufen, oder hat die 840C auch so etwas wie "MCALL" ??
Wenn ich mich noch richtig erinnere
QUOTE
T3 L6
G0 G54 S1600 F150 M3 M8 ; usw
; Grundangaben
Rxxx =
Rxxx =
; usw
G0 X50 Y0 L701
X25 Y6 L701
;usw
G0 G54 S1600 F150 M3 M8 ; usw
; Grundangaben
Rxxx =
Rxxx =
; usw
G0 X50 Y0 L701
X25 Y6 L701
;usw
MFG
Andy
--------------------
MfG
Andy
-------------------------------------------------------------------------------------------------------------------------
4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)
PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx
Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
Andy
-------------------------------------------------------------------------------------------------------------------------
4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)
PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx
Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
15.01.2016, 18:21 Uhr
Guest_guest_*
Themenstarter
Gast
Das sollte funktionieren:
"Steht der Unterprogramm-Aufruf zusammen mit anderen Funktionen in einem Satz, so wird
das Unterprogramm am Ende des Satzes aufgerufen."
"Steht der Unterprogramm-Aufruf zusammen mit anderen Funktionen in einem Satz, so wird
das Unterprogramm am Ende des Satzes aufgerufen."
15.01.2016, 19:10 Uhr
Hi
laut meiner Doku aus dem Jahre 1996 / Siemens 840C der Firma STAMA geht sogar noch mehr
Du kannst sogar für unterschiedliche Bohrtiefen , oder sonstiges das ganze äußerst Effizient aufbauen
MFG
Andy
laut meiner Doku aus dem Jahre 1996 / Siemens 840C der Firma STAMA geht sogar noch mehr
Du kannst sogar für unterschiedliche Bohrtiefen , oder sonstiges das ganze äußerst Effizient aufbauen
CODE
T3 L6
G0 G54 S1500 F350 M3 M8 T7;usw
;Wieder der Kopf
Rxxx =
Rxxx =
R7xx = ; zb Bohrtiefe
; Aufrufe
G0 X50 Y 37 L701
X23 Y 77 L701
X93 Y55 R7xx= -120 L701; Neue Bohrtiefe ab hier gültig
X33 Y 77 L701; hier noch neue Bohrtiefe
X23 Y123 R7xxx= -100 L701; Hier wieder neue Bohrtiefe
X65 y25 L701
;usw
M30
G0 G54 S1500 F350 M3 M8 T7;usw
;Wieder der Kopf
Rxxx =
Rxxx =
R7xx = ; zb Bohrtiefe
; Aufrufe
G0 X50 Y 37 L701
X23 Y 77 L701
X93 Y55 R7xx= -120 L701; Neue Bohrtiefe ab hier gültig
X33 Y 77 L701; hier noch neue Bohrtiefe
X23 Y123 R7xxx= -100 L701; Hier wieder neue Bohrtiefe
X65 y25 L701
;usw
M30
MFG
Andy
--------------------
MfG
Andy
-------------------------------------------------------------------------------------------------------------------------
4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)
PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx
Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
Andy
-------------------------------------------------------------------------------------------------------------------------
4 BIT NC, Kugelschrittschaltwerk
Numerik 600 + Lochstreifen
und nun nicht weiter gekommen als bis zur Sinumerik ;-)
PS : Ich hasse R- Parameter ! Aus Rxxx wird unter Beachtung der Mond-Parabel und der "ERDschen" Glockenkurve nach der Division mit PI/8 + Werkhallenhöhe ein neuer sinnvoller Parameter Rxxx
Impressum: Wer Rechtschreib- oder Grammatikfehler findet darf sie behalten, sind kostenlose Beigaben des Autors
2 Besucher lesen dieses Thema (Gäste: 2)
0 Mitglieder: