I guess the simple solution is to add 0.000000001 to X2, X3, Ma and Mb within the equation.
I guess the simple solution is to add 0.000000001 to X2, X3, Ma and Mb within the equation.
Hi,
I modified the Original prg. (posted by christan) & added 0.001 to MA & MB. It goes as follows -
#711= Point X 1
#721= Point Y 1
#712= Point X 2
#722= Point Y 2
#713= Point X 3
#723= Point Y 3
IF[[[#712]-[#711]]EQ[0.]]THEN[[#712]=[[#712]+0.0001]]
IF[[[#713]-[#712]]EQ[0.]]THEN[[#713]=[[#713]+0.0001]]
#715=[[#722]-[#721]]/[[#712]-[#711]]
#716=[[#723]-[#722]]/[[#713]-[#712]]
IF[#715]EQ[0.]THEN[[#715]=[#715]+0.0001]
IF[#716]EQ[0.]THEN[[#716]=[#716]+0.0001]
#714=[[[#715]*[#716]]*[[#721]-[#723]]+[[#716]*[[#711]+[#712]]]-[[#715]*[[#712]+[#713]]]]/[[2.]*[[#716]-[#715]]]
#724=[[-1.]/[#715]]*[[#714]-[[#711]+[#712]]/[2.]]+[[#721]+[#722]]/[2.]
#717=[SQR[[[[#712]-[#714]]*[[#712]-[#714]]]+[[[#722]-[#724]]*[[#722]-[#724]]]]]*[2.]
#714= X Circumcentre
#724= Y Circumcentre
#717= Diameter
I hope that there is no syntax error
Er, think we may have gone overboard with the divide by zero issue. Am I right in thinking that neither Ma or Mb can ever equal zero? Oh, hang on, I've just realised they can.....:idea: ....saying that, I'm pretty sure that it don't matter if Mb equals zero...could be wrong though (certainly wouldn't be the first time...)
Who invented this law anyway? Why is the result of a number divided by zero, not simply zero? (ie there are no zeroes in any 'real' number(?), or am I setting myself up for another fall here....)
Ashish, :stickpoke you are avoiding my question: - what are you up to and how accurate is it proving to be? Any three points will describe a circle on your CAD, but how do you know it's the correct circle? I may want to use the three point method myself for probing cycles. Is that what you are doing?
DP
ps yep those extra lines are absolutely necessary, I'm wrong....... AGAIN!!!!!!!!!!
pps Ashish if that don't work remove a couple of brackets thus: -
IF[#715EQ0.]THEN[[#715]=[#715]+0.0001]
IF[#716EQ0.]THEN[[#716]=[#716]+0.0001]
The Romans never had this bloody problem....here it is, an article about nothing in particular http://en.wikipedia.org/wiki/Division_by_zero
I am really sorry christan.... I was assuming that you were asking about the accuracy of circle centre (calculated by your MACRO Program) with respect to the real centre point (drawn geometrically in a CAD software).
Coming to your question, I don't have any such Probes to locate points on the machine. Its just for learning purpose.
Thanks for your macro prg. once again.
Ashish
Cheers Ashish, I'm glad it worked out for you, and I can now add the improvements to the macro myself for when the instance occurs at the machine (mainly for my successors' sakes, as I will have won lotto and been struck by lightning twice, before that happens).
Anyone else have thoughts on the accuracy of probing at angles? The 'effective' radius of my probe varies by about .06mm depending where I hit it....the 'shape' of the probe ends up like a tri-lobed affair, which is what I expected...just wondered how best to get around this issue :violin:
DP
Hi David,
If your application involves the manual feed of the probe onto a bore or boss, I've set up quite a few along these lines for clients for the purpose of setting workshift offsets. More accurate results are always achieved with hits being made at points close to the center line of the bore or boss. In these applications the Macro program works on diagonally opposite points, one axis at a time.
1. A hit is made at 12 and 6 o'clock on a bore in the Y axis.
2. The Macro program calculates the mid point for the current axis and moves there either in rapid or at a fast feed rate.
3. As an approximate diameter is now known, the Macro program moves the probe close to the bore in the X axis and displays a message instructing the operator to move the probe to touch the bore.
4 The probe is moved to and a touch is made at a diagonally opposite point.
5.The calculated mid points are loaded into the appropriate workshift offset.
Because the hits are being made on center line in the X axis measure, these hits can be used to get the diameter of the feature. With a manually moved probe, experience has shown that the diameter and center data calculated is more accurate in the four hit, diagonally opposite process compared to the three point process. This has nothing to do with the maths involved, but the consistency of the hits when applied on center line.
Regards,
Bill
Hi Guys,
I too agree to Bill's opinion.
A hole centre is founded accurately by 4 point method (2 hits in X axis & 2 in Y axis)...Thats actually the SOP (Standard Operating Procedure).
If the hole centre is calculated by 3 point method, then the axis movement error (such as backlash, reapitability) which can be cummulative calculated as 2-4 microns is added...Hence it may degrade the accuracy of hole centre.
Thanks
No doubt 4 points is the ultimate in accuracy (If I want to know, to really, really know, the particulars of a hole I will also check it with probe oriented 180deg and split the difference between the two sets of results).
The 3-pt approach does offer the following though: -
Its quicker
Allows you to check partial arcs
Allows you to check features with limited access
Thats why I wanted to pursue it. I was also going to use a similar routine to quickly set up work offsets when working with, say large cylinders (very often 'half' cylinders and partial segments) sitting on their ends. As my B-axis is only an indexer (and compts can be quite heavy), its a pain to clock jobs true to the pallet. In this case I would be rotating the B and probing only in the Z-direction.
Thinking about it, the problem that would actually be most relevant in my current role is the 3-pt method's inherent assumption that it is measuring a feature that has perfect circularity.....the 4-pt method wins again :tired:
DP
Yes, christain I too agree to your prespective....
For partial arcs, there is no other way than 3 pnt method to find centre of arc.
Hi Bill,
I have automatic probe working on CMM Machine but I am curious to know how a manual probe work. Does that probe illuminate light after touching the hole ?
Thanks
Ashish
Hi Ashish,
Probes that complete a circuit when brought into contact with a conductive work piece are often used on machines that have no automatic gauging system, and are used to set the work offsets and measure features etc. These devices, more often than not, complete a circuit when the probe is brought into contact with a conductive work piece and a LED is lit, accompanied with an audible signal. However, I have seen devices that turn on a LED through deflection of the probe, similar to how the probes on most CMM work, and can be used on non conductive material.
Regards,
Bill
Hi,
Thanks for your replies. I have certain doubts and they are as under -
As you told that the probe makes a noise after touching the workpiece. So, how the machine position is send to the machine control memory (to set work offset).
Does the probe send infrared signals to a RECEIVER installed on the machine?
Thanks
Ashish
Most machines that have functions for feature measurement and work shift setting etc. have a probing system that is interfaced to the control, usually using G31 skip function to move the axis. Basically, the probe is sent to a point beyond the expected target and on the way, runs into the feature launching the skip signal. This skip signal interrupts the motion move and advances execution to the next block. Normally the program will back the probe off and advances the tool for another hit at a slower feed rate, again using the skip function.
Semi automation can be achieved on machines that don’t have the fully integrated hardware by:
1. Using a User Macro program to get the probe roughly in position in Auto or MDI mode.
2. Generating a message instructing the operator to make the hit with the probe using the hand wheel.
3. Pressing cycle start with the control back in Auto or MDI mode to store the current slide position for either use later in the program, or store the value to an offset etc.
This method has many advantages over manual setting of work shifts etc, and systems can be set up to measure bores and bosses that are outside the scope of any measuring instruments that the shop may have. Partial bores and bosses can also be measured using the appropriate Macro program and manual touch probe.
Regards,
Bill
I am assuming that the positions are been stored into common variable system by commanding #101=#5021 & #102=#5022.
Am i RIGHT ?
Also you told that
"2. Generating a message instructing the operator to make the hit with the probe using the hand wheel."...
I dont know how to give instructions to the operator...Can you elaborate this point with a example.
How much a probe system cost ?
Thanks
Ashish
The coordinates where the slides where when contact with the probe was made are stored in variables, they don't necessarily have to be common variables, it depends on how you have your whole program organized. If the variables need to be read and altered by other macro programs then yes, you would use common variables. However, when storing data for the purpose of calculations locally, I prefer to use local variables.
To generate a message you set the status of #3006 high, and place your message in brackets following it as shown in the example:
#3006=1 (MESSAGE);
Conductive, probes for manual use are not expensive; USD300.00 or so.
Full auto systems run into the thousands.
Regards,
Bill
I am still wondering how the message is been generated. I will try it with an example...
If i have to tell the operator that the work offset is been set, then my macro program would be something like -
M00
#101=#5021
M00
#102=#5021
M00
#103=#5022
M00
#104=#5022
M00
#712=[#101+#102]/2
#714=[#103+#104]/2
#5221=#712
#5222=#714
#3006=1 (WORK OFFSET LOADED AUTOMATICALLY)
Is my program right ?
Thanks
Thanks Bill,
for your continuous support.
Also, can you name some of the companies who keeps such conductive probe (Does reinshaw company makes such probes ?)