Tools Needed For A TMS

TMS stands for Tombstone Management System. To the best of my knowledge only Gibbscam has made the effort to properly manage tombstones by designing a user interface to do what needs to be done by giving you most of the needed control in just one place. Supposedly this was developed and paid for by Haas Automation for their own factory needs.

I think it's brilliant and one of the best things Gibbscam has ever done. Naturally Gibbs barely promotes it and doesn't market it correctly but that doesn't stop me from appreciating what it represents and how good of an idea it is. This is very badly needed in all CAM systems. Sadly this comprehensive system of managing part programs on Tombstones is not in any CAM system besides Gibbscam that I know of.

Portions of what follows below are copied from the Gibbscam Tombstone Management System 2006 .pdf manual written by Will. Gaffga who use to work for Gibbs And Associates. Sadly, he no longer works for Gibbscam because anyone who is a quality individual and who works for Gibbscam can't get along with a complete asshole like Robb Weinstein who has to be the most most disliked person in the CADCAM industry for damn good reason. See my Why Gibbscam Is The Wrong Choice Blog. Why this asshole has not been fired is way beyond me because he literally screws up everything he touches. The Gibbscam Tombstone Management System 2006 .pdf manual can be downloaded from many places on the web at no charge.

This screenshot below shows the main user interface for Gibbscam TMS:




The following  is a description of what the items on the Standard tab in the screenshot above does:

Count:

The items in the Count column specify the number of parts in X and Y per side. The B entry specifies how many total sides are used by this part on the tombstone. In the example there are four sides to the tombstone and there are 5 parts per side, lined up vertically.

Step:

The items in the Step column specify the distance between the parts in X and in Y. The distance is specified in part units. Use a positive value in X if the part you programmed is located on the left side of the face, and a positive Y value if the part is located at the bottom. In this specific case, the part programmed is located in the upper left corner. The Y step is negative. The B entry specifies the angular value for each rotation. In a typical situation, those values are equally spaced (0, 90, 180, 270 for 4 sides). All rotations are just like simple mill positioning. The tombstone rotates clockwise, looking down its depth axis.

Start:

The items in the Start column specify the start position for the X and Y repeat. The values are typically set to 0. One exception could be for example the case where you have 3 rows (Y count = 3) and you program the part in the center row. In this case, you would enter a Y Start value that would be equal to –Ystep. The B entry allows for starting the program at a different side of the tombstone.

Repeat: 

Select one of the 2 buttons to define the order in which the parts will be machined. X First means that the parts get machined row by row. Y First means that the part get machined column by column.

Direction: 

These buttons define the direction in which each row or column is machined. One Way means that each row is machined from left to right (or right to left if the step is negative). Zig Zag means that the first row is machined from left to right and the second row from right to left. Zig Zag+B means that a tool will not retract to the starting position after a rotation but will clear the tombstone and cut the next side in the reverse order, going from a “zig zag” cut to a “zag zig” cut.


The screenshot below is the main user interface for Gibbscam TMS with the second tab "Custom Sides" depressed. The Custom Sides tab allows you to set up a special configuration of parts on a tombstone. The number of sides is set and the arrangement of parts can be defined for each individual side. For example, if you have a four sided tombstone, you could define a setup with four different parts, a group of each per side of the tombstone




Count: 

The Count specifies the number of positions on the tombstone, i.e. the number of sides on the tombstone.

Current: 

This is the current position being defined on the tombstone. The first position is 1, the last position is defined in the Count field. Click on the arrows to change the current position. All the other values on the tab refer to the values to define the current position.

B Value: 

The B Value is the angular value for the current position. In a typical situation, those values are equally spaced (0, 90, 180, 270 for 4 sides). All rotations are just like simple mill positioning. The tombstone rotates clockwise, looking down its depth axis.

Count:

The items in the Count column specify the number of parts in X and Y for the current side. The count can be different for each side of the tombstone.

Step: 

The items in the Step column specify the distance between the parts in X and in Y for the current side. The distance is specified in part units. Use a positive value in X if the part you programmed is located on the left side of the face, and a positive Y value if the part is located at the bottom. In this specific case, the part programmed is located in the upper left corner. The Y step is negative.

Start:

The items in the Start column specify the start position for the X and Y repeat for the current side. The values are typically set to 0. One exception could be for example the case where you have 3 rows (Y count = 3) and you program the part in the center row. In this case, you would enter a Y Start value that would be equal to –Ystep.

Repeat: 

Select one of the two Repeat options to define the order in which the parts will be machined for the current side. X First means that the parts get machined Row by Row. Y First means that the part get machined column by column.


