Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

MC Postprocessor coolant commands


Recommended Posts

I should say hello and it is my first time here. I won't be around too long. I just retired and plan on working for another 4 to 6 months and then leaving the trade. I have been doing this since I was 17 and it is now time to take it easy and try something different, but I am going to give this post one last going over before I call it quits and get it where I want it.

This is if a Haas 2 axis mill

My objective here is to have my spindle turn on before the coolant comes on, but I want  the coolant to come on before the spindle turns on when the command is an M88 for

coolant through.  I don't know the language but I have been able to do a lot of massaging of the post processor  through educated guesses and trial and error. 

or flood coolant this is what I am putting out now

O3521( 121-55-50-9352 R00 )
( DATE - JAN. 28 2019 - 14:55)
( N10 T1 | 3/8 SPOTDRILL | )
G20
G0 G17 G40 G49 G80 G90
N10 T1 M6 ( 3/8 SPOTDRILL | TOOL - 1 | )
G0 G90 G54 X-13. Y0. S5000 M3
G43 H1 Z1.
M8
Z.1


For coolant through this is what I am putting out now


O3521( 121-55-50-9352 R00 )
( DATE - JAN. 28 2019 - 14:55)
( N10 T1 | 3/8 SPOTDRILL | )
G20
G0 G17 G40 G49 G80 G90
N10 T1 M6 ( 3/8 SPOTDRILL | TOOL - 1 | )
G0 G90 G54 X-13. Y0. S5000 M3
G43 H1 Z1.
M88
Z.1

For coolant through this is what I want, the spindle to turn on after the coolant.

O3521( 121-55-50-9352 R00 )
( DATE - JAN. 28 2019 - 14:55)
( N10 T1 | 3/8 SPOTDRILL | )
G20
G0 G17 G40 G49 G80 G90
N10 T1 M6 ( 3/8 SPOTDRILL | TOOL - 1 | )
G0 G90 G54 X-13. Y0.
G43 H1 Z1.
M88
S5000 M3
Z.1

MC 2017, I have tried working with scool54, either I am not formatting properly or I am putting it in the wrong place etc. If you look at the code below and see where I typed my changes start here and changes end, that is the section I am changing

psof$ #Start of file for non-zero tool number
prv_tloffno$ = c9k
pcuttype
toolchng = one
if ntools$ = one,
[
#skip single tool outputs, stagetool must be on
stagetool = m_one
!next_tool$
]
pbld, n$, *smetric, "M31" e$ #Added M31 to turn conveyor on.
pbld, n$, *sgcode, *sgplane, scc0, sg49, sg80, *sgabsinc, e$
sav_absinc = absinc$
if mi1$ <= one, #G92 Local Work coordinate system
[
absinc$ = one
pfbld, n$, sgabsinc, *sg28ref, "Z0.", e$
pfbld, n$, *sg28ref, "X0.", "Y0.", e$
pfbld, n$, sg92, *xh$, *yh$, *zh$, e$
absinc$ = sav_absinc
]
if mi1$ = three | mi1$ = four, #G52 Work Shift
[
absinc$ = one
pfbld, n$, sgabsinc, *sg28ref, "Z0.", e$
pbld, n$, sg52, *xh$, *yh$, *zh$, e$
if xh$ | yh$ | zh$, shft_flg = one
else, shft_flg = zero
absinc$ = sav_absinc
]

MY CHANGES START HERE

if scool54,
[
var1 = 10#JD variable for toolchange block number
pcom_moveb
pcheckaxis
c_mmlt$ #Multiple tool subprogram call
#ptoolcomment-suppresed so tool comment comes up on same line as tool change not before JD 5/20/2016
comment$
pcan
pbld, n$, *var1, *t$, sm06, ptoolcomment e$#add var1 for toolchange block number and tool comment JD 5/20/2016
pindex
if mi1$ > one, absinc$ = zero
pcan1, pbld, n$, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout,e$
pbld, n$, sg43, *tlngno$, pfzout, pstagetool, e$
pbld, n$, scoolant, e$
pbld, n$ *speed, *spindle, pgear, strcantext, e$
absinc$ = sav_absinc
pbld, n$, sgabsinc, e$
pcom_movea
toolchng = zero
c_msng$] #Single tool subprogram call

