Sequential Multi-channel questions/stream of conciousness
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I'm looking at the feasibility of a post processor for a b-axis+turret mill-turn (NTX) and want to pick some brains on the multi-channel/wait codes portion.
Preface:
Machine has an articulating b-axis milling/turning head, Channel 1. Tools are generally loaded like milling tools, with a T##, H##, etc. These tools are also capable of being indexed to various angles, using a specific toolchange command (G361BxxDx) where Bxx describes the orientation angle and Dx orients for main/sub/milling (180* C rotation) - this code also corrects the tools offset.
Lower milling+turning turret, Channel 2. Tools are generally loaded like turning tools, T####.
I don't care about actual multi-tasking, but would like to be able to utilize the lower turret due to the additional tool capacity it provides. Wait codes don't seem like an issue, but splitting the single operation up into two separate files is somewhat perplexing. It effectively requires that I take anything using channel 2 and postpone it for a later program. Now thinking about it, the Fanuc with Subprograms essentially does this.
Steps to success:
- Separate tool numbers into two groups, two digit numbers = channel 1, four digit numbers = channel 2.
- Use code from fanuc_with_subs to postpone channel 2 and output as a separate file.
- Whenever code is split off to channel 2, need to output wait codes, since we're not allowing any overlap, these should be simple.
- To avoid collision, channel 2 should always be initially indexed to a blank tool and parked under the spindle, when it runs it should travel home/g30 and return to parked position when finished.
- Turning with b-axis tools looks nice and easy. If I initially create tools in their base/natural position, when I want to turn at an alternate angle, simply duplicating the tool and modifying the orientation (tool_angle) parameter and feeding it to the post should do the trick. Each operation will need to compare the previous tool_angle and re-issue g361 if it differs.
- Check each operation to see if that operation is the last one using a tool prior to preloading, else G361 will load the wrong tool.
- Transferring stock is a whole different can of worms, will look into that later.
- Programming template would always use two jobs, and the workoffset would imply more than is typical; turning operations in the g55 job would need to use g361BxxD2, milling operations need the ability to mill from negative z. Might need more thinking here..
I'll probably keep updating this. If anyone watches in or has anything awesome to contribute, feel free. Hopefully I can keep this relatively Mori-agnostic, that way more people might get use out of it ..... @Laurens-3DTechDraw ... ahem