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:

MasterCam posts


TERRYH
 Share

Recommended Posts

I I had a conversation with our CNC supervisor this morning about how we do stuff here, compared to how others in the industry are doing things. A little background on how we do stuff is none of us have been to any MC training since before X2 we are currently on X6 doing I would say 95% of the things we do in MC the same way it was done on X2.  One guy went to school before X2 and trained others as we moved into the office to program,  the machines we have are Johnfords, SNK's and a couple small Doosans. And we have different posts for each even though they all have Fanuc controls. One of the Johnfords is a 5-Axis and we have a 90 deg. bolt on head for one. we have different posts for each drill and a mill, and a drill and mill post for the 90 deg. head, and the same for the 5-Axis. Thats a total of 8 different posts. It seems like every time we go through a upgrade we have issues getting to posts correct for them, even though our re-seller is great in working with us in doing it, but it is a hassle for everyone and there is a time period where we are not 100% confident in our posts being correct with no issues.

   My question is could the parameters in our machines be changed so that we could have a drill and a mill MC post that will work in all of our machines, with the exception of the 5-Axis and our 90 deg head? the way it is now is we have the same post for the SNK and Johnfords 1-drill and 1-mill, we have a different posts for the Doosans, 2 for the 5-Axis and 2 for the 90 deg head. I would be nice for them all to use the same with the exception of the 90 head and the 5-Axis.

   It is a nightmare, but it seems our company figures its working why change, and I think that is part of the reason why we don't stay up with the newest versions is because of the hassles of getting all of the posts switched to newer versions. how are you guys doing this to make a seamless upgrades?     

Link to comment
Share on other sites

We seam to have similar problem managing all relative post, control and machine files. one thing we have done is standardize some (ie we have a couple sets of machines where most all is the same except 10k and 12k spindles) , it was decided we are such short runs to use one standard post for these two sets of machines and clamp at 10k. this does not limit us from hand edit or temp. unclamp this max for a production job but we only have to manage two posts versus 4 posts relative to these machines.

I would be very interested how others are handling this.

 

Doug

Link to comment
Share on other sites

The key to combining multiple machines into a post is to assign a unique name to each machine in the machine definition.  For example, I use:

pmachine   #Identify the work center
      if smachinedesc = "VIPER 1500", machinepick  = 1
      if smachinedesc = "VIPER 1600", machinepick  = 2
      if smachinedesc = "VIPER 3000A", machinepick  = 3
      if smachinedesc = "VIPER 3000B", machinepick  = 4
      if smachinedesc = "VIPER 850", machinepick  = 5
      if smachinedesc = "HAAS VF3", machinepick  = 6
      if smachinedesc = "HAAS VF6", machinepick  = 7
      if smachinedesc = "MAZAK 160", machinepick  = 8
      if smachinedesc = "MAZAK 80P", machinepick  = 9
      if smachinedesc = "MAZAK 60P", machinepick  = 10
      if smachinedesc = "MAZAK TOOL", machinepick  = 11
      if smachinedesc = "MAZAK 80", machinepick  = 12
      if smachinedesc = "MORI 400", machinepick  = 13
      if smachinedesc = "MORI 500", machinepick  = 14
      if smachinedesc = "MORI 630", machinepick  = 15
      if smachinedesc = "PALLET POOL", machinepick  = 16
      if smachinedesc = "HAAS EC-1600 EAST", machinepick  = 17
      if smachinedesc = "HAAS EC-1600 WEST", machinepick  = 18
      if smachinedesc = "HAAS EC-3000", machinepick  = 19

And you will need this:

#Machine Capture Variables
smachinedesc : ""    #String to capture Machine Description

You can get the variable like this:

# Machine Definition Parameters 
fprmtbl 17000   15   #Table Number, Size
#       Param   Variable to load value into 
        17012   smachinedesc   #Machine Description

Once the post knows which machine you are posting for, use the machinepick variable to format the NC code as required.

 

HTH  :cheers:

  • Like 8
Link to comment
Share on other sites

I do somewhat the same as EX-wcc but instead of smachinedesc I use smachinepath. I like smachimedesc more... 

 

pmachine
      if smachinepath = "E:\MCX5\CNC_MACHINES\ENSHU JE60S.mmd-5"
       | smachinepath = "E:\MCX5\CNC_MACHINES\ENSHU JE60S.MMD-5",
        [
        smachinename = "ENSHU JE60S"
        machine = 60
        work_vari = 7000
        max_speed = 13000
        min_speed = 40
        maxfeedpm = 590.55
        maxoffset = 48
        ]
      if smachinepath = "E:\MCX5\CNC_MACHINES\ENSHU JE80S.mmd-5"
       | smachinepath = "E:\MCX5\CNC_MACHINES\ENSHU JE80S.MMD-5",
        [
        smachinename = "ENSHU JE80S"
        machine = 80
        work_vari = 14000
        max_speed = 15000
        min_speed = 50
        maxfeedpm = 3546
        maxoffset = 300
        ]
      if smachinepath = "E:\MCX5\CNC_MACHINES\ENSHU GE480H.mmd-5"
       | smachinepath = "E:\MCX5\CNC_MACHINES\ENSHU GE480H.MMD-5",
        [
        smachinename = "ENSHU GE480H"
        machine = 480
        work_vari = 14000
        max_speed = 15000
        min_speed = 50
        maxfeedpm = 3546
        maxoffset = 300
        sm08_1 = "M50"      #Thru Spindle Coolant
        sm08_2 = "M54"      #Ceiling Coolant
        sm09_1 = "M51"      #Thru Spindle Coolant Off
        sm09_2 = "M55"      #Ceiling Coolant Off
        stool_detect_test = "M270"
        stool_detect_teach = "M271"
        s_xz_coordinate_rotation = "G2201"
        ]

  • Like 1