else,

[ var1 = 10#JD variable for toolchange block number
pcom_moveb
pcheckaxis
c_mmlt$ #Multiple tool subprogram call
#ptoolcomment-suppresed so tool comment comes up on same line as tool change not before JD 5/20/2016
comment$
pcan
pbld, n$, *var1, *t$, sm06, ptoolcomment e$#add var1 for toolchange block number and tool comment JD 5/20/2016
pindex
if mi1$ > one, absinc$ = zero
pcan1, pbld, n$, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout,
*speed, *spindle, pgear, strcantext, e$
pbld, n$, sg43, *tlngno$, pfzout, pstagetool, e$
pbld, n$, scoolant, e$
absinc$ = sav_absinc
pbld, n$, sgabsinc, e$
pcom_movea
toolchng = zero
c_msng$] #Single tool subprogram call

CHANGES END HERE and the rest is next in the post

ptlchg0$ #Call from NCI null tool change (tool number repeats)
pcuttype
toolchng0 = one
pcom_moveb
pcheckaxis
!op_id$
c_mmlt$ #Multiple tool subprogram call
comment$
pcan

pbld, n$, sgplane, e$
pspindchng
pbld, n$, scoolant, e$
if mi1$ = three | mi1$ = four, #Work coordinate shift
[
#pbld, n$, *sg28ref, "X0.", "Y0.", e$
pbld, n$, sg52, *xh$, *yh$, *zh$, e$
if xh$ | yh$ | zh$, shft_flg = one
else, shft_flg = zero
]
if mi1$ > one & workofs$ <> prv_workofs$,
[
sav_absinc = absinc$
absinc$ = zero
pbld, n$, sgabsinc, pwcs, e$# pfxout, pfyout, pfzout, pfcout, e$#removed sgabsinc pfxout pfyout pfzout(CHANGED 3-7-2015 JD-HAD ASTERIK IN FRONT)
pbld, n$, pwcs, e$
pe_inc_calc
ps_inc_calc
absinc$ = sav_absinc
]
if cuttype = zero, ppos_cax_lin
if gcode$ = one, plinout
else, prapidout#/ put asterik in front to prevent axix movement after WCS callout in multipart program/axis movement now in subs
pcom_movea
toolchng0 = zero
c_msng$ #Single tool subprogram call

 

Any help will be greatly appreciated. I have some other issues, but, one at a time.

Thank You

Jerry

 

Link to comment
Share on other sites

Hi Jerry,

Are you using an older post that you have modified over the years?

 

If you are using a modern post and have the option for the coolant backwards compatibility unchecked, you should be able to select 'before', 'with', or 'after' in your coolant parameters and the coolant will be output in the locations as you have indicated above.

 

image.png.8e332924c56f847bd1235ad53752efbd.png

 

and the output:

image.png.20adb57ac7dd74dc1844fbc51863615e.png

 

I started off with In House Solutions MPMaster post.  

 

 

 

 

 

Link to comment
Share on other sites

the machine definition and x coolant are set up correctly, I think you may miss what I am aiming for.

here is how it spits it out

G0 G90 G54 X1. Y1. S1000 M3

G43 H1 Z1.

M8 OR M88

If programmed for M08 that is fine

this is what I want it to look like if programmed for M88

G0 G90 G54 X1. Y1.

G43 H1 Z1.

M88

S1000 M3

I want the spindle to turn on after the coolant comes on, the spindle turns  on first whether I have the coolant set for with or after. I don't to want use before because then

the coolant turns on while the spindle is at machine zero and if the door is open you are soaked and you also cannot see the tool as it approaches the part. The other problem is when using coolant through we are usually doing around ten grand or better in the rpm and the spindle has to stop and brake, then the coolant comes on, and then the spindle revs back up again, causing unnecessary  wear and tear on the spindle. At thew end of the tool cycle the post would turn off the coolant then shut the spindle off. When using M88

