Jump to content

Welcome to eMastercam.com
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account
Photo

Editing Generic Fanuc 5X Mill


16 replies to this topic

#1
roland_1

roland_1

    Member

  • Members
  • PipPip
  • 55 posts
  • Location:Cleveland, OH
Hi to everyone,
is there someone who can briefly explain how Mastercam postprocessing works.
I want to make a post from Generic Fanuc 5X Mill and I read all documentation (MX5 NCI & Parameter Ref, Post debugger and Ref. Guide) but there are no explanations.
First I started to change in MD to have rotary axes above the WCS. (also I can't get rid of having my WCS referenced with default origin. I don't care for default origin, I want to have my WCS as an only reference for T-es). But in a code I can see that it rotates bout WCS origin and not where my A-axis zero is in MD. I found in a post where I can change the value for shifting of A axis zero, but I want to set it in my MD and to force the post to read it.

Than I found that there are no detail explanation about post. If I am right, MX5 generates NCI file with data and some other type which store data in memory and that is inaccessible. And then those data go thru post two lines at a time. (but how post knows that it needs to read lines in a pairs, I cannot find where it is set in a post). And how I can know which data are predefined variables, there is no list in the documentation. and in which programming language is post written.
Is there any documentation about structure of a post and about data flows till Gcode.
Thanks!

#2
Leigh @ Race Face

Leigh @ Race Face

    Advanced Member

  • Members
  • PipPipPip
  • 2,298 posts
  • Location:Vancouver, BC
I would suggest to you that with no previous post editing experience in Mastercam, developing your own 5-axis post is just asking for trouble. Your best bet is to buy a proven post from someone that has experience building them. If you want to learn post editing for Mastercam, start out with a 3-axis machine. If you have access to Vericut, building a 5-axis post would be a different story, but if you can afford that software, you would have already bought a post, I'm sure.

Sorry I can't really offer anything that would more directly answer your questions, but the small amount of post editing I know about was learned through simple trial and error.

#3
K2csq7

K2csq7

    Advanced Member

  • Members
  • PipPipPip
  • 2,362 posts
  • Location:CT
In the main forum one of the topics at the top will have information about accessing the FTP site we use, on that site in the "mastercam" folder you will see a folder for "Text_&_post_files_&_misc", in there you will find a folder "V9 MP". That folder contains the version 9 post referance guide, it is a bit out of date but not that much has changed.

Welcome to the forum and as Leigh stated, don't get in over your head before you get your feet wet! Don't forget about your reseller, they are there to support you and probably have the most up to date documentation.

#4
EX-wccprogrammer

EX-wccprogrammer

    Humorless Wanker

  • Members
  • PipPipPip
  • 635 posts
  • Location:Gardena, California
If you want to understand how 5-Axis programming works, you need to understand a few truths:

#1) Up is always up.
#2) Origin is always origin.
#3) If you mess with either of the above, you are headed for disaster.

The WCS is like the satellite array that anchors the GPS system. It is THE reference that ALL locations are measured from. If you mess with the WCS, it changes ALL of the data output to the NCI when posting. I consider it the 'Third Rail' of MasterCam, it is safest to leave it alone.

5-Axis calculations are done with the difference between the T/Cplane and the WCS in all standard toolpaths. For multiaxis toolpath routines, the angles are calculated from the difference between the XYZ and UVW values. (Keep in mind that all of these change if you mess with the WCS)

Regardless of your particular machine definition, MC will always rotate around origin. It is up to the post-processor file to perform the necessary calculations to position the machine properly to place the tool tip per the CAD file.

A good 5-Axis post is no easy task, and I would suggest that you get expert help in developing one for your machine.

HTH

#5
roland_1

roland_1

    Member

  • Members
  • PipPip
  • 55 posts
  • Location:Cleveland, OH
Thank to all for replies and suggestions.
I understand how it works with multiaxes and WCS perfectly. But in machine definition it is possible to set your zero positions of rotary axes shifted from origin. That should be shifted from WCS. That means that post should write a code that rotates rotational axes where thay are set in MD, and not about WCS origin.
That is what I want to test and set. I know that I can set WCS in rotation place, but I want to manage to compel the post to read my MD and to post the code in accordance with MD if there is that possibility.
But there are problems to set the post to read all that variables and to write it in a G code. That is why I want to find in more detal how it works, and how data flowes thru posting.

