Haas g-code -- inneresting.....

Awl --
Mostly I've been bitching about the clumsiness/complexity of the Haas control, esp. it's miserable file-handling protocols. Hooray, Fadal....
But alladat complexity is finally yielding some fruit, as today's experimentation revealed.
I got the blast-air option with the GR510, which looks almost like coolant, except it's an extendable/retractable piston that shoots air very close to a spinning tool, controlled by M83. For chip clean out, pre-empting bird's nests, etc.
So you can make a move, cut, and blast some air on the tool.
But what about doing this WITHIN a canned drill cycle?? Really, quite a different scenario, g-code-wise.
Now, G-coders know about canned drill cycles, and calling subroutines, which when used with drill cycles, are simply lists of coordinates. Suppose these hole coordinates (for any number of holes) are in a subroutine L1000. So for a typical spot/drill/tap procedure, you'd issue a G81 for the spot, and call L1000. Then G83 for the drill, call L1000. Finally, G84 for the tap, call L1000. Ackshooly "L1000" is Fadal-speak, but no matter.... lol The point being, subroutines *greatly reduce* the possibilities of error, typos, etc. Nothing worse than tapping a hole that is, well,.... not there!!!!
L1000 might look like this:
X1. Y1. X1. Y2. X1. Y3.
for a column of holes.
AMAZINGLY, you can do sumpn like this in the subroutine:
X!. Y1. M83 P1000, where M83 is an m-code for "blast air". X1. Y2. M83 P1000 X1 Y3. M83 P1000
And then call G83 L1000
and the blast air will execute along with the holes!!!!
So when the tool finishes a hole, the Z axis pauses for 1 second (1000 ms), and the blast air blows shit off the tool.
**Right within the subroutine/canned drill cycle**!!!! Effing amazing!!!!!
Cupla side problems, tho.... The drill cycle *also* interprets the P1000 as a dwell!!!! LOL!!!! So the tool does two things. It dwells at the bottom of the hole for 1,000 ms, and then when it comes up, pauses for 1,000 ms whle the air blasts.....
Nothing is for free, I suppose. Speaking of which, dat effing blast air uses a lot of air!!!! holy shit....
But at any rate, I thought cnc-ers, g-coders out there would get a kick out of m-codes working WITHIN a canned cycle.
Hooray Haas!!
I also un-mounted the Renishaw probe. First, I don't know how the fukn thing works, it's so goddammed complicated. Second, it's a crash -- a VERY EXPENSIVE crash -- just waiting to happen. So I just took dat shit off, whilst I'm drilling, fixturing the table. What an effing RELIEF!!!!
--
EA



Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

!!!!!

,000

..

There are thousands of different ways to go about this. However you may wish to look up M97 in your Haas book. Quick and dirty subprogram call where you don't have to use "P". (Similar to "GOTO" macro statement but much easier and quicker.)
In your example, where you write:
> X!. Y1. M83 P1000, where M83 is an m-code for "blast air". > X1. Y2. M83 P1000 > X1 Y3. M83 P1000
It may come out to look something like this:
%
Bla, bla, bla
X1. Y1. M97 N5 X1. Y2. M97 N5 X1. Y3. M97 N5
N5 (sub program start) M83 P1000 (air blast 1 sec) P0 (assuming dwell is/was/you want to be, zero) M99 (sub program cancel)
Bla, bla, bla
M30 %
Tom
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

There are thousands of different ways to go about this. However you may wish to look up M97 in your Haas book. Quick and dirty subprogram call where you don't have to use "P". (Similar to "GOTO" macro statement but much easier and quicker.)
In your example, where you write:
> X!. Y1. M83 P1000, where M83 is an m-code for "blast air". > X1. Y2. M83 P1000 > X1 Y3. M83 P1000
It may come out to look something like this:
%
Bla, bla, bla
X1. Y1. M97 N5 X1. Y2. M97 N5 X1. Y3. M97 N5
N5 (sub program start) M83 P1000 (air blast 1 sec) P0 (assuming dwell is/was/you want to be, zero) M99 (sub program cancel)
Bla, bla, bla
M30 % ========================================Excellent! I will try that.... I was wondering what to do about the air dwell affecting the drill !
--
EA



Tom



Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Saturday, 4 May 2013 07:18:18 UTC+3, Existential Angst wrote:

That is neat. If you want to do stuff like this on another controller you c an use G66PXXXX. Write your PXXXX in incremental mode (G91) and do whatever you want to do then switch to absolute (G90) and exit with M99. PXXXX will be call at the end of every move after that. Cancel it with G67. I use it for threadmilling.

ed.

I have seen this mistake in lots of places, have the equipment and not use it so you don't break it. I say use it, it will help you. It might not cras h. And if it crashes you can buy another and know what to do this time, is worth the money.
There are ways to keep that probe safe, assign a pot to it and if you call that tool number by mistake the toolchange program would stop with an M0, a message and another M0.
The worst you can do with it is keep it in a drawer, at least sell it if yo u are not man enough to use it.
DanP
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

e a

can use G66PXXXX. Write your PXXXX in incremental mode (G91) and do whatev er you want to do then switch to absolute (G90) and exit with M99. PXXXX wi ll be call at the end of every move after that. Cancel it with G67. I use i t for threadmilling.

ated.

n.

e it so you don't break it. I say use it, it will help you. It might not cr ash. And if it crashes you can buy another and know what to do this time, i s worth the money.

l that tool number by mistake the toolchange program would stop with an M0, a message and another M0.

you are not man enough to use it.

Dan,
I don't think he's been trained on it yet, cause Renishaw is pretty easy and straight forward.
EA,
Which Probe did you get? Did you get the "goal posts" as well (for measuring tools and tool break detection)?
By the way make sure when you are writing macros that you leave #500- #550 alone, it's the range Renishaw uses.
Tom
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.