the spindle would have to brake, shut off, then turn back on, then read the M5 and shut off again. I was able to massage to reverse that and fix it but I have not been able to do it to the beginning of the tool cycle.

 

Thank YOu

Jerry

Link to comment
Share on other sites

this is the original section from the above example

 

 

var1 = 10#JD variable for toolchange block number
pcom_moveb
pcheckaxis
c_mmlt$ #Multiple tool subprogram call
#ptoolcomment-suppresed so tool comment comes up on same line as tool change not before JD 5/20/2016
comment$
pcan
pbld, n$, *var1, *t$, sm06, ptoolcomment e$#add var1 for toolchange block number and tool comment JD
pindex
if mi1$ > one, absinc$ = zero
pcan1, pbld, n$, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout,
speed, *spindle, pgear, strcantext, e$
pbld, n$, sg43, *tlngno$, pfzout, pstagetool, e$
pbld, n$, scoolant, e$
absinc$ = sav_absinc
pbld, n$, sgabsinc, e$
pcom_movea
toolchng = zero
c_msng$ #Single tool subprogram call

Link to comment
Share on other sites
On ‎2‎/‎14‎/‎2019 at 9:01 AM, dragonworks said:

I don't know the language but I have been able to do a lot of massaging of the post processor  through educated guesses and trial and error. 

I am a bit hesitant here because I see some strange variables (var1). This is for the toolchange block number, but this available on most modern generic and free available posts(such as MPMASTER available on this site) and can be turned on simply by initializing an existing variable to an integer in the post header).

