585.733 aktive Mitglieder*
4.983 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
FANUC Forum

Hilfe Makroprogrammierung (Kreistasche), Prg. von 0-M auf 16i-M

Beitrag 01.12.2014, 10:27 Uhr
Variabel
Variabel
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 09.02.2006
Beiträge: 393

QUOTE
ach schitt
hat sich natürlich nichts gebracht hab ich mir aber schon fast gedacht
gibts sonst keine möglichkeit mehr (außer so wir "suso" gepostet hat)?

gruß christoph



Nö. biggrin.gif

Ist halt so bei G66 P.... .

Muss man sich mit arrangieren.

Du mußt halt ne Positionierung nach dem G66 haben. Reicht ja auch, wenn du deinen G1 Z2. Satz nach dem G66 machst.


Gruß Variabel


--------------------
Auch wenn deine Steuerung dir sagt, das sie das nicht kann. Gibt es doch immer einen Weg sie von Gegenteil zu überzeugen.

Ach ja. Variabel war früher Speedy1.
TOP    
Beitrag 03.12.2014, 21:28 Uhr
Chris89
Chris89
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 23.07.2014
Beiträge: 17

Hallo
brauche wieder mal hilfe biggrin.gif

Nachdem ich nun den Hauptteil vom Kreistaschenzylus optimiert habe und er super läuft mit wenigen Angaben, bin ich nun beim Rechtecktaschenzyklus.

Hier auch das gleiche Problem wie beim Kreistaschenzyklus G90 und G91 in einem Satz (habe ich behoben aber noch nicht getestet)

Jedoch wie man die Werkzeugdaten an den Werkzeugkompensationsspeicher C anpasst, tscheck ich noch nicht so
bitte.gif danke.gif


Gruß Christoph



