Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 6

https://youtu.

be/WjxzZtN5sdw

In the variable -> GUD (global user data) you have 100 string variable.

_TXT[0]
_TXT[1]
...
...
_TXT[98]
_TXT[99]

You can using this variable to store text string when machine is off.

macro start:

VALSTR = _TXT[0]
...
...
...
macro end:
_TXT[0] = VALSTR
m30

or working only on _TXT[*] string variable without VALSTR.

enjoy!

04-16-2016, 11:46 AM
extcall function is used to run programs on a memory card or directly from your
computer. Of course, it should also work in your case, but her true destiny is
different than yours. You should use the CALL or just type the name of the program,
eg.

N10 CALL "1DRILL"


N20 CALL "2MILL"
N25 CALL "3CHAMFER"
M30
%

or

N10 1DRILL
N20 2MILL
N25 3CHAMFER
M30
%

the next thing is that if the name of the program that begins with a number that
the call must look like this:

N10 CALL "_N_1DRILL"


N20 CALL "_N_2MILL"
N25 CALL "_N_3CHAMFER"
M30
%

or

N10 _N_1DRILL
N20 _N_2MILL
N25 _N_3CHAMFER
M30
%

the last thing you're doing wrong it is to use the character "%" is not eof (end of
file). at the end of the block M30, enter the enter button to move to a new line
and all that. eg.

...
...
...
M30 <LF> <---(end of block) correct block must end a LF character if block not have
a LF can't be read.
<--- Nothing (eof)

N370 ;NOW THE PROBE WILL TOUCH OFF ON THE 730 BORE AND THE 508 BORE

N380 ;WILL MEASURE 2 BORES ON B0 SIDE


N390 G0 X0 Y0;730 DIA BORE FIRST
N400 G0 Z100 ;(SAFE PLANE IN FRONT OF PART)
N410 G1 Z=-110-15 F1000
N420 _MVAR=101 _SETVAL=730 _PRNUM=1001 _STA1=45 _INCA=90 _KNUM=0 _FA=30 _TSA=25
_VMS=0 _NMSP=1 _EVNUM=0 _CPA=0 _CPO=0
N430 CYCLE979
N440 STOPRE
N450 R60=_OVR[4];CAPTURES THE DIA IN VARIABLE R60
N460 R61=_OVR[5];CAPTURES THE X IN VARIABLE R61
N470 R62=_OVR[6];CAPTURES THE Y IN VARIABLE R62

N480 G0 X0 Y0;508 DIA BORE NEXT


N490 G1 Z=-229-15 F1000
N500 _MVAR=101 _SETVAL=508 _PRNUM=1001 _STA1=45 _INCA=90 _KNUM=0 _FA=30 _TSA=25
_VMS=0 _NMSP=1 _EVNUM=0 _CPA=0 _CPO=0
N510 CYCLE979
N520 STOPRE
N530 R63=_OVR[4];CAPTURES THE DIA IN VARIABLE R63
N540 R64=_OVR[5];CAPTURES THE X IN VARIABLE R64
N550 R65=_OVR[6];CAPTURES THE Y IN VARIABLE R65

N560 G75 Z1=0; Return Z axis to machine zero position

N570 ;NOW THE PROBE WILL TOUCH OFF ON THE 571.5 BORE
N580 G0 G90 G54 X0; CENTER PALLET IN MACHINE
N590 ;ROTATE TO B180 SIDE
N600 G0 G521 B=DC(180)
N610 STOPRE
N620 ZP=-150

N630 ;WILL MEASURE 1 BORE ON B180 SIDE


N640 G0 X0 Y0;571.5 DIA BORE
N650 G0 Z1200 ;(SAFE PLANE IN FRONT OF PART)
N660 G1 Z=1055-15 F1000
N670 _MVAR=101 _SETVAL=571.5 _PRNUM=1001 _STA1=45 _INCA=90 _KNUM=0 _FA=30 _TSA=25
_VMS=0 _NMSP=1 _EVNUM=0 _CPA=0 _CPO=0
N680 CYCLE979
N690 STOPRE
N700 R66=_OVR[4];CAPTURES THE DIA IN VARIABLE R66
N710 R67=_OVR[5];CAPTURES THE X IN VARIABLE R67
N720 R68=_OVR[6];CAPTURES THE Y IN VARIABLE R68