This would lead me to think that the post is either straight off the Arc (as in Noahs'), or is extremely hacked about. The problem with that is that you may have created traps and problems which only appear under certain circumstances. Does it post clean? Or do you get the "Do you want to see your errors" message when posting.

Your coolant is now converted to Xcoolant, where your coolant call appears is controlled by pcan, pcan1 and pcan2 the latter usually via pcom_movea .

Do you know how to use the debugger?

 

Link to comment
Share on other sites

It posts clean, I have been using it for years.  Anywhere you see JD is where I made a change.

here is a typical program it produces. I don't like block numbers cluttering up the program and I can find my way around easily without them.

Does it post clean? Or do you get the "Do you want to see your errors" message when posting.  If I see that alarm I go right back to the previous version.

I know how to use some of the debugger, my main problem is I don't know any computer languages. That is why I posted, I don't know the language but I have been able to do a lot of massaging of the post processor  through educated guesses and trial and error.    By trial and error I mean, make a change,  document,  post, check results, then either keep the post or go back to the previous version. I have been working in machine shops since 1969.

%
O8595( 661-20-00-0859 R01 OP5 )
( 06-04-17 TIME=HH:MM - 14:47 )
( N10 T28 | LONG 3/8 3FLT CEM | )
( N20 T29 | 8 INCH LONG 3/8 DRILL | )
( N30 T30 | 3/8 DRILL X 18 INCH LONG | )
( N40 T31 | 6 INCH #4 CENTER DRILL | )
( N50 T32 | 3/16 LONG DRILL | )
G20
G0 G17 G40 G49 G80 G90
N10 T28 M6 ( LONG 3/8 3FLT CEM | TOOL - 25 | )
G0 G90 G58 X-1. Y-1.125 S1850 M3
G43 H28 Z.1 T26
M8
G98 G83 Z-3.625 R-3.3 Q.03 F3.5
X1.
G80
M5
M9
G91 G28 Z0.
G90 M01
N20 T29 M6 ( 8 INCH LONG 3/8 DRILL | TOOL - 26 | )
G0 G90 G58 X1. Y-1.125 S1800 M3
G43 H29 Z.1 T27
M8
G98 G83 Z-5. R-3.4 Q.1 F6.
X-1.
G80
M5
M9
G91 G28 Z0.
G90 M01
N30 T30 M6 ( 3/8 DRILL X 18 INCH LONG | TOOL - 27 | )
G0 G90 G58 X1. Y-1.125 S1800 M3
G43 H30 Z.1 T28
M8
G98 G83 Z-13.113 R-3.4 Q.06 F6.
X-1.
G80
M5
M9
G91 G28 Z0.
G90 M01
N40 T31 M6 ( 6 INCH #4 CENTER DRILL | TOOL - 28 | )
G0 G90 G58 X0. Y-1.3438 S1250 M3
G43 H31 Z-3.4 T29
M8
G99 G81 Z-3.812 R-3.4 F2.5
G80
M5
M9
G91 G28 Z0.
G90 M01
N50 T32 M6 ( 3/16 LONG DRILL | TOOL - 29 | )
G0 G90 G58 X0. Y-1.3438 S2000 M3
G43 H32 Z.1 T25
M8
G98 G83 Z-7.06 R-3.4 Q.06 F6.
G80
M5
M9
G91 G28 Z0.
G0 G90 G53 Y0.
M30

 

 

Link to comment
Share on other sites
41 minutes ago, dragonworks said:

I know how to use some of the debugger, my main problem is I don't know any computer languages.

I would recommend that you get the MP documentation from your reseller. About an hour or two of reading and you will start understanding a lot more what is going on.

You will also find people much more willing and able to help if you have  more specific problems that you would be able to ask about, this is somewhat open ended.

If you run the debugger in "Run" mode it will create a trace of the postblock  path through the debugger.

Clicking on the G code being generated on the L/H side will take you to the area of the post you need to look at, as will clicking on postblocks in the trace on the R/H side.

There are probably several ways to accomplish what you want and will probably involve the following postblocks:

ptlghg_com, pretract and pcant_out at least, none of which we have seen so far.

 

Link to comment
Share on other sites

Stupid question #2

"I would recommend that you get the MP documentation from your reseller. "

Does MP stand for mastercam post processor and if not what does it stand for. ? The reason I ask is when I call them I don't want to sound as ignorant as I do here.

I know how to run the debugger  and use it to an extent or I would not have gotten as far as I have.  I have the debugger guide

I have a post processor guide which I have used or I wouldn't have gotten as far as I have.

These seem to be written for someone who is already familiar  with the language and how it works

I have searched all over the net and have not found much.  It is like trying to teach someone music theory who has very little knowledge of music.

It seems nothing starts from scratch.

Link to comment
Share on other sites
44 minutes ago, dragonworks said:

Stupid question #2

No such thing, especially where Posts are concerned.....it's very easy to cause chaos.

MP is the language that the .DLL file is written in. It is a very derived "C type" language.

The documentation is only available through your reseller, how good a response you get from your reseller varies, some would rather sell you a Post.......be persistent and insistent.

The full documentation is 10 volumes + some extras on the debugger etc.....

Including lists of postblocks and what they do.

This is basically  a reference and is best accompanied by some training. Colin Gilchrist runs semi regular Post Processer introduction classes through emastercam and is regularly here on the forum.

ALWAYS copy your original Post to work on it, that way if something goes wrong you can get back to where you started.

Link to comment
Share on other sites

I called the reseller, lest see how far I get?  Although I only have until August 17th and I retire, I would still like to learn more. I have the post backed up through every change, so I can trace it back if I have to. Ever since reading the Gold Bug  by A. E. Poe I have been interested in code and this is like trying to break one.  I know how to use if and go to, etc in G code with no problem. I have done some parametric coding on machines,  but I think without a bit of help I may have reached my limit here . I thank you for all you have done so far. There are just a few things I would like to straighten out before I leave.  My next endeavor will be multiple parts with different offsets.  I have the post now where it will call subs with M97 instead of M98 and name the subs beginning with an N instead of an O, but there are some other problems to iron out that I am working on.  They might just go with another post when I leave but my coworkers  are used to seeing and working with the programs in their present format so I would like to get it ironed out before I leave.

Thank You

Jerry

Link to comment
Share on other sites
1 hour ago, dragonworks said:

I called the reseller, lest see how far I get?

I think that as you seem to be interested, engaged and experienced you will make rapid progress .

Read the Intro., the MP processing and Quick Reference and FAQ first. These will give you an eye opening overview of what happens when you hit that button that launches the Post Processer.....

Good luck!!

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...