PcRobotic

Using Productivity Plus inside Mastercam

Recommended Posts

Hello everyone,
   After 6 months research and research, my company thinking to get the "Productivity Plus inside Mastercam".   I think it is great idea to have official Q.C in side MASTERCAM and my questions are:

 

1. Their CODES are way different than G-CODES, is there a book that I read and learn about them?
2. Is there video tutorial of how to use all the functions for us to get more information to have better evaluation?


   I have search Youtube and this is what I have found so far, 



Thank you.

Share this post


Link to post
Share on other sites

Hi Steven,

Haas has recently made about 90% of their manuals and technical content available to the customer. I would very much encourage you to visit:

https://www.haascnc.com/service.html 

And scroll down the page a bit. Near the bottom is a section where you can search by 'Setting', 'G-code', or 'M-code'. Near the top of the page is a 'Search Guides and Procedures', which will actually do a "text search" through the manuals. (Can be very useful in finding information.)

I searched "Renishaw" on 'www.haascnc.com' and found the actual 'Renishaw programming manual' for the software that gets loaded onto the Haas Control.

https://www.haascnc.com/content/dam/haascnc/en/service/reference/probe/renishaw-inspection-plus-programming-manual---2008.pdf

Your machines (technically, the 'Renishaw package' that is loaded on your controls), will use the Macro Programs and Variables that are listed in this PDF manual.

One thing that is very important with the Probing Subroutines (Macro Programs), is the ability to "pass variables".

  • When you call a 'G65 Pxxxx' Program, you are telling the Fanuc (Haas) Control to "jump to a different program, execute the code in that program, and then return to the location where the 'G65 Macro call' first occurred. (We then move down to the "next line" in the NC Program, once the G65 "jump" has finished.
  • When the Control reads the 'G65 Pxxx' line, you can pass 'optional' variables after the Pxxxx program call.
  • These 'Parameters' or 'Variables', are specified with an Alpha (Letter) Address.

 

  • A typical "Circle Measuring Routine" for a Haas could look like this:
  • G65P9814D2.Z-1.S2.R1.
  • On that line, we are passing 4 Parameters to the Subroutine. (The "O9814" Macro Program.) 
  • Some variables are "required" and some variables are "optional". It all depends on 'which specific cycle' you are using, and 'which Macro Call Type' is being invoked.
  • The "Type I" variable passing limits you to something like 16 or 18 different parameters. (Letters like 'O', 'N', 'L', and 'P' are not allowed with any Macro Call.)
  • The 'Type II' variable passing allows up to 33 different parameters to be passed on the G65 line. The calling order is 'ABC', followed by ten sets of repeating 'IJK' parameters. *You must set any "empty" parameter values to "0.", in order to use the full 33 variable numbers.

Any time you make a "G65 Pxxx" Macro Call, the "Parameter Variables" you are passing get loaded into the "Local Variable Numbers". These are #1 through #33. Since the 'local variables' are getting constantly "overwritten", we typically will set "common variables" to be equal to the "local variables", so that we can make sure the values "persist" inside the Macro program.

Typically with the Renishaw package, there will always be a series of "interrelated macro programs".

So, when you first call "G65 P9814 D2. Z-2. S2. R1.", the control will "jump into" the O9814 program.

Almost immediately, (after some error checking), the O9814 subroutine will call another Subroutine, to "turn the Probe on". The Macro has logic to confirm that the Probe is actually "communicating", and once that communication link is established, the Subroutine will then call other Subroutines. There is a Subroutine for "loading Probe Calibration Parameters" that must be called before we can actually "measure" the feature.

Finally, after jumping-and-returning through several levels, the O9814 Macro will physically measure the hole/boss in question.

Once we have "probed" the feature, there will be several other Macros which get called, depending on the "measuring results". In our case, we have included the "S2." parameter, which tells the Macro to "update the G55 Work Offset Position" after the measurement has taken place. Finally, at the end of the 'O9814 Subroutine', there will be a Macro Call to "turn the Probe off".

Whenever you make a G65 Macro Call, all Parameters that are being passed, must include a Decimal Point after the number value!

 

 

 

 

 

 

  • Thanks 1

Share this post


Link to post
Share on other sites
5 hours ago, Colin Gilchrist said:

Hi Steven,

Haas has recently made about 90% of their manuals and technical content available to the customer. I would very much encourage you to visit:

https://www.haascnc.com/service.html 

And scroll down the page a bit. Near the bottom is a section where you can search by 'Setting', 'G-code', or 'M-code'. Near the top of the page is a 'Search Guides and Procedures', which will actually do a "text search" through the manuals. (Can be very useful in finding information.)

I searched "Renishaw" on 'www.haascnc.com' and found the actual 'Renishaw programming manual' for the software that gets loaded onto the Haas Control.

https://www.haascnc.com/content/dam/haascnc/en/service/reference/probe/renishaw-inspection-plus-programming-manual---2008.pdf

Your machines (technically, the 'Renishaw package' that is loaded on your controls), will use the Macro Programs and Variables that are listed in this PDF manual.