N730 ;NOW TO SET THE COMPARE VALUES FOR BORE ALIGNMENT


N740 ;R70 AND R71 ARE THE X AND Y COMPARE FOR B0 MEASURES BORES
N750 R70=ABS[R61]-ABS[R64];730X MINUS 508X CENTER VALUES
N760 R71=ABS[R62]-ABS[R65];730Y MINUS 508Y CENTER VALUES

N770 ;R72 AND R73 ARE THE X AND Y COMPARES OF B0 AND B180 ROTATION
N780 R72=ABS[R61]-ABS[R67];730X ON B0 MINUS 571.5X ON B180
N790 R73=ABS[R62]-ABS[R68];730Y ON B0 MINUS 571.5Y ON B180
N800 ;------------------------------------------------------------

N810 ;NEXT RUN OF INFO WILL 'WRITE' INFO TO 'WINERGYBORES' LOG

N820 DEF INT ERROR


N830 DEF STRING[10] TIME,DATE
N840 DEF STRING[40] FILENAME="/_N_WKS_DIR/_N_LOGDATA_WPD/WINERGYBORES"
N850 ;MACHINE INFO VARIABLE FOR 'DATE' IS
N860 ;MACHINE INFO VARIABLE FOR 'TIME' IS
N870 WRITE(ERROR,FILENAME,"-------------------------------------")
N880 WRITE(ERROR,FILENAME,"PROG NAME: "<<$P_PROG[0])
N890 WRITE(ERROR,FILENAME,"DATE: "<<$A_YEAR <<$A_MONTH <<$_DAY)
N900 WRITE(ERROR,FILENAME,"TIME: "<<$A_HOUR <<$A_MINUTE)
N910 WRITE(ERROR,FILENAME,"SEQUENCE NUMBER: "<<ANZPROT)
N920 WRITE(ERROR,FILENAME,"B0 730+.041-.007 BORE: "<<R60)
N930 WRITE(ERROR,FILENAME,"730 X AND Y POSITION: X"<<R61" Y"<<R62)
N940 WRITE(ERROR,FILENAME,"B0 508 BORE: "<<R63)
N950 WRITE(ERROR,FILENAME,"508 X AND Y POSITION: X"<<R64" Y"<<R65)
N960 WRITE(ERROR,FILENAME,"B180 571.5+.037-.007 BORE: "<<R66)
N970 WRITE(ERROR,FILENAME,"571.5 X AND Y POSITION: X"<<R67" Y"<<R68)
N980 WRITE(ERROR,FILENAME,"BORE ALIGNMENT FROM B0 SIDE: X"<<ABS[R70]" Y"<<ABS[R71])
N990 ;THIS COMPARES THE 730 BORE TO THE 508 BORE POSITIONS TO EACH OTHER
N1000 WRITE(ERROR,FILENAME,"BORE ALIGNMENT FROM B0 TO B180 SIDE: X"<<ABS[R72]"
Y"<<ABS[R73])
N1010 ;THIS COMPARES THE B180 571.5 BORE TO THE B0 730 BORE FOR ALIGNMENT

N1020 R80=1;THIS IS TO JUMP BORE PROBING IF RE-RAN BECAUSE OF 1685 BORE PROCESS

N1030 PROBEDONE;
N1040 L321;TURN PROBE OFF
partur
03-27-2016, 04:01 AM
N810 ;NEXT RUN OF INFO WILL 'WRITE' INFO TO 'WINERGYBORES' LOG
N820 DEF INT ERROR
N830 ;DEF STRING[10] TIME,DATE <-- NOT USE
N840 DEF STRING[40] FILENAME="/_N_WKS_DIR/_N_LOGDATA_WPD/_N_WINERGYBORES_MPF" ;OR
SPF
N850 ;MACHINE INFO VARIABLE FOR 'DATE' IS
N860 ;MACHINE INFO VARIABLE FOR 'TIME' IS
N870 WRITE(ERROR,FILENAME,"-------------------------------------")
N880 WRITE(ERROR,FILENAME,"PROG NAME: "<<$P_PROG[0])
N890 WRITE(ERROR,FILENAME,"DATE: "<<$A_YEAR <<$A_MONTH <<$_DAY)
N900 WRITE(ERROR,FILENAME,"TIME: "<<$A_HOUR <<$A_MINUTE)
N910 WRITE(ERROR,FILENAME,"SEQUENCE NUMBER: "<<ANZPROT);NO DEF OR GLOBAL OR DEF IN
LOW PROG LEVEL?? ;)
N920 WRITE(ERROR,FILENAME,"B0 730+.041-.007 BORE: "<<R60)
N930 WRITE(ERROR,FILENAME,"730 X AND Y POSITION: X"<<R61<<" Y"<<R62) ;!@#$%
FORGOT<<
N940 WRITE(ERROR,FILENAME,"B0 508 BORE: "<<R63)
N950 WRITE(ERROR,FILENAME,"508 X AND Y POSITION: X"<<R64<<" Y"<<R65) ;!@#$%
FORGOT<<
N960 WRITE(ERROR,FILENAME,"B180 571.5+.037-.007 BORE: "<<R66)
N970 WRITE(ERROR,FILENAME,"571.5 X AND Y POSITION: X"<<R67<<" Y"<<R68) ;!@#$%
FORGOT<<
N980 WRITE(ERROR,FILENAME,"BORE ALIGNMENT FROM B0 SIDE: X"<<ABS[R70] <<"
Y"<<ABS[R71])
N990 ;THIS COMPARES THE 730 BORE TO THE 508 BORE POSITIONS TO EACH OTHER
N1000 WRITE(ERROR,FILENAME,"BORE ALIGNMENT FROM B0 TO B180 SIDE: X"<<ABS[R72]<<"
Y"<<ABS[R73])
N1010 ;THIS COMPARES THE B180 571.5 BORE TO THE B0 730 BORE FOR ALIGNMENT

N1020 R80=1;THIS IS TO JUMP BORE PROBING IF RE-RAN BECAUSE OF 1685 BORE PROCESS

N1030 PROBEDONE;
N1040 L321;TURN PROBE OFF

I see problem and mark to red

ar_seliva
06-05-2015, 01:20 AM
Scurr,

I thought about creating variables in one of the GUDs; and that might work but
IIRC, one needs to power down the machine to make them 'persistent'. I'm pretty
sure that I could create array to store results, but then I'd have something like
PROBE_RESULTS(X), where X could be a variable or a literal. But I don't think that
PROBE_RESULTS(524) is much more readable than R524.

To better explain my problem, what I really want to do is something this:

"N1460 MSG(" �6,0 X 214,25 G/L RENISHAW RMP60 PROBE")


N1470 MSG(" PROBE X AND Z PIN BORES, AND SELECTED FACES")
N1480 WRITE (_ERROR,RESULTS," TOOL: �6,0 X 214,25 G/L RENISHAW RMP60 PROBE")
N1490 WRITE (_ERROR,RESULTS," START TIME
"<<$A_HOUR<<":"<<$A_MINUTE<<":"<<$A_SECOND)
N1500 G0 G17 G40 G64 G710 G90 G94
N1510 ROT
N1520 TOROTOF
N1530 STOPRE
N1540 G0 T99999999 M6
N1550 M1
N1560 T30160000
N1570 _PROBE_RESTART: ; RESTART PROBING HERE IF NEEDED
N1580 MSG(" PROBE OUTER LEFT-HAND B-PIN BORE, C0")
N1590 ROT
N1600 TOROTOF
N1610 STOPRE
N1620 G0 SUPA Z1380.0
N1630 HEAD_INDEX(0)
N1640 M1
N1650 TOFRAME
N1660 G541 G0 G17 X-4960.0 Y750.0 Z900.0 D1
N1670 G0 Y0.0
N1680 G0 Z778.0
N1690 L9800 ; INITIALIZE PROBE
N1700 L9832 ; ACTIVATE PROBE
N1710 R6 = 13 ; SELECT PROBE DATA SET FOR HEAD 5
N1720 L9831 ; AND LOAD IT
N1730 R26 = 728.0 ; SET APPROACH Z VALUE
N1740 R9 = 3000 ; SET PROTECTED MODE FEEDRATE
N1750 L9810 ; PROTECTED APPROACH
N1760 R7 = 105.0 ; �105 CORE
N1770 R17 = 25.0 ; OVERTRAVEL
N1780 R18 = -25.0 ; INTERNAL RADIAL CLEARANCE
N1790 L9814 ; PROBE BORE
N1800 R506 = RENC[35] ; SAVE PART X COORD.
N1810 R507 = RENC[36] ; SAVE PART Y COORD.
N1820 G0 Z778.0
N1830 M1
N1840 MSG(" PROBE OUTER LEFT-HAND Y-PIN FACE, C0")
N1850 G0 Y102.0
N1860 R9 = 3000
N1870 R17 = 25 ; OVERTRAVEL
N1880 R26 = 853.0 ; NOMINAL SURFACE
N1890 L9811
N1900 R508 = RENC[37] ; SAVE PART Z COORD.
N1910 G0 Z900.0
N1920 M1

N1930 MSG(" PROBE OUTER LEFT-HAND J-PIN FACE, C0")


N1940 TOFRAME
N1950 G541 G0 G17 X-3075.0 Y1155.0 Z900.0 D1
N1960 G0 Z390.0
N1970 R26 = 315.0 ; SET APPROACH Z VALUE
N1980 R9 = 3000 ; SET PROTECTED MODE FEEDRATE
N1990 L9810 ; PROTECTED APPROACH
N2000 R17 = 25 ; OVERTRAVEL
N2010 R26 = 495.0 ; NOMINAL SURFACE
N2020 L9811
N2030 R512 = RENC[37] ; SAVE PART Z COORD.
N2040 G0 Z900.0
N2050 M1

N2060 MSG(" PROBE OUTER LEFT-HAND D-PIN FACE, C0")


N2070 TOFRAME
N2080 G541 G0 G17 X-1057.346 Y-86.0 Z900.0 D1
N2090 R26 = 853.5 ; SET APPROACH Z VALUE
N2100 R9 = 3000 ; SET PROTECTED MODE FEEDRATE
N2110 L9810 ; PROTECTED APPROACH
N2120 R9 = 3000 ; SET PROTECTED MODE FEEDRATE
N2130 R17 = 25 ; OVERTRAVEL
N2140 R26 = 725.0 ; NOMINAL SURFACE
N2150 L9811
N2160 R514 = RENC[37] ; SAVE PART Z COORD.
N2170 G0 Y114.5 Z900.0
N2180 M1"

This is a very brief chunk-o-code and as you can see, there several R-parameters in
which probe results are stored. As I mentioned in the first post in this thread, I
have copy a program and insert many more probing sequences in between two of the
existing sequences. While I can continue with the last used R-parameter, R582 for
example, I want to re-order the R-parameters starting at the top of the file,
renaming each one at every instance in the file, before incrementing the R-
parameter counter.

That way, my code is readable and more easily understandable without having to
resort to searching for every instance during execution out in the shop. By the
way, this is really only a problem during debugging of the program.

I can perform the desired renaming with a decent text editor like UltraEdit, (or
even Notepad for that matter), it's just that it would be much more convenient to
have a utility do this.

I also checked with a former Siemens employee as to the avilability of such a


beast; he said that he wasn't aware of anything that would do what I want.

Thanks for your reply,

You might also like