From: Ray H. <re...@up...> - 2004-03-18 04:23:01
|
Being psychic, there is a message coming along soon that asks about=20 probing within a g-code program. Yes it's in RS274NGC -----snippet 3.5.9 Straight Probe - G38.2 3.5.9.1 The Straight Probe Command Program G38.2 X- Y- Z- A- B- C- to perform a straight probe operation.=20 The rotational axis words are allowed, but it is better to omit them. If = rotational axis words are used, the numbers must be the same as the=20 current position numbers so that the rotational axes do not move. The=20 linear axis words are optional, except that at least one of them must be = used. The tool in the spindle must be a probe. It is an error if: =B7 the current point is less than 0.254 millimeter or 0.01 inch from the= =20 programmed point. =B7 G38.2 is used in inverse time feed rate mode, =B7 any rotational axis is commanded to move, =B7 no X, Y, or Z-axis word is used. In response to this command, the machine moves the controlled point=20 (which should be at the end of the probe tip) in a straight line at the=20 current feed rate toward the programmed point. If the probe trips, the=20 probe is retracted slightly from the trip point at the end of command=20 execution. If the probe does not trip even after overshooting the=20 programmed point slightly, an error is signalled. After successful probing, parameters 5061 to 5066 will be set to the=20 coordinates of the location of the controlled point at the time the=20 probe tripped. 3.5.9.2 Using the Straight Probe Command Using the straight probe command, if the probe shank is kept nominally=20 parallel to the Z-axis (i.e., any rotational axes are at zero) and the=20 tool length offset for the probe is used, so that the controlled point=20 is at the end of the tip of the probe: =B7 without additional knowledge about the probe, the parallelism of a=20 face of a part to the XY-plane may, for example, be found. =B7 if the probe tip radius is known approximately, the parallelism of a = face of a part to the YZ or XZ-plane may, for example, be found. =B7 if the shank of the probe is known to be well-aligned with the Z-axis= =20 and the probe tip radius is known approximately, the center of a=20 circular hole, may, for example, be found. =B7 if the shank of the probe is known to be well-aligned with the Z-axis= =20 and the probe tip radius is known precisely, more uses may be made of=20 the straight probe command, such as finding the diameter of a circular ho= le. If the straightness of the probe shank cannot be adjusted to high=20 accuracy, it is desirable to know the effective radii of the probe tip=20 in at least the +X, -X, +Y, and -Y directions. These quantities can be=20 stored in parameters either by being included in the parameter file or=20 by being set in an RS274/NGC program. Using the probe with rotational axes not set to zero is also feasible.=20 Doing so is more complex than when rotational axes are at zero, and we=20 do not deal with it here. 3.5.9.3 Example Code As a usable example, the code for finding the center and diameter of a=20 circular hole is shown in Table 6. For this code to yield accurate=20 results, the probe shank must be well-aligned with the Z-axis, the cross = section of the probe tip at its widest point must be very circular, and=20 the probe tip radius (i.e., the radius of the circular cross section)=20 must be known precisely. If the probe tip radius is known only=20 approximately (but the other conditions hold), the location of the hole=20 center will still be accurate, but the hole diameter will not. In Table 6, an entry of the form <description of number> is meant to be=20 replaced by an actual number that matches the description of number.=20 After this section of code has executed, the X-value of the center will=20 be in parameter 1041, the Y-value of the center in parameter 1022, and=20 the diameter in parameter 1034. In addition, the diameter parallel to=20 the X-axis will be in parameter 1024, the diameter parallel to the=20 Y-axis in parameter 1014, and the difference (an indicator of=20 circularity) in parameter 1035. The probe tip will be in the hole at the = XY center of the hole. The example does not include a tool change to put a probe in the=20 spindle. Add the tool change code at the beginning, if needed. N010 (probe to find center and diameter of circular hole) N020 (This program will not run as given here. You have to) N030 (insert numbers in place of <description of number>.) N040 (Delete lines N020, N030, and N040 when you do that.) N050 G0 Z <Z-value of retracted position> F <feed rate> N060 #1001=3D<nominal X-value of hole center> N070 #1002=3D<nominal Y-value of hole center> N080 #1003=3D<some Z-value inside the hole> N090 #1004=3D<probe tip radius> N100 #1005=3D[<nominal hole diameter>/2.0 - #1004] N110 G0 X#1001 Y#1002 (move above nominal hole center) N120 G0 Z#1003 (move into hole - to be cautious, substitute G1 for G0 her= e) N130 G38.2 X[#1001 + #1005] (probe +X side of hole) N140 #1011=3D#5061 (save results) N150 G0 X#1001 Y#1002 (back to center of hole) N160 G38.2 X[#1001 - #1005] (probe -X side of hole) N170 #1021=3D[[#1011 + #5061] / 2.0] (find pretty good X-value of hole ce= nter) N180 G0 X#1021 Y#1002 (back to center of hole) N190 G38.2 Y[#1002 + #1005] (probe +Y side of hole) N200 #1012=3D#5062 (save results) N210 G0 X#1021 Y#1002 (back to center of hole) N220 G38.2 Y[#1002 - #1005] (probe -Y side of hole) N230 #1022=3D[[#1012 + #5062] / 2.0] (find very good Y-value of hole cent= er) N240 #1014=3D[#1012 - #5062 + [2 * #1004]] (find hole diameter in Y-direc= tion) N250 G0 X#1021 Y#1022 (back to center of hole) N260 G38.2 X[#1021 + #1005] (probe +X side of hole) N270 #1031=3D#5061 (save results) N280 G0 X#1021 Y#1022 (back to center of hole) N290 G38.2 X[#1021 - #1005] (probe -X side of hole) N300 #1041=3D[[#1031 + #5061] / 2.0] (find very good X-value of hole cent= er) N310 #1024=3D[#1031 - #5061 + [2 * #1004]] (find hole diameter in X-direc= tion) N320 #1034=3D[[#1014 + #1024] / 2.0] (find average hole diameter) N330 #1035=3D[#1024 - #1014] (find difference in hole diameters) N340 G0 X#1041 Y#1022 (back to center of hole) N350 M2 (that's all, folks) -----end of snip Hope this helps Ray Mark Pictor wrote: > Hello Sven. >=20 > Yes, you can do probing with EMC. >=20 > For more info, see > http://www.linuxcnc.org/handbook/part2/probe1.html >=20 > ***Ray - this is on linuxcnc.org, but doesn't seem to > be in the newer manual on sourceforge?!*** >=20 > Mark >=20 > --- Sven-=C5ke_Larsson <sv...@sv...> wrote: >=20 >>Hi again, >> >>Interesting answers from all of you guys, but I'm >>still looking for some >>answer on my two main questions. ;-) >>What is the latest known kernel version I can get it >>running on, and can I >>probe with EMC? I can't find any clear answers about >>any of these two. >> >>--S >> >>-----Ursprungligt meddelande----- >>Fr=E5n: emc...@li... >>[mailto:emc...@li...]F=F6r >>jmk...@at... >>Skickat: den 17 mars 2004 21:17 >>Till: emc...@li... >>=C4mne: Re: [Emc-users] Latest version >> >> >>Mike Loser wrote: >> >> >>>Can you give me any tips on how to set up emc to >>>generate the step pulses externally? Does it send >>>out a relative position count every servo cycle >>>to the parallel port? Does it require modifying >>>source code or just config changes? >> >>Depends on the hardware you intend to use to >>generate >>the step pulses. Jon Elson's Universal Stepper >>Controller >>is one choice, he already has an EMC driver for it, >>so >>no source code changes should be needed. >>His webpage is at >>http://pico-systems.com/univstep.html >>Contact Jon for details and help. >> >>I think there are other options as well, but I'm >>less >>familiar with them. >> >> >>>I'd like to program a dsp to do the time critical >>>and PID stuff. I've used Motorola's dsp56800 >> >>hybrid >> >>>dsp's before. They're fast and very easy to use >> >>because >> >>>they have built in hardware support for quadrature >>>encoders etc. >> >>Sounds like a bit of re-inventing to me, but that's >>OK. >> >>If you do that you will certainly need to hack ECM >>source >>code to interface to your DSP. We are currently >>working >>on a significant addition to EMC called HAL >>(hardware >>abstraction layer) that is intended to make >>interfacing >>to hardware more modular and hopefully easier. >> >>Regards, >> >>John Kasunich >> >> >> >=20 > ------------------------------------------------------- >=20 >>This SF.Net email is sponsored by: IBM Linux >>Tutorials >>Free Linux tutorial presented by Daniel Robbins, >>President and CEO of >>GenToo technologies. Learn everything from >>fundamentals to system >> >=20 > administration.http://ads.osdn.com/?ad_id=3D1470&alloc_id=3D3638&op=3Dc= lick >=20 >>_______________________________________________ >>Emc-users mailing list >>Emc...@li... >> >=20 > https://lists.sourceforge.net/lists/listinfo/emc-users >=20 >> >> >> > ------------------------------------------------------- >=20 >>This SF.Net email is sponsored by: IBM Linux >>Tutorials >>Free Linux tutorial presented by Daniel Robbins, >>President and CEO of >>GenToo technologies. Learn everything from >>fundamentals to system >> >=20 > administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=3Dclick >=20 >>_______________________________________________ >>Emc-users mailing list >>Emc...@li... >> >=20 > https://lists.sourceforge.net/lists/listinfo/emc-users >=20 >=20 > __________________________________ > Do you Yahoo!? > Yahoo! Mail - More reliable, more storage, less spam > http://mail.yahoo.com >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=3D1470&alloc_id=3D3638&op=3Dc= lick > _______________________________________________ > Emc-users mailing list > Emc...@li... > https://lists.sourceforge.net/lists/listinfo/emc-users >=20 > . >=20 |