One thing that is very important with the Probing Subroutines (Macro Programs), is the ability to "pass variables".

  • When you call a 'G65 Pxxxx' Program, you are telling the Fanuc (Haas) Control to "jump to a different program, execute the code in that program, and then return to the location where the 'G65 Macro call' first occurred. (We then move down to the "next line" in the NC Program, once the G65 "jump" has finished.
  • When the Control reads the 'G65 Pxxx' line, you can pass 'optional' variables after the Pxxxx program call.
  • These 'Parameters' or 'Variables', are specified with an Alpha (Letter) Address.

 

  • A typical "Circle Measuring Routine" for a Haas could look like this:
  • G65P9814D2.Z-1.S2.R1.
  • On that line, we are passing 4 Parameters to the Subroutine. (The "O9814" Macro Program.) 
  • Some variables are "required" and some variables are "optional". It all depends on 'which specific cycle' you are using, and 'which Macro Call Type' is being invoked.
  • The "Type I" variable passing limits you to something like 16 or 18 different parameters. (Letters like 'O', 'N', 'L', and 'P' are not allowed with any Macro Call.)
  • The 'Type II' variable passing allows up to 33 different parameters to be passed on the G65 line. The calling order is 'ABC', followed by ten sets of repeating 'IJK' parameters. *You must set any "empty" parameter values to "0.", in order to use the full 33 variable numbers.

Any time you make a "G65 Pxxx" Macro Call, the "Parameter Variables" you are passing get loaded into the "Local Variable Numbers". These are #1 through #33. Since the 'local variables' are getting constantly "overwritten", we typically will set "common variables" to be equal to the "local variables", so that we can make sure the values "persist" inside the Macro program.

Typically with the Renishaw package, there will always be a series of "interrelated macro programs".

So, when you first call "G65 P9814 D2. Z-2. S2. R1.", the control will "jump into" the O9814 program.

Almost immediately, (after some error checking), the O9814 subroutine will call another Subroutine, to "turn the Probe on". The Macro has logic to confirm that the Probe is actually "communicating", and once that communication link is established, the Subroutine will then call other Subroutines. There is a Subroutine for "loading Probe Calibration Parameters" that must be called before we can actually "measure" the feature.

Finally, after jumping-and-returning through several levels, the O9814 Macro will physically measure the hole/boss in question.

Once we have "probed" the feature, there will be several other Macros which get called, depending on the "measuring results". In our case, we have included the "S2." parameter, which tells the Macro to "update the G55 Work Offset Position" after the measurement has taken place. Finally, at the end of the 'O9814 Subroutine', there will be a Macro Call to "turn the Probe off".

Whenever you make a G65 Macro Call, all Parameters that are being passed, must include a Decimal Point after the number value!

 

 

 

 

 

 

By the way, I am very curious about writing a fast statement in the macro like this:

 

"IF TOOL# IS NOT THE SAME AS H#, THEN ALARM .", how can I do that? I know some new HAAS is already built in but I also want to know what is the code so I can use for the REAL OLD HAAS.

 

Thank you.

 

================

T1 M6
(MACRO CODE SHOULD BE HERE TO CHECK)????

G43 H10 Z3.

 

Please help.

 

Thank you

Share this post


Link to post
Share on other sites
6 hours ago, Elvincnc said:

I also have a question, postprocessors are taken from the library renishaw or write in cnc software?

https://resources.renishaw.com/search?terms=post+processor&lang=en&div=&pur=&tab=dld

Base on Colin said, HAAS is already did their 90% work and I think the other part is to look at the manual he just pasted the link.  Next step is to buy the license I think.

 

Good luck to you.

Share this post


Link to post
Share on other sites

There isn't any macro code which can "look forward" in your NC Code to check the H value on the G43 line that I'm aware of.

Instead, I suggest changing the NC Program to use H#3026.

#3026 is a 'read-only' variable, which lists the "active tool in spindle".

If you change your Post to output #3026, for both H and D values, it allows you to change any Tool Number in the "M06" line, and your H and D numbers will always equal the new Tool number.

Share this post


Link to post
Share on other sites
4 hours ago, PcRobotic said:

By the way, I am very curious about writing a fast statement in the macro like this:

 

"IF TOOL# IS NOT THE SAME AS H#, THEN ALARM .", how can I do that? I know some new HAAS is already built in but I also want to know what is the code so I can use for the REAL OLD HAAS.

 

Thank you.

 

================

T1 M6
(MACRO CODE SHOULD BE HERE TO CHECK)????

G43 H10 Z3.

 

Please help.

 

Thank you

been running Haas' since 1996. They all have that H and T code agreement setting, AFAIK

Share this post


Link to post
Share on other sites
23 minutes ago, mkd said:

been running Haas' since 1996. They all have that H and T code agreement setting, AFAIK

I should have thought of this. I was so caught up in the 'is this possible with Macro-B', that I forgot about Setting 15.

Setting 15 (when enabled), does exactly what you are looking for. It ensures that the machine will alarm if the H and D codes are not identical to the T#.

  • Like 1

Share this post


Link to post
Share on other sites