Thanks!

#6
K2csq7

K2csq7

    Advanced Member

  • Members
  • PipPipPip
  • 2,362 posts
  • Location:CT
I don't think that is the "right" way to do it. Not saying it can't be done, but that's not how my system handles it.
Read the first couple pages in your post, it will tell you how this stuff should be handled....

#Axis Offsetting:
# This post is designed to support axis offset and zero shifts to handle
# cases where 1) the primary and secondary axis do not intersect and
# 2) where the program zero point is not set at the primary and secondary
# axis intersection.  Always select the WCS origin to be the zero point
# relative to the machine model when creating toolpaths in Mastercam.
# The zero point should be selected as the primary and secondary
# axis intersections whenever possible.
# When mi6 is off, the assumption is made that the zero position is
# set in the control at a datum.  This is disabled in all cases for
# 5 axis toolpaths (including polar and axis substitution).
# The offsets are set relative to the machine base matrix (matb1-matb9).
# The machine zero point must be on the primary or secondary axis and
# the shift (saxisx, saxisy, saxisz) describes where the rotation is  
# relative to the zero point.
#Table/Table configuration:
# All 3 axis offsets are supported.


#7
CJep

CJep

    Advanced Member

  • Resellers
  • PipPipPip
  • 1,440 posts
  • Location:South East PA
Roland,
Those shifts that you see in the post are typically used to adjust the center of rotation for the axis. On some machines the A,B,C center rotation may not intersect at the same position and the shifts can be used to adjust for that.

I would reiterate that developing a 5axis post as a first project is kinda' like tryin' to qualify at the Daytona 500 after just completing driver ed

You may have noticed there is a psb file associated with the post,...you do not have access to that file so there is no way to edit it.

#8
EX-wccprogrammer

EX-wccprogrammer

    Humorless Wanker

  • Members
  • PipPipPip
  • 635 posts
  • Location:Gardena, California

... That means that post should write a code that rotates rotational axes where thay are set in MD, and not about WCS origin.
That is what I want to test and set. I know that I can set WCS in rotation place, but I want to manage to compel the post to read my MD and to post the code in accordance with MD if there is that possibility.
But there are problems to set the post to read all that variables and to write it in a G code. That is why I want to find in more detal how it works, and how data flowes thru posting.


The post can access a wide variety of information, but I do not believe that information from the MD configuration is passed to the NCI. You would need to define all related information to variables inside the post. This would be the most efficient way to get your machine specifics into the post, as they do not change. Then write the calculations to take the machine variables into account.

Ultimately, you will be writing a LOT of formulas. Good Luck!

HTH

#9
roland_1

roland_1

    Member

  • Members
  • PipPip
  • 55 posts
  • Location:Cleveland, OH

The post can access a wide variety of information, but I do not believe that information from the MD configuration is passed to the NCI. You would need to define all related information to variables inside the post. This would be the most efficient way to get your machine specifics into the post, as they do not change. Then write the calculations to take the machine variables into account.

Ultimately, you will be writing a LOT of formulas. Good Luck!

HTH



It seems to me also like that.

But can you explain then one thing how it works.
You said that you think that those data from MD are not in the NCI. So we need to dafine them in a post. OK, but that mean that data first go to post, and than the post tells which data to be written in NCI, and then post read them again and process.
Or data are in NCI by default and post read them in accordance with variables set.

Keith A-1,
i also have similar description in my post. but if I understand correctly they suggest thatit is possible for post to process cases when rotary origin is shifted. if you have 5 axis and shifted rotary axes you must set that shift in MD. because you can have only 1 WCS, you cannot set both rotary axes in origin. fortunately I dont have that case in reality, but I want to test the software.

#10
roland_1

roland_1

    Member

  • Members
  • PipPip
  • 55 posts
  • Location:Cleveland, OH
thanks to all others. I will read and check when I will have more time.

#11
K2csq7

K2csq7

    Advanced Member

  • Members
  • PipPipPip
  • 2,362 posts
  • Location:CT

if you have 5 axis and shifted rotary axes you must set that shift in MD post.

^ is how mine is done, not in the MD, but in the post...

#12
CJep

CJep

    Advanced Member

  • Resellers
  • PipPipPip
  • 1,440 posts
  • Location:South East PA
Roland,
The post and NCI file are in direct contact with one another. If you have the post open in the Mcam editor you'll see predefined post blocks that show up in red ( pheader$ )that is a direct link to the NCI file.