Link to comment
Share on other sites

Like Tim I use smachpath. It works pretty good, tho if I were to do it again I would use smachinedesc. In one post I have Yasnac, siemens & fanuc machines, both horizontal & verticals. Seems like all use mfg specific codes for things like rigid tapping. It was a bit of work to get set up, tho it makes updating the post a breeze.

Link to comment
Share on other sites

So, I'm trying out EX-wcc's idea, and I hit a snag.  For some of our lathes:

 

# Generate string for spindle, lathe main
sm04    : "M4P11"      # Spindle reverse - no coolant
sm05    : "M5P11"      # Spindle off     - no coolant
sm03    : "M3P11"      # Spindle forward - no coolant

 

 

For others:

 

# Generate string for spindle, lathe
sm04    : "M04"      # Spindle reverse - no coolant
sm05    : "M05"      # Spindle off     - no coolant
sm03    : "M03"      # Spindle forward - no coolant

 

 

I can't seem to use any conditional formatting with the machinepick variable.  Is there a way to define these string variables in multiple ways based on which machine I'm using?

 

Thanks in advance.

Link to comment
Share on other sites

Append your string select table like this:

 sm04    : "M4P11"      # Spindle reverse - no coolant
 sm05    : "M5P11"      # Spindle off     - no coolant
 sm03    : "M3P11"      # Spindle forward - no coolant
 sm04_1  : "M04"        # Spindle reverse
 sm05_1  : "M05"        # Spindle off     
 sm03_1  : "M03"        # Spindle forward 

scoolant : ""        #Target string

fstrsel sm04 coolant$ scoolant 6 -1  <--- Make Sure to update the footer of your table to reflect the added lines.



 

Then, in your ltlchg and ltlchg0 section, add:

  if machinepick = 4, coolant$ = coolant$ + 3

(Substitute actual variable names and machinepick numbers to match your needs)

Link to comment
Share on other sites

Take a look at the MP Documentation for two special MP Funcitons: 'slin' and 'slout'.

 

The "String List In" and "String List Out" functions will let you write values into an existing String Array and will also let you read values from a String Array. Using this method instead of modifying the string array lists themselves, and then having to modify the logic to use them helps keep things less complicated.

 

You can use a "while" loop to start at index 0 and loop through the list, and just increment the "offset" variable in the loop.

 

I've included a sample post that uses the 'slin' function to load string characters into a string array. Just rename the 'txt' extension to 'pst', and use the CTRL + ALT + SHIFT + P trick to launch the post from the Post Processing dialog box.

 

Hope that helps,

 

Colin

String Breaking Example.txt

Link to comment
Share on other sites

You could also do it a little bit differently:

 

- Have only one Machine definition/Control Definition/Post for the whole set of similar machines.

- Add a question to a posprocessor, so it asks you during posting for which machine you want the output for.

 

The question would be something like: "Select machine [1=Mori Seiki 1, 2 = Haas,....]"

 

The advantage of this method is that you do not have to replace Machine before posprocessing.

And the update to new versione of mastercam is easier because you only have one Machine/Control definition to update.

We use this method a lot and we think it is more user friendly compared to multiple machine definitions and 1 postprocessor.

  • Like 1
Link to comment
Share on other sites
  • 1 year later...

You could also do it a little bit differently:

 

- Have only one Machine definition/Control Definition/Post for the whole set of similar machines.

- Add a question to a posprocessor, so it asks you during posting for which machine you want the output for.

 

The question would be something like: "Select machine [1=Mori Seiki 1, 2 = Haas,....]"

 

The advantage of this method is that you do not have to replace Machine before posprocessing.

And the update to new versione of mastercam is easier because you only have one Machine/Control definition to update.

We use this method a lot and we think it is more user friendly compared to multiple machine definitions and 1 postprocessor.

 

Peterlin, you could even use a mi variable where you don't even have to ask a question at all.

  • Like 1
Link to comment
Share on other sites

You could also do it a little bit differently:

 

- Have only one Machine definition/Control Definition/Post for the whole set of similar machines.

- Add a question to a posprocessor, so it asks you during posting for which machine you want the output for.

 

The question would be something like: "Select machine [1=Mori Seiki 1, 2 = Haas,....]"

 

The advantage of this method is that you do not have to replace Machine before posprocessing.

And the update to new versione of mastercam is easier because you only have one Machine/Control definition to update.

We use this method a lot and we think it is more user friendly compared to multiple machine definitions and 1 postprocessor.

 

I've been doing it this way for years, and it works great.

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...