%
:2002(RECHTECKTASCHE 8.1.97 BN V1.0 GEAENDERT)
IF[#18EQ#0]GOTO1
IF[#26EQ#0]GOTO1
IF[#11EQ#0]GOTO1
IF[#9EQ#0]GOTO1
IF[#13EQ#0]GOTO1
IF[#7EQ#0]GOTO1
IF[#17EQ#0]GOTO1
IF[#19EQ#0]GOTO1
IF[#2EQ#0]GOTO1
IF[#4-.002GE#[2000+#7]]GOTO2
#3000=3( FEHLER D/I )
N1#3000=2( VARIABLEN UNVOLLSTAENDIG )
N2G0G90X#24Y#25
Z#18
IF[#2GT#19]GOTO6
IF[#20EQ#0]GOTO7
#16=[#26-#18]/#20
IF[#16LT0]GOTO7
#16=#16*[-1]

N7#19=#19/2-[#[2000+#7]]
#2=#2/2-[#[2000+#7]]
#4=#4-[#[2000+#7]]
N11#31=[2*[#[2000+#7]]]*[#13/100]

#32=#19/#31
#33=#2/#32
IF[#32GT1]GOTO1
#3000=1( KEINE RECHTECKTASCHE MOEGLICH )
N1#30=#19-#4
#29=#2-#4
#28=1
#27=0.6
IF[#20EQ#0]GOTO8
G1G91Z#16F#11
GOTO9
N8G1Z#26F#11
N9WHILE[#28LEFIX[#32]]DO1
#1=#9
IF[#28NE#32]GOTO2
#1=#17
N2IF[#31GT#30]GOTO3
G90Y[#25+#33]F[#1*#27]
X[#24-#31]
#27=1
Y[#25-#33]F[#1*#27]
X[#24+#31]
Y[#25+#33]
X#24
GOTO4
N3G90Y[#25+#33]F[#1*#27]
X[#24-#30]
G3X[#24-#31]Y[#25+#29]R#4
#27=1
G1Y[#25-#29]F[#1*#27]
G3X[#24-#30]Y[#25-#33]R#4
G1X[#24+#30]
G3X[#24+#31]Y[#25-#29]R#4
G1Y[#25+#29]
G3X[#24+#30]Y[#25+#33]R#4
G1X#24
N4#28=#28+1
#31=#31+[2*[#[2000+#7]]]*[#13/100]
#33=#33+#2/#32
END1
IF[#32EQFIX[#32]]GOTO5
#27=#4-[0.001]
Y[#25+#2]F#17
X[#24-#19+#27]
G3X[#24-#19]Y[#25+#2-#27]R#27
G1Y[#25-#2+#27]
G3X[#24-#19+#27]Y[#25-#2]R#27
G1X[#24+#19-#27]
G3X[#24+#19]Y[#25-#2+#27]R#27
G1Y[#25+#2-#27]
G3X[#24+#19-#27]Y[#25+#2]R#27
G1X#24
N5IF[ABS[#5003-#26]LE0.04]GOTO1
G0G90X#24Y#25G91Z1
IF[[#26-#18]/#20NE#16]GOTO11
#16=#16-1
GOTO11
N1G0G90Z#18G91Y-0.02
G90
#1=99
M#1
N6IF[#20EQ#0]GOTO10
#16=[#26-#18]/#20
IF[#16LT0]GOTO10
#16=#16*[-1]
N10#19=#19/2-[#[2000+#7]]
#2=#2/2-[#[2000+#7]]
#4=#4-[#[2000+#7]]
N12#31=[2*[#[2000+#7]]]*[#13/100]
#32=#2/#31
IF[#32GT1]GOTO1
#3000=1( KEINE RECHTECKTASCHE MOEGLICH )
N1#33=#19/#32
#30=#19-#4
#29=#2-#4
#28=1
#27=0.6
IF[#20EQ#0]GOTO8
G1G91Z#16F#11
GOTO9
N8G1Z#26F#11
N9WHILE[#28LEFIX[#32]]DO1
#1=#9
IF[#28NE#32]GOTO2
#1=#17
N2IF[#31GT#29]GOTO3
G90X[#24+#33]F[#1*#27]
Y[#25+#31]
#27=1
X[#24-#33]F[#1*#27]
Y[#25-#31]
X[#24+#33]
Y#25
GOTO4
N3G90X[#24+#33]F[#1*#27]
Y[#25+#29]
G3X[#24+#30]Y[#25+#31]R#4
#27=1
G1X[#24-#30]F[#1*#27]
G3X[#24-#33]Y[#25+#29]R#4
G1Y[#25-#29]
G3X[#24-#30]Y[#25-#31]R#4
G1X[#24+#30]
G3X[#24+#33]Y[#25-#29]R#4
G1Y#25
N4#28=#28+1
#33=#33+#19/#32
#31=#31+[2*[#[2000+#7]]]*[#13/100]
END1
IF[#32EQFIX[#32]]GOTO5
#27=#4-[0.001]
X[#24+#19]F#17
Y[#25+#2-#27]
G3X[#24+#19-#27]Y[#25+#2]R#27
G1X[#24-#19+#27]
G3X[#24-#19]Y[#25+#2-#27]R#27
G1Y[#25-#2+#27]
G3X[#24-#19+#27]Y[#25-#2]R#27
G1X[#24+#19-#27]
G3X[#24+#19]Y[#25-#2+#27]R#27
G1Y#25
N5IF[ABS[#5003-#26]LE0.04]GOTO1

G0G90X#24Y#25
G91 Z1
G90
(G90 UND G91 WAREN IN EINEM SATZ)

IF[[#26-#18]/#20NE#16]GOTO12
#16=#16-1
GOTO12
N1G0G90Z#18G91X-0.1
G90
M99
%
TOP    
Beitrag 04.12.2014, 19:28 Uhr
suso
suso
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 12.09.2014
Beiträge: 83

4 Sätze darunter steht nochmal G90 und G91 in einem Satz wink.gif

Und es sieht so aus als wäre auch hier ein Mehrfachaufruf mit G66 nicht möglich. Fährt wieder Absolut auf X und Y.
Müsste also wieder in rein Inkremental umgemodelt werden.

Zu den Wzg korrekturen aus dem Speicher kann ich nicht viel sagen.
Ich habe zwar hier in diesem Faden schon viel von Variabel gelernt, aber mir fehlt die Zeit.
Bei diesem Makro mußt du wieder den Korrekturspeicherplatz angeben. Hier ist es gleich wie zuerst beim Kreistaschenmakro.
Nur halt bei N7 statt bei N3. Das mit dem #[2000+#7].
Leider sind da aber noch paar Sätze mehr für Kompensationsberechnung.
Für mich wäre es leichter das ganze Ding ganz neu zu schreiben :-D
Sind für mein beschränktes Hirn wieder zu viele Goto's und auch noch gleiche Satznummern ...

Angabe der Variabeln mit Nummern wäre wieder hilfreich :-)

Mal sehn ob Variabel noch lust hat. Wenn er noch 50 mal hilft, könnte ich in knapp 4 Jahren fast so gut sein wie er biggrin.gif
TOP    
Beitrag 06.12.2014, 11:56 Uhr
Variabel
Variabel
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 09.02.2006
Beiträge: 393

Soooooo

Ich hab da mal was vorbereitet.
Wie immer ohne Gewähr, da das Makro doch recht aufwendig ist und ich es nur grob überflogen habe, um alle Änderungspunkte zu finden.


%
:2002(RECHTECKTASCHE 8.1.97 BN V1.0 GEAENDERT)
IF[#18EQ#0]GOTO1
IF[#26EQ#0]GOTO1
IF[#11EQ#0]GOTO1
IF[#9EQ#0]GOTO1
IF[#13EQ#0]GOTO1
IF[#7EQ#0]GOTO1
IF[#17EQ#0]GOTO1
IF[#19EQ#0]GOTO1
IF[#2EQ#0]GOTO1
IF[#4-.002GE[#[13000+#7]-#[12000+#7]]]GOTO2
#3000=3( FEHLER D/I )
N1#3000=2( VARIABLEN UNVOLLSTAENDIG )
N2G0G90X#24Y#25
Z#18
IF[#2GT#19]GOTO6
IF[#20EQ#0]GOTO7
#16=[#26-#18]/#20
IF[#16LT0]GOTO7
#16=#16*[-1]
N7#19=#19/2-[#[13000+#7]-#[12000+#7]]
#2=#2/2-[#[13000+#7]-#[12000+#7]]
#4=#4-[#[13000+#7]-#[12000+#7]]
N11#31=[2*[#[13000+#7]-#[12000+#7]]]*[#13/100]
#32=#19/#31
#33=#2/#32
IF[#32GT1]GOTO1
#3000=1( KEINE RECHTECKTASCHE MOEGLICH )
N1#30=#19-#4
#29=#2-#4
#28=1
#27=0.6
IF[#20EQ#0]GOTO8
G1G91Z#16F#11
GOTO9
N8G1Z#26F#11
N9WHILE[#28LEFIX[#32]]DO1
#1=#9
IF[#28NE#32]GOTO2
#1=#17
N2IF[#31GT#30]GOTO3
G90Y[#25+#33]F[#1*#27]
X[#24-#31]
#27=1
Y[#25-#33]F[#1*#27]
X[#24+#31]
Y[#25+#33]
X#24
GOTO4
N3G90Y[#25+#33]F[#1*#27]
X[#24-#30]
G3X[#24-#31]Y[#25+#29]R#4
#27=1
G1Y[#25-#29]F[#1*#27]
G3X[#24-#30]Y[#25-#33]R#4
G1X[#24+#30]
G3X[#24+#31]Y[#25-#29]R#4
G1Y[#25+#29]
G3X[#24+#30]Y[#25+#33]R#4
G1X#24
N4#28=#28+1
#31=#31+[2*[#[13000+#7]-#[12000+#7]]]*[#13/100]
#33=#33+#2/#32
END1
IF[#32EQFIX[#32]]GOTO5
#27=#4-[0.001]
Y[#25+#2]F#17
X[#24-#19+#27]
G3X[#24-#19]Y[#25+#2-#27]R#27
G1Y[#25-#2+#27]
G3X[#24-#19+#27]Y[#25-#2]R#27
G1X[#24+#19-#27]
G3X[#24+#19]Y[#25-#2+#27]R#27
G1Y[#25+#2-#27]
G3X[#24+#19-#27]Y[#25+#2]R#27
G1X#24
N5IF[ABS[#5003-#26]LE0.04]GOTO1
G0G90X#24Y#25
G91Z1
G90

IF[[#26-#18]/#20NE#16]GOTO11
#16=#16-1
GOTO11
N1
G0G91Y-0.02
G0G90Z#18
G90

#1=99
M#1
N6IF[#20EQ#0]GOTO10
#16=[#26-#18]/#20
IF[#16LT0]GOTO10
#16=#16*[-1]
N10#19=#19/2-[#[13000+#7]-#[12000+#7]]
#2=#2/2-[#[13000+#7]-#[12000+#7]]
#4=#4-[#[13000+#7]-#[12000+#7]]
N12#31=[2*[#[13000+#7]-#[12000+#7]]]*[#13/100]
#32=#2/#31
IF[#32GT1]GOTO1
#3000=1( KEINE RECHTECKTASCHE MOEGLICH )
N1#33=#19/#32
#30=#19-#4
#29=#2-#4
#28=1
#27=0.6
IF[#20EQ#0]GOTO8
G1G91Z#16F#11
GOTO9
N8G1Z#26F#11
N9WHILE[#28LEFIX[#32]]DO1
#1=#9
IF[#28NE#32]GOTO2
#1=#17
N2IF[#31GT#29]GOTO3
G90X[#24+#33]F[#1*#27]
Y[#25+#31]
#27=1
X[#24-#33]F[#1*#27]
Y[#25-#31]
X[#24+#33]
Y#25
GOTO4
N3G90X[#24+#33]F[#1*#27]
Y[#25+#29]
G3X[#24+#30]Y[#25+#31]R#4
#27=1
G1X[#24-#30]F[#1*#27]
G3X[#24-#33]Y[#25+#29]R#4
G1Y[#25-#29]
G3X[#24-#30]Y[#25-#31]R#4
G1X[#24+#30]
G3X[#24+#33]Y[#25-#29]R#4
G1Y#25
N4#28=#28+1
#33=#33+#19/#32
#31=#31+[2*[#[13000+#7]-#[12000+#7]]*[#13/100]
END1
IF[#32EQFIX[#32]]GOTO5
#27=#4-[0.001]
X[#24+#19]F#17
Y[#25+#2-#27]
G3X[#24+#19-#27]Y[#25+#2]R#27
G1X[#24-#19+#27]
G3X[#24-#19]Y[#25+#2-#27]R#27
G1Y[#25-#2+#27]
G3X[#24-#19+#27]Y[#25-#2]R#27
G1X[#24+#19-#27]
G3X[#24+#19]Y[#25-#2+#27]R#27
G1Y#25
N5IF[ABS[#5003-#26]LE0.04]GOTO1
G0G90X#24Y#25
G91 Z1
G90

IF[[#26-#18]/#20NE#16]GOTO12
#16=#16-1
GOTO12
N1
G0G91X-0.1
G0G90Z#18

M99
%

Korrektur auf Werkzeugkompensationsspeicher C

G90 / G91 Problematik



Gruß Variabel


--------------------
Auch wenn deine Steuerung dir sagt, das sie das nicht kann. Gibt es doch immer einen Weg sie von Gegenteil zu überzeugen.

Ach ja. Variabel war früher Speedy1.
TOP    
Beitrag 14.12.2014, 17:57 Uhr
Chris89
Chris89
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 23.07.2014
Beiträge: 17

Hallo
Danke fürs änders
Hups habe die restlichen G90/G91 übersehen danke

habe es getestet leider kommt der Fehler (KEINE RECHTECKTASCHE MOEGLICH)



mein aktuelles Programm:

%
:2002(RECHTECKTASCHE 8.1.97 BN V1.0 GEAENDERT)
IF[#18EQ#0]GOTO1
IF[#19EQ#0]GOTO1
IF[#2EQ#0]GOTO1
IF[#26EQ#0]GOTO1
IF[#13EQ#0]GOTO1
IF[#11EQ#0]GOTO1
IF[#9EQ#0]GOTO1
IF[#17EQ#0]GOTO1
IF[#7EQ#0]GOTO1
IF[#4-.002GE[#[13000+#7]-#[12000+#7]]]GOTO2
#3000=3(FEHLER D/I)
N1#3000=2(VARIABLEN UNVOLLSTAENDIG)
N2G0G90X#24Y#25
Z#18
IF[#2GT#19]GOTO6
IF[#20EQ#0]GOTO7
#16=[#26-#18]/#20
IF[#16LT0]GOTO7
#16=#16*[-1]
N7#19=#19/2-[#[13000+#7]-#[12000+#7]]
#2=#2/2-[#[13000+#7]-#[12000+#7]]
#4=#4-[#[13000+#7]-#[12000+#7]]
N11#31=[2*[#[13000+#7]-#[12000+#7]]]*[#13/100]
#32=#19/#31
#33=#2/#32
IF[#32GT1]GOTO1
#3000=1(KEINE RECHTECKTASCHE MOEGLICH)
N1#30=#19-#4
#29=#2-#4
#28=1
#27=0.6
IF[#20EQ#0]GOTO8
G1G91Z#16F#11
GOTO9
N8G1Z#26F#11
N9WHILE[#28LEFIX[#32]]DO1
#1=#9
IF[#28NE#32]GOTO2
#1=#17
N2IF[#31GT#30]GOTO3
G90Y[#25+#33]F[#1*#27]
X[#24-#31]
#27=1
Y[#25-#33]F[#1*#27]
X[#24+#31]
Y[#25+#33]
X#24
GOTO4
N3G90Y[#25+#33]F[#1*#27]
X[#24-#30]
G3X[#24-#31]Y[#25+#29]R#4
#27=1
G1Y[#25-#29]F[#1*#27]
G3X[#24-#30]Y[#25-#33]R#4
G1X[#24+#30]
G3X[#24+#31]Y[#25-#29]R#4
G1Y[#25+#29]
G3X[#24+#30]Y[#25+#33]R#4
G1X#24
N4#28=#28+1
#31=#31+[2*[#[13000+#7]-#[12000+#7]]]*[#13/100]
#33=#33+#2/#32
END1
IF[#32EQFIX[#32]]GOTO5
#27=#4-[0.001]
Y[#25+#2]F#17
X[#24-#19+#27]
G3X[#24-#19]Y[#25+#2-#27]R#27
G1Y[#25-#2+#27]
G3X[#24-#19+#27]Y[#25-#2]R#27
G1X[#24+#19-#27]
G3X[#24+#19]Y[#25-#2+#27]R#27
G1Y[#25+#2-#27]
G3X[#24+#19-#27]Y[#25+#2]R#27
G1X#24
N5IF[ABS[#5003-#26]LE0.04]GOTO1
G0G90X#24Y#25
G91Z1
G90
IF[[#26-#18]/#20NE#16]GOTO11
#16=#16-1
GOTO11
N1G91Y-0.02
G90Z#18
#1=99
M#1
N6IF[#20EQ#0]GOTO10
#16=[#26-#18]/#20
IF[#16LT0]GOTO10
#16=#16*[-1]
N10#19=#19/2-[#[13000+#7]-#[12000+#7]]
#2=#2/2-[#[13000+#7]-#[12000+#7]]
#4=#4-[#[13000+#7]-#[12000+#7]]
N12#31=[2*[#[13000+#7]-#[12000+#7]]]*[#13/100]
#32=#2/#31
IF[#32GT1]GOTO1
#3000=1(KEINE RECHTECKTASCHE MOEGLICH)
N1#33=#19/#32
#30=#19-#4
#29=#2-#4
#28=1
#27=0.6
IF[#20EQ#0]GOTO8
G1G91Z#16F#11
GOTO9
N8G1Z#26F#11
N9WHILE[#28LEFIX[#32]]DO1
#1=#9
IF[#28NE#32]GOTO2
#1=#17
N2IF[#31GT#29]GOTO3
G90X[#24+#33]F[#1*#27]
Y[#25+#31]
#27=1
X[#24-#33]F[#1*#27]
Y[#25-#31]
X[#24+#33]
Y#25
GOTO4
N3G90X[#24+#33]F[#1*#27]
Y[#25+#29]
G3X[#24+#30]Y[#25+#31]R#4
#27=1
G1X[#24-#30]F[#1*#27]
G3X[#24-#33]Y[#25+#29]R#4
G1Y[#25-#29]
G3X[#24-#30]Y[#25-#31]R#4
G1X[#24+#30]
G3X[#24+#33]Y[#25-#29]R#4
G1Y#25
N4#28=#28+1
#33=#33+#19/#32
#31=#31+[2*[#[13000+#7]-#[12000+#7]]*[#13/100]
END1
IF[#32EQFIX[#32]]GOTO5
#27=#4-[0.001]
X[#24+#19]F#17
Y[#25+#2-#27]
G3X[#24+#19-#27]Y[#25+#2]R#27
G1X[#24-#19+#27]
G3X[#24-#19]Y[#25+#2-#27]R#27
G1Y[#25-#2+#27]
G3X[#24-#19+#27]Y[#25-#2]R#27
G1X[#24+#19-#27]
G3X[#24+#19]Y[#25-#2+#27]R#27
G1Y#25
N5IF[ABS[#5003-#26]LE0.04]GOTO1
G0G90X#24Y#25
G91Z1
G90
IF[[#26-#18]/#20NE#16]GOTO12
#16=#16-1
GOTO12
N1G91X-0.1
G90Z#18
M99
%
TOP    
Beitrag 15.12.2014, 06:33 Uhr
Variabel
Variabel
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 09.02.2006
Beiträge: 393

Hallo Chris


Probier mal diese Version.

Angehängte Datei  Rechtecktasche_V2.txt ( 2.91KB ) Anzahl der Downloads: 27


Hab einen Fehler in der Umstellung auf den anderen Werkzeugspeicher gemacht.


Ansonsten bräuchte ich den genauen Aufruf den du gemacht hast, sowie die dabei aktiven Werkzeugdaten.


Gruß Variabel


--------------------
Auch wenn deine Steuerung dir sagt, das sie das nicht kann. Gibt es doch immer einen Weg sie von Gegenteil zu überzeugen.

Ach ja. Variabel war früher Speedy1.
TOP    
Beitrag 16.12.2014, 15:32 Uhr
Chris89
Chris89
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 23.07.2014
Beiträge: 17

Hallo
Also war der Fehler nur das - statt + ?
Zwischen den [#[13000+#7]+#[12000+#7]]

werde es in meinem aktuellen Programm ändern

DANKE und Gruß Christoph
TOP    
Beitrag 17.12.2014, 08:10 Uhr
Variabel
Variabel
Level 4 = Community-Meister
****
Gruppe: Mitglied
Mitglied seit: 09.02.2006
Beiträge: 393

QUOTE (Chris89 @ 16.12.2014, 15:32 Uhr) *
Hallo
Also war der Fehler nur das - statt + ?
Zwischen den [#[13000+#7]+#[12000+#7]]

werde es in meinem aktuellen Programm ändern

DANKE und Gruß Christoph



Jap.

Kann aber viel ausmachen.


--------------------
Auch wenn deine Steuerung dir sagt, das sie das nicht kann. Gibt es doch immer einen Weg sie von Gegenteil zu überzeugen.

Ach ja. Variabel war früher Speedy1.
TOP    



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