To better define and control TMS output you use Operation Groups. Using Operation Groups allows control over what machining operations are  performed together and results in B rotations and tool changes that are minimized. Operations can be automatically grouped and they can be manually edited. The screenshot below shows a close up of the Operation Groups part of the main user interface above


By Tool: 

Automatically sorts all machining operations based upon the tool used in the operation.

Tool + CS:

Sorts all machining operations based upon the tool and coordinate system used in the machining operation.

By Ops:

Automatically sorts all operations based upon the number of the machining operation.



If you want to edit the automatic grouping you double click on the Machining Operation Groups list. The screenshot shown below will appear. This Window allows you to directly edit the list of Machining Groups.






The Output section defines how your posted output will be formatted. There is support for how subroutines, canned cycles and B rotations are handled. This is shown in the screenshot below:



Sub Mode: 

Sub Mode defines how subroutines are formatted. The options include 1 Sub/Group, 1 Sub/Op and 1/Group + 1/Canned.

1 Sub/Group: 

This option will create one subroutine per group of operations, as defined by the Operation Groups.

1 Sub/Op: 

This option will create one subroutine per operation. The groups created in TMS will not be considered.

1/Group + 1/Canned: 

This option will create one subroutine per group of operations, as the 1 Sub/Group option plus it will create a separate subroutine for all canned cycles.

Canned Cycles: 

Canned Cycles defines how canned cycles are handled in the G Code. The options include Cycle in Sub and Cycle in Main.

Cycle in Sub:
The canned cycle will be defined in its own subroutine.

Cycle in Main: 
The line defining the canned cycle will be called in the main portion of the output. Only the additional positions will be in a subroutine.

B Output: 

This item defines how B rotations are formatted. The options include 0-360 and Linear.

0-360: 

All B values are between 0 & 360. A rotation of 390° is output as “30”.

Linear:

Using the Linear option B values over 360 can be generated.

Minimize WFOs:

This item minimizes the number of WFOs that are generated. Normally a WFO is output for each stock position per rotation. This option will skip unused positions and rotations. Same WFO On Each Face: This item is used to reuse the WFO settngs across multiple B-axis rotations. For this to function properly the various positions must have the same X, Y, Z locations between B-Axis settings.

Output WFO Info: 

This item will output comments in the posted code that contain the WFO information.

WFO Shift:


This item will skip WFO values in the output. For example, if you wanted to skip G54P1 through P10, this item should be set to “10” and the first WFO.


In the screenshot below the Operation Layout section is used to set up custom B rotation positions. Any operation that is not at one of the rotated positions defined in the Part Layout section will need to be accounted for in this section. To add an entry to the list, click in the Add button. Clicking the Add button opens the CS/Operation Layout dialog which helps define the nonstandard rotations. Double clicking an existing entry will also open the dialog. To clear an entry, select it and click on the Clear button.






The CS/Operation Layout Dialog is shown in the screenshot below.





The CS/Operation Layout dialog is accessed by adding an entry to the Operation Layout list or by double clicking on an existing entry. This dialog helps define non-standard rotations. There are two ways to define non-standard rotations, by the operation that needs to be accessed or by the coordinate system that needs to be accessed. Once the operation or CS is selected the Position must be set, any desired filters should be applied and the sides to use must be stated.


The screenshot below shows the CS option:



This option is used to access a particular coordinate system and all operations in the CS. The CS number may be manually entered or the CS may be selected from a list by clicking on the Get CS button. The Get CS button opens the Select CS dialog. Select the coordinate system you wish to use and click OK. The CS number will now be displayed in the CS/Operation Layout dialog. This is the preferred method for specifying layout data.


Operations Option:

This option is used to specify the individual operations to be used at a particular rotation. The operation numbers may be manually entered in the text box or they may be loaded automatically based on the coordinate system specified as the Machining CS. Clicking on the From CS button opens the Select CS dialog. Selecting a CS will load the operation number of all operations that use the CS. The Position (see below) needs to be set before clicking OK.

Position:

This item will load the B angle of the CS. If you know the number you may enter it but it is easier, and more accurate, to click on the Get B button.

Instance Filters: 

Instance Filters provide the ability to control if a rotation will occur or not, depending upon whether the operation or CS meet certain X, Y and/or B criteria. This allows for non-standard set-ups without using Custom Sides.. For example, if a tombstone is set up with one part but the front of the part is on sides 1 and 3, while the back of the part is on sides 2 and 4, an instance filter could be set for the operations on the back of the part to only do even B rotations.

The possible values for the filters for X, Y and B are:



The Even and Odd filters are useful for adding two operations to the same group, the first one cutting from left to right and the second one from right to left.

Sides: 

The default value is All. If Custom Sides have been set the Partial item is available. Using the Partial item allows for more control over where an operation should be performed.




