SINUMERIK 840D - program półautomatyczny
: 31 lip 2010, 13:26
Witam
W pracy miałem zazadanie zrobić pomiar otworów w kołach, z tym żeby to mierzyć bez przyrzadu (za każdym razem koło w innym miejscu). Więc napisałem owy program, który wykonuje cykl pomiarowy i zapisuje dane w parametry R. Program ponizej
N10 T50
N20 M06
N1305 CYCLE800(0,"UGA",0,57,0,0,0,-90,0,0,0,0,0,-1,)
N1320 CYCLE352
N2000 MSG ("USTAW RENISHOWA NA PTK1 WG RYSUNKU SREDNICA 230")
N2010 M00
N2020 MSG()
N2030 _MVAR=101 _SETVAL=130 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N2040 CYCLE977
;N2050 R1=_OVR[4] ; SAVE SREDNIA OTWORU
N2060 R2=_OVR[5] ; SAVE X COORDINATE
N2070 R3=_OVR[6] ; SAVE Y COORDINATE
N2080 MSG ("PRZEPISZ DO BAZY G514 WARTOSCI R2 DO OSI X I R3 DO Y, Z=0")
N2090 M00
N2100 MSG()
N2110 MSG ("USTAW RENISOWA PONOWNIE NA PKT1 SREDNICA 230")
N2120 M00
N2130 MSG()
N2140 _MVAR=101 _SETVAL=130 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N2150 CYCLE977
N2160 R1=_OVR[4] ; SAVE SREDNIA OTWORU
N2170 R2=_OVR[5] ; SAVE X COORDINATE
N2180 R3=_OVR[6] ; SAVE Y COORDINATE
N3000 MSG ("USTAW RENISHOWA NA PTK2 WG RYSUNKU SREDNICA 210")
N3010 M00
N3020 MSG()
N3030 _MVAR=101 _SETVAL=110 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N3040 CYCLE977
N3050 R4=_OVR[4] ; SAVE SREDNIA OTWORU
N3060 R5=_OVR[5] ; SAVE X COORDINATE
N3070 R6=_OVR[6] ; SAVE Y COORDINATE
N4000 MSG ("USTAW RENISHOWA NA PTK3 WG RYSUNKU SREDNICA 95")
N4010 M00
N4020 MSG()
N4030 _MVAR=101 _SETVAL=10 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N4040 CYCLE977
N4050 R7=_OVR[4] ; SAVE SREDNIA OTWORU
N4060 R8=_OVR[5] ; SAVE X COORDINATE
N4070 R9=_OVR[6] ; SAVE Y COORDINATE
N5000 MSG ("USTAW RENISHOWA NA PTK4 WG RYSUNKU SREDNICA 30")
N5010 M00
N5020 MSG()
N5030 _MVAR=101 _SETVAL=5 _PRNUM=1 _KNUM=0 _FA=50 _TSA=50 _VMS=0 _NMSP=1
N5040 CYCLE977
N5050 R10=_OVR[4] ; SAVE SREDNIA OTWORU
N5060 R11=_OVR[5] ; SAVE X COORDINATE
N5070 R12=_OVR[6] ; SAVE Y COORDINATE
N6000 MSG ("USTAW RENISHOWA NA PTK5 WG RYSUNKU SREDNICA 210")
N6010 M00
N6020 MSG()
N6030 _MVAR=101 _SETVAL=110 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N6040 CYCLE977
N6050 R13=_OVR[4] ; SAVE SREDNIA OTWORU
N6060 R14=_OVR[5] ; SAVE X COORDINATE
N6070 R15=_OVR[6] ; SAVE Y COORDINATE
N7000 MSG ("USTAW RENISHOWA NA PTK6 WG RYSUNKU SREDNICA 95")
N7010 M00
N7020 MSG()
N7030 _MVAR=101 _SETVAL=10 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N7040 CYCLE977
N7050 R16=_OVR[4] ; SAVE SREDNIA OTWORU
N7060 R17=_OVR[5] ; SAVE X COORDINATE
N7070 R18=_OVR[6] ; SAVE Y COORDINATE
N8000 MSG ("USTAW RENISHOWA NA PTK7 WG RYSUNKU SREDNICA 30")
N8010 M00
N8020 MSG()
N8030 _MVAR=101 _SETVAL=5 _PRNUM=1 _KNUM=0 _FA=50 _TSA=50 _VMS=0 _NMSP=1
N8040 CYCLE977
N8050 R19=_OVR[4] ; SAVE SREDNIA OTWORU
N8060 R20=_OVR[5] ; SAVE X COORDINATE
N8070 R21=_OVR[6] ; SAVE Y COORDINATE
CYCLE352
CYCLE800()
T0
M06
STOPRE
;**********************************************************************
M30
Z tym że operator musi za każdym razem jak sie zatrzymuje program przy danym MSG ręcznie najechac głowica w odpowiednie punkty. Jak już najechał na dany punkt i puszcza program dalej to głowica wraca na wcześniejsza pozycje a nie dokonuje pomiaru. I tu moje pytanie czy jest jakas komenda (polecenie) żeby głowica nie wracała na pozycje przed ręczna jej zmiana tylko wykonywała pomiar (zastanawiam sie czy jak wpisze stopre czy to coś pomoże)????
I drugie pytanie czy można jakoś skrócic bloki od N2000 do N2180 - chodzi o to że jak wykona pomiar pierwszy to automatycznie czyści (zeruje) baze G514 i wpisuje tam współrzedne (ustala naszą nową baze) tym samym parametr R2 i R3 będa wynosic 0 wzgledem bazy G514 a w R1 zostanie wpisana wartość średnicy.
Dzięki za pomoc
Pozdrawiam
Marcin
W pracy miałem zazadanie zrobić pomiar otworów w kołach, z tym żeby to mierzyć bez przyrzadu (za każdym razem koło w innym miejscu). Więc napisałem owy program, który wykonuje cykl pomiarowy i zapisuje dane w parametry R. Program ponizej
N10 T50
N20 M06
N1305 CYCLE800(0,"UGA",0,57,0,0,0,-90,0,0,0,0,0,-1,)
N1320 CYCLE352
N2000 MSG ("USTAW RENISHOWA NA PTK1 WG RYSUNKU SREDNICA 230")
N2010 M00
N2020 MSG()
N2030 _MVAR=101 _SETVAL=130 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N2040 CYCLE977
;N2050 R1=_OVR[4] ; SAVE SREDNIA OTWORU
N2060 R2=_OVR[5] ; SAVE X COORDINATE
N2070 R3=_OVR[6] ; SAVE Y COORDINATE
N2080 MSG ("PRZEPISZ DO BAZY G514 WARTOSCI R2 DO OSI X I R3 DO Y, Z=0")
N2090 M00
N2100 MSG()
N2110 MSG ("USTAW RENISOWA PONOWNIE NA PKT1 SREDNICA 230")
N2120 M00
N2130 MSG()
N2140 _MVAR=101 _SETVAL=130 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N2150 CYCLE977
N2160 R1=_OVR[4] ; SAVE SREDNIA OTWORU
N2170 R2=_OVR[5] ; SAVE X COORDINATE
N2180 R3=_OVR[6] ; SAVE Y COORDINATE
N3000 MSG ("USTAW RENISHOWA NA PTK2 WG RYSUNKU SREDNICA 210")
N3010 M00
N3020 MSG()
N3030 _MVAR=101 _SETVAL=110 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N3040 CYCLE977
N3050 R4=_OVR[4] ; SAVE SREDNIA OTWORU
N3060 R5=_OVR[5] ; SAVE X COORDINATE
N3070 R6=_OVR[6] ; SAVE Y COORDINATE
N4000 MSG ("USTAW RENISHOWA NA PTK3 WG RYSUNKU SREDNICA 95")
N4010 M00
N4020 MSG()
N4030 _MVAR=101 _SETVAL=10 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N4040 CYCLE977
N4050 R7=_OVR[4] ; SAVE SREDNIA OTWORU
N4060 R8=_OVR[5] ; SAVE X COORDINATE
N4070 R9=_OVR[6] ; SAVE Y COORDINATE
N5000 MSG ("USTAW RENISHOWA NA PTK4 WG RYSUNKU SREDNICA 30")
N5010 M00
N5020 MSG()
N5030 _MVAR=101 _SETVAL=5 _PRNUM=1 _KNUM=0 _FA=50 _TSA=50 _VMS=0 _NMSP=1
N5040 CYCLE977
N5050 R10=_OVR[4] ; SAVE SREDNIA OTWORU
N5060 R11=_OVR[5] ; SAVE X COORDINATE
N5070 R12=_OVR[6] ; SAVE Y COORDINATE
N6000 MSG ("USTAW RENISHOWA NA PTK5 WG RYSUNKU SREDNICA 210")
N6010 M00
N6020 MSG()
N6030 _MVAR=101 _SETVAL=110 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N6040 CYCLE977
N6050 R13=_OVR[4] ; SAVE SREDNIA OTWORU
N6060 R14=_OVR[5] ; SAVE X COORDINATE
N6070 R15=_OVR[6] ; SAVE Y COORDINATE
N7000 MSG ("USTAW RENISHOWA NA PTK6 WG RYSUNKU SREDNICA 95")
N7010 M00
N7020 MSG()
N7030 _MVAR=101 _SETVAL=10 _PRNUM=1 _KNUM=0 _FA=100 _TSA=100 _VMS=0 _NMSP=1
N7040 CYCLE977
N7050 R16=_OVR[4] ; SAVE SREDNIA OTWORU
N7060 R17=_OVR[5] ; SAVE X COORDINATE
N7070 R18=_OVR[6] ; SAVE Y COORDINATE
N8000 MSG ("USTAW RENISHOWA NA PTK7 WG RYSUNKU SREDNICA 30")
N8010 M00
N8020 MSG()
N8030 _MVAR=101 _SETVAL=5 _PRNUM=1 _KNUM=0 _FA=50 _TSA=50 _VMS=0 _NMSP=1
N8040 CYCLE977
N8050 R19=_OVR[4] ; SAVE SREDNIA OTWORU
N8060 R20=_OVR[5] ; SAVE X COORDINATE
N8070 R21=_OVR[6] ; SAVE Y COORDINATE
CYCLE352
CYCLE800()
T0
M06
STOPRE
;**********************************************************************
M30
Z tym że operator musi za każdym razem jak sie zatrzymuje program przy danym MSG ręcznie najechac głowica w odpowiednie punkty. Jak już najechał na dany punkt i puszcza program dalej to głowica wraca na wcześniejsza pozycje a nie dokonuje pomiaru. I tu moje pytanie czy jest jakas komenda (polecenie) żeby głowica nie wracała na pozycje przed ręczna jej zmiana tylko wykonywała pomiar (zastanawiam sie czy jak wpisze stopre czy to coś pomoże)????
I drugie pytanie czy można jakoś skrócic bloki od N2000 do N2180 - chodzi o to że jak wykona pomiar pierwszy to automatycznie czyści (zeruje) baze G514 i wpisuje tam współrzedne (ustala naszą nową baze) tym samym parametr R2 i R3 będa wynosic 0 wzgledem bazy G514 a w R1 zostanie wpisana wartość średnicy.
Dzięki za pomoc
Pozdrawiam
Marcin