There are various functions in the post that are determined by the machine or control definitions (arc output R value or I,J,K is determined by the control def )

If you're really determined to learn post editing, I would suggest taking a post editing class. B)

#13
EX-wccprogrammer

EX-wccprogrammer

    Humorless Wanker

  • Members
  • PipPipPip
  • 635 posts
  • Location:Gardena, California

...
Or data are in NCI by default and post read them in accordance with variables set.
....


This would be the case. There are 2 different files involved in 'posting'. One is a compiled executable that generates the NCI( and ultimately NC file). The other (.pst) file is an editable manipulation file that establishes the format and content of the NC file. This file can not write to the NCI, only read from it. A good amount of information is passed to the NCI via parameters and variables, which can be manipulated and modified (in .pst) for desired output. This modified data then returns to the executable for NC generation.

Machine information such as pivot lengths, etc. should be assigned to a variable inside the .pst file and calculated there for proper NC output. It is my understanding that the MD in Mastercam is solely for verification/machine-simulation purposes and has no factor in posting.

#14
CJep

CJep

    Advanced Member

  • Resellers
  • PipPipPip
  • 1,440 posts
  • Location:South East PA

It is my understanding that the MD in Mastercam is solely for verification/machine-simulation purposes and has no factor in posting.


There are functions in the machine def that the post responds to,....for instance shutting down the rotary assignment in the axis combinations for 3axis output in the VMC when using a 4axis post, coolant commands in the general machine parameters. It has more to due with how much has been associated between the files.

#15
roland_1

roland_1

    Member

  • Members
  • PipPip
  • 55 posts
  • Location:Cleveland, OH
there are parameters for MD. Every field has its own parameter number. They all are in NCI Reference Guide. And everybody can manage them in a post. But problem is because we dont have the basic data how that works. They put there in Reference guide how to read parameters from MD.
But there is not enough explanation.
As I can understand in MD parameters are placed in a lines, and lines are always in pairs. So you have first line which specify parameters and second line that describe that parameters. But how post read that we can just guess without other data. I cannot see anywhere in a post defined that post should read parameters in pair lines.
Other thing, there are predefined variables in a post, but they anywhere specify which those variables are. I dont know even in which program language they write a post. And for example I can see that word "e$" means EOB, and "n$" means new line. But where are that initiated I cannot find. It is obvious that post understand difference between these words and "good day", but where is that specified to the post.
Anybody needs just list of meaning of all that words that post understand and then it is not a problem to write any post. As you can count that your data always flaw in a pairs from NCI thru post, and when some post block recognize that two line pair (it recognize because of that predefined data in a post) it write na answer in a shape of G code.

I found some suggestions here, but this is not easy stuff, su I will try to find something this weekend and if I will know anything new I will inform you .

thanks to everybody!

#16
CJep

CJep

    Advanced Member

  • Resellers
  • PipPipPip
  • 1,440 posts
  • Location:South East PA
Using the parameter fields is one way of bringing information into the post, however those parameter addresses have changed from time to time so if you are tying a large amount of information to the post through the addresses it can make it difficult to have serviceable post through a simple update.

I don't know even in which program language they write a post.


It a language called MP, it was invented specifically for Mcam.

If you're really determined to learn post editing, I would suggest taking a post editing class. B)



#17
Colin Gilchrist - Eapprentice

Colin Gilchrist - Eapprentice

    Advanced Member

  • Members
  • PipPipPip
  • 4,576 posts
  • Location:Tolland, CT
Roland/All,

There is no Machine Definition support for the Generic Fanuc 5x Mill Post. The Control Definition can be used to override pre-defined variable values. (For things like Line Numbers, Arc Center Type, ect.).

You must setup the Generic 5x Mill Post using the variable switches in the PST file itself.

In addition to the Switches in the PST file, there are also Miscellaneous Integers that are read from every toolpath operation. You can use these Misc. Integers to control the output of the posted code.

The way that MP processes your NCI and Parameter data is explained in the V9 Post Guide. In addition, you can contact your Reseller for a copy of our Advanced Post Training Powerpoint, which explains how to setup and operate Mastercam with our Generic 5x Fanuc Post.

This is not a trivial task. 3 and 4 axis Posts are complicated enough. 5 Axis takes that complexity to a whole new level.



Reply to this topic