The Stock/Fixture Layout dialog is shown in the screenshot below:



The Stock/Fixture Layout dialog lets you easily create a matrix of the positions of the duplicate items on the tombstone for Machine Simulation rendering. This item is typically used once the TMS information is complete and ready to be rendered via Machine Simulation. Each stock body or type of fixture must be set individually.

1. Once the dialog is open select a body that will be defined as stock or as a fixture.

2. Select the Type of item the body represents.

3. Define the Layout for the stock or fixture body.

4. Click the Set button to save the data and display a yellow wireframe matrix that shows the item’s position.

5. Repeat 1-4 as many times as needed for each stock body or fixture type used.

Get:

The Get button is used to load or reload layout data from a model that has already been set up.

Set:

The Set button is used once the Type and Layout sections have been filled in. Clicking this button draws yellow wireframe representations of the stock or fixture bodies in the workspace.

Clear: The Clear button removes the layout setting for the currently selected solid body (stock or fixture).

Type:

The Type section specifies whether the currently selected body will be defined as stock on the tombstone or as fixtures holding the stock in place. Select a body.

Layout:

The Layout section is where a stock or fixtures position is defined.

Count:

Enter the number of instances in X and Y for the given body. The B value represents the number of faces on the tombstone to which this item will be attached.

Step:

The X and Y values are the distance from part to part. The value may be positive or negative. The B value is the number of degrees between faces on which this item is present. If parts are on opposite sides of a four-sided tombstone the value is “180”.

Start:

The X and Y values are the start positions for the items. Typically these values are “0” but if the item being defined is in the middle of three parts an offset equal to the step would be entered. The B value represents the starting angle for the face on which this item is located. If the part is on the second face of a four-sided tombstone the value would be “90”.

Some points to remember are:

• The CS of the body being laid out is vital. The locations of the parts are determined from the CS the item is aligned to. Normally in GibbsCAM we do not think about the CS a body is aligned to, just the CS we are creating in. If you get unexpected results, look at the Properties of the body. The body should be aligned to the CS that represents the face it will be attached to. If necessary perform a Change CS (XYZ) on the body.

• The wireframe display is a bounding box that encompasses the body. A wireframe shape is displayed so that your computer’s resources are not overly taxed by showing potentially hundreds of bodies. Additionally, the frames have no effect on the current state of the part. Only once Machine Simulation is activated will the full stock and fixture items be displayed.

7 comments:

  1. Wouldn't it be easier to have the CNC controller handle this?
    Look up Hiedenhain Pallet tables on 426/430/530 controllers dating to ~1998. You have the choice to use WPO (work piece orientated) or TO (tool oriented) strategies.

    maybe you should push your control manufacture to update there thinking. Or demand the MTB to use a Heidenhain controller

    ReplyDelete
  2. I'd prefer to keep all the control in the CAM program as I think it's much easier to manage.

    Having the control in your CAM program, rather than at each individual machine, also makes it much easier to switch to another machine.

    Finally, having this kind of control in the CAM system means machine simulation has a much better chance of being accurate.

    ReplyDelete
  3. I agree that machine simulation a positive in this method.
    But you think it's easier to manage every pallet configuration rather than managing the piece part file?
    So in a 24/7 operation running high mix/low volume it's better for the machine to sit while the programmer can generate the pallet configuration program rather than let the set-up guy manage it himself? So if they want to run 1 part or 10 parts rather than 64 parts it all has to come back to the programmer. This is not a good way!

    Why would having control in the CAM make it easier to switch to another machine? it would seem the opposite would be true.

    ReplyDelete
  4. I think it's much smarter for one person to handle this using the CAM system rather having two or more people trying to manage this using macros in the CNC control.

    I have no issue with the machinist having control over and being responsible for how many pieces get run.

    I respect that you don't have the same opinion.

    ReplyDelete
  5. when your 3 programmers are programming for 30 machines trust me you don't want to keep coming back to the programmer.

    ReplyDelete
  6. HI Jon, I remember Tin Markowski described to you how he would do this in Visacam on atl.machines.cnc some years ago. But I dont think I read it in detail. I have never used a machine with a tombstone so its not been in my attention. Now I have a horizontal though so I have to start thinking about it.
    I found this site when I typed in MastercamX6 and before I had read 3 paragraphs of why mastercam isnt the right system I thought "Jon Banquer wrote this". :)
    Ken (Cybercut)

    ReplyDelete
  7. It's always good to hear from you, Ken. I would appreciate if you would take sometime to read what I have to say about TopSolid CADCAM 7 and check out my videos on You Tube. Any criticism is welcome as I have always valued your opinion. Production machining on horizontals with pallet pools is now my main interest. I'm very active on Twitter.

    ReplyDelete