It's been 10 years since I've touched a Haas, but I recall setting 15 not throwing an alarm if the the length offset was zero (H0). 

I could be wrong, but I'm pretty sure that led to a crash at one point.

Share this post


Link to post
Share on other sites
10 hours ago, Colin Gilchrist said:

There isn't any macro code which can "look forward" in your NC Code to check the H value on the G43 line that I'm aware of.

Instead, I suggest changing the NC Program to use H#3026.

#3026 is a 'read-only' variable, which lists the "active tool in spindle".

If you change your Post to output #3026, for both H and D values, it allows you to change any Tool Number in the "M06" line, and your H and D numbers will always equal the new Tool number.

 

This is what I have found for most FANUC but not sure for HAAS.  Please educate me, thank you.


%
O258(testing program)
G91 G28 Z0
T1 M6
G54 X0Y0 M3 S8500
G43 H10
IF [#4120 NE #4008] THEN #3000=1 (BAD T NUMBER)
M30
%

HAAS does not allow the "#" when I send the code into the control, any suggestions?

 

Thank you, Colin.

Share this post


Link to post
Share on other sites

You might not have the macro option on the machine if it’s giving bad code alarm.  You do have inspection plus in the machine correct? 

Share this post


Link to post
Share on other sites
On 12/31/2019 at 3:27 PM, balnh said:

You might not have the macro option on the machine if it’s giving bad code alarm.  You do have inspection plus in the machine correct? 

Don't you love how he comes back and answers you? Then it will be a few weeks before the next panic attack and then he will be back with more things off on different tangents.

  • Haha 1

Share this post


Link to post
Share on other sites
2 hours ago, 5th Axis CGI said:

Don't you love how he comes back and answers you? Then it will be a few weeks before the next panic attack and then he will be back with more things off on different tangents.

Lol no skin off my back.

Share this post


Link to post
Share on other sites
On 12/31/2019 at 3:27 PM, balnh said:

You might not have the macro option on the machine if it’s giving bad code alarm.  You do have inspection plus in the machine correct? 

yes, I do.

Share this post


Link to post
Share on other sites
On 1/4/2020 at 7:18 AM, 5th Axis CGI said:

Don't you love how he comes back and answers you? Then it will be a few weeks before the next panic attack and then he will be back with more things off on different tangents.

Hello 5th Axis,
   I am self learning as the POST writing not good as you are and I made mistakes like any others.  That is why I need people help.

 

 

Thank you for the comment.

Share this post


Link to post
Share on other sites
11 minutes ago, PcRobotic said:

Hello 5th Axis,
   I am self learning as the POST writing not good as you are and I made mistakes like any others.  That is why I need people help.

 

 

Thank you for the comment.

That is where you are mistaken I am not that good why I use 3rd Party people to do this and I focus on programming parts. You have no idea how many mistakes I have made and  big presumption how good I am. I am human just like anyone else and make my share of mistakes and know plenty of I consider better than me. Biggest reason why I don't and didn't want to only focus on posts because that is what it would take to be a good as it is someone would need to be to earn a living doing only that. I will fix small things, but gave up trying to reinvent the wheel on things like what your trying long ago. No money in it for me more money in programming parts and keeping machines running developing process and methods. I choose to focus my efforts in that direction a long time ago. 

Like I said and I will repeat I applaud your efforts, but asking for help means letting those who are helping you know they have or haven't sorry I think that is what is missing in our society today a little bit of common curiosity.

  • Thanks 1

Share this post


Link to post
Share on other sites
2 hours ago, 5th Axis CGI said:

That is where you are mistaken I am not that good why I use 3rd Party people to do this and I focus on programming parts. You have no idea how many mistakes I have made and  big presumption how good I am. I am human just like anyone else and make my share of mistakes and know plenty of I consider better than me. Biggest reason why I don't and didn't want to only focus on posts because that is what it would take to be a good as it is someone would need to be to earn a living doing only that. I will fix small things, but gave up trying to reinvent the wheel on things like what your trying long ago. No money in it for me more money in programming parts and keeping machines running developing process and methods. I choose to focus my efforts in that direction a long time ago. 

Like I said and I will repeat I applaud your efforts, but asking for help means letting those who are helping you know they have or haven't sorry I think that is what is missing in our society today a little bit of common curiosity.

Hello 5th Axis,
   I understand that somehow  3rd party software are doing really good to help us for improving.  On the other hand, we have MasterCam and SolidWorks is a bonus for us to design things, third party software is never mentioned in the supported fund. 
  

    I think you are right about doing the simulation to double, triple check my work.  In some case I have over 400 cuts of which the file size goes up to 200mb, and that causing file crash.  Back plot is now the only option of which I have limited to see what the program really doing for me.  

 

   That is why I introduced to myself the CHECKING SYSTEM and crossing my finger that it does as good as the SIMULATOR does.  Therefore, I am constantly trying to improve something that I am getting stuck with when I am having a big file.  When part crash or goes wrong, I can't just blame on the computer because the owner he never put an excuse and handing me any late paychecks.  

 

 

Thank you for your comment, 
   S.Luong

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • 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