Skip to main content

MachPro Drill Bank Setup & Operation

{{@2007#bkmrk--1}}

Example photo of a Drill Bank: (KOMO 20 Position Drill Bank. 14 Vertical, 6 Horizontal.)

down-net_http20260119-113-7y56zs.jpg

Drill Bank Example Drawing:

image.png

In this example; numbers 301-314 are Vertical Drills and numbers 315-317 are Horizontal Drill Units (2 drills per Horizontal Unit). This example does not isolate each Horizontal Drill, but instead is treating each Horizontal Unit as one tool. The offset to determine which of the 2 Drills will be used must be handled by the CAM software in this case. Often times each Drill within the Horizontal Unit will have a unique Drill number and can be offset within the Machine Controller with Tool Offsets.

Drill Bank 1 Setup

Map all overall Drill Bank features according to the requirements for the Drill Bank to begin and end a cycle

NOTE: Every Drill Bank is unique on how it functions. Basic understanding of the sequence is required for setup in the "Settings" blocks below! Not all parameters have functions that correlate to every Drill Bank. Some "Settings" will likely be left blank.

Navigate to "Configure" and then to "Control".

image.png

Then select "Settings".

image.png

Search for "Drill Bank" and input the number of Drill Banks assemblies that your machine has. This value is looking for the the number of entire Drill Bank ASSEMBLIES your machine has. Not how many Drill Tools your Drill Bank has. The Drill Bank assembly is the entire unit housing all of the Drill Tools. Most Machines only have 1 Drill Bank Assembly.

image.png

1: "Engaged Input" is a confirmation signal to determine that the Drill Bank assembly did reach its desired engaged position. This is typically a magnetic switch on the air solenoid controlled by the "Engaged Output". This creates a more robust product if available but not mandatory for operation. If no input exists on the machine, the "Engaged Settle Time" delay can be used instead to wait for the Drill Bank to be in position before continuing with the Drill Cycle.

2: "Engaged Output" is the first action to occur when a Drill Cycle is called. This is typically an air cylinder to extend the Drill Bank assembly into a cutting position. Alternatively, it could be an air cylinder on the main Spindle that raises the Spindle up out of the way so that the Drill Bank can reach the material instead of the main Spindle.

3: "Engaged Settle Time" may be required if no "Engaged Input" is present. This will allow the Drill Bank assembly time to reach its proper position before beginning operation. This logic is true for all "Settle Time" style parameters.

4: "Drill Bank Motor On Output" is where you would map the output for the contactor for the Drill Motor that actually spins the drills.

5: "Parked Input" is the same logic but opposite direction of the "Engaged Input". "Engaged"=Prepared for cycle to start. "Parked"=Prepared for cycle to end. This is a confirmation signal to determine that the Drill Bank assembly did reach its desired parked position. This is typically a magnetic switch on the air solenoid controlled by the "Parked Output". This creates a more robust product if available but not mandatory for operation. If no input exists on the machine, the "Parked Settle Time" delay can be used instead to wait for the Drill Bank to be retracted before continuing with other operations.

6: "Parked Output" is the same logic but opposite direction of the "Engaged Output" Engaged=Move drill bank assembly to cut position. "Parked=Move drill bank assembly out of the way to resume standard operation. "Engaged" and "Parked" are typically opposing directions of the same cylinder. This is the last action to occur when a Drill Cycle is over. This is typically an air cylinder to retract the Drill Bank assembly into the idle position. Alternatively, it could be an air cylinder on the main Spindle that lowers the Spindle back down to resume operations outside of a Drill Call.

7: "Drill Bank 1 Range of Tool Numbers for Drill Bank" will have a range of numbers from the lowest Drill Tool number located within this Bank, to the highest. (Ex. If I have 2 Drill Banks with 16 Drills in each bank assembly, I would input "101-116" into the "Drill Bank 1 Range of Tool Numbers for Drill Bank" Parameter and "117-132" into the "Drill Bank 2 Range of Tool Numbers for Drill Bank" Parameter and so on. Up to 4 individual Drill Bank assemblies. Tool numbers for Drills should be in a range that will not overlap or interfere with standard Spindle Tooling numbers. Starting at 101 for Drill Bank Tool numbers is usually a safe bet for clarity and separation from standard Spindle Tooling, however, you have full control as to which numbers you choose as long you input proper data into this "Drill Bank 1 Range of Tool Numbers for Drill Bank" Parameter.

8: "Drill Bank Number1 ofAssociated DrillSpindle" Banksis Enabled"where needsyou towould bedefine setwhich toSpindle 1-4carries as required by how many INDIVIDUALeach Drill Bank ASSEMBLIESassembly your(Assuming you have more than 1 Spindle). (Ex. If my machine has.had 2 Spindles but only Spindle 2 had the Drill Bank assembly, I would input "2" into this section). *IfLeave at the default value of 1 if you only have 1 DrillSpindle Bank,on youyour would set "Drill Bank Numbers of Drill Banks Enabled" to "1"*machine.

2024-03-19 09_45_37-Chat _ 22283 - Palco Plastics - Router _ Microsoft Teams.pngimage.png

2024-03-19 13_39_09-MachMotion Control.pngimage.png


Map individual Drill Solenoid outputs as needed.

1: "Drill Bank # All Drills Up Output" is where you would map the output signal for any existing solenoid that would retract all Drill Tools. Most machines do NOT have a solenoid that performs this function. It is entirely optional.

2: "Drill Bank # All Drills Up Settle Time" is where you would input a delay to allow for all Drill Tools to properly retract before continuing on with further operations. This value is ignored if your machine does not have a "Drill Bank # All Drills Up Output". It is also not needed if your Drill Tools retract extremely fast (most do).

3: "Drill Bank # Drill # Down Output" is where you would map the output signal for whichever given Drill Tool you want to fire to extend to a cut height. Tool #101 is the FIRST tool in the sequence so its solenoids output would be mapped to "Drill Bank 1 Drill 1 Down Output". Tool #102s output would be mapped to "Drill Bank 1 Drill 2 Down Output" and so on in order. Select the proper output signal to fire the solenoid associated to whichever tool number you are wanting to extend. (Ex. Lets say that I still have the same numbers in my "Drill Bank 1 Range of Tool Numbers for Drill Bank" Parameter as the example above "101-116" for my 16 tool drill bank. If I am wanting tool #101 (Drill 1) to extend when I call "M6 T101" (or "M91 T1" if Binary), I would map the output signal that extends tool #101 (Drill 1) to "Drill Bank 1 Drill 1 Down Output". If I wanted to fire tool #111, I would map the output signal that extends tool #111 to the "Drill Bank 1 Drill 11 Down Output". Every tool, 101-116, will be in order from "Drill Bank 1 Drill 1 Down Output" to "Drill Bank 1 Drill 24 Down Output".)

4: "Drill Bank # Drill # Up Outputs" operate as the opposite of the "Drill Bank # Drill # Down Outputs". The "Up" outputs will raise the Drill Bank Tools when the cycle is finished. Most machines only have single action solenoids for Drill Tools, so "Drill Bank # Drill # Up Outputs" are not required because merely turning off the "Drill Bank # Drill # Down Output" will raise the Drill back up without needing to fire an individual "Up" output.

Most Drill Banks do not have "Drill Bank # Drill # Up Outputs" or "Drill Bank # All Drills Up Outputs"


2024-03-19 08_04_58-MachMotion Control.pngimage.png

Drill Bank 2-4 Setup

1-6: Will be the same logic as Drill Bank 1 setup listed above. These sections will only be used if you machine has MORE than 1 Drill Bank ASSEMBLY. Here you can distinguish different outputs that need to fire for a specific Drill Bank if your machine has more than 1.

7: "Drill Bank 2 Range of Tool Numbers for Drill Bank" will be a continuation of the "Drill Bank 1 Range of Tool Numbers for Drill Bank" values. (Ex. If "Drill Bank 1 Range of Tool Numbers for Drill Bank" has the value "101-116", then my "Drill Bank 2 Range of Tool Numbers for Drill Bank" value should be "117-132" if I have 2 separate Drill Bank assemblies with the same number of Drill Tools.

2024-03-19 11_00_31-.png

Update the tool numbers in "C:\Mach\Profiles\Router\ToolTables\ToolInfo.Lua"


The value in the "Spindle (1)" being "99" shows why its commonly good practice to start Drill Bank tool numbers with "100+".

"Drill Bank (1)" "Start" and "Stop" need to reflect the value in 7: "Drill Bank 1 Range of Tool Numbers for Drill Bank".

"Drill Bank (2)" "Start" and "Stop" need to reflect the value in 7: "Drill Bank 2 Range of Tool Numbers for Drill Bank".

Default:

2024-03-19 11_49_57-C__Mach4_Profiles_Router_ToolTables_ToolInfo.lua - Notepad++.png

What it should be for this example:

2024-03-19 11_54_26-_C__Mach4_Profiles_Router_ToolTables_ToolInfo.lua - Notepad++.png

"Tool Offsets" page is where all tool specific data will be input. Below is the Default Tool Offset table:

The Default Tool Offset table is limited to the data shown and only 99 tools total.

2024-03-19 12_09_25-Tool Offsets.png

Select the "Optional Fields" checkmark in the Tool Offset table

Checking "Optional Fields" provides many more fields of data but the Tool Offsets table is still limited to 99 tools.

2024-03-19 12_50_32-2150R - Industrial Plus.png

Go to Configure>Control>Tools

Change the "Max Tools" value to whatever your highest tool number will be including the Drill Bank.

2024-03-19 11_57_16-Control Configuration Router_0.png

Vertical Drill Parameters

NOTE: The data below will be for VERTICAL drills only! HORIZONTAL drills will be described below this section.

1: "Length" will have the same meaning as standard tooling and can even be done on a tool setter if possible. You must determine how far down the Drill Bank assembly must travel before the tip of that drill bit reaches the same "Zero" as your Spindle tool bit.

2: "Length Wear" has the same meaning as standard tooling.

3: "Diameter" is mostly non-functional but more for documentation. Unless a customer is using Cutter Comp on Drill Cycles, which I don't believe to be something that we have encountered yet, the 3:"Diameter" section can be blank with no issue. The true "Diameter" will be accounted for in the "X Offsets" and "Y Offsets" as needed.

4: "Diameter Wear" has the same meaning as standard tooling and is useless for Drill Bank tooling if 3:"Diameter" is also useless.

5: "Description" has no function and is strictly for note-keeping purposes.

6: "Pocket" should ALWAYS be 0 for Drill Bank tooling as to not conflict with standard Spindle tooling.

7: "X Offset" or "Offest" if spelled by a homeschooler, will be the distance from the center of your Spindle tool bit to the center of the Drill Bank tool bit you are setting up along the X Axis. This can be gathered by Zeroing the X and Y Axes, drilling a hole into material with the Spindle tool bit, and then jogging over until you are lined up with the hole with the Drill Bank tool you are trying to set up. Both X and Y Offsets can be achieved with the same hole alignment move. Input whatever distance is in your DRO into the 7: "X Offset" field. Add or Subtract from this value as needed to dial in the perfect alignment with the Spindle hole.

8: "X Offset Wear" has the same meaning as standard tooling. Not necessary for Drill Bank tooling.

9: "Y Offset" or "Offest" if spelled by a homeschooler, will be the distance from the center of your Spindle tool bit to the center of the Drill Bank tool bit you are setting up along the Y Axis. This can be gathered by Zeroing the X and Y Axes, drilling a hole into material with the Spindle tool bit, and then jogging over until you are lined up with the hole with the Drill Bank tool you are trying to set up. Both X and Y Offsets can be achieved with the same hole alignment move. Input whatever distance is in your DRO into the 9: "Y Offset" field. Add or Subtract from this value as needed to dial in the perfect alignment with the Spindle hole.

10: "Y Offset Wear" has the same meaning as standard tooling. Not necessary for Drill Bank tooling.

Often Fanuc will use separate fixture offsets for the Drill Bank positioning. (Ex. G54, G55)

32mm is a very common spacing distance between drills! You can often Add or Subtract 32mm in the appropriate direction to the remaining Drill bits "X Offsets" and "Y Offsets" after getting just one Drill bits position! 

2024-03-19 12_52_45-2150R - Industrial Plus.png

Horizontal Drill Parameters

1: "Length" is NOT the same for horizontal drills as for vertical drills! 1: "Length" is still the VERTICAL distance to the top of the material. NOT the actual length of the horizontal drill bit! 1: "Length" for horizontal bits can be gathered touching off on top of a material with the Spindle tool bit, Zeroing the Z at that position, performing a tool change to whichever horizontal drill you desire, then touching off the horizontal drill to the top of the material, and inputting whatever the DRO shows for the Z Minus HALF of the horizontal drill bits Diameter! Input this value into the 1: "Length" field.

2: "Length Wear" has the same meaning as standard tooling.

3: "Diameter" is mostly non-functional but more for documentation. Unless a customer is using Cutter Comp on Drill Cycles, which I don't believe to be something that we have encountered yet, the 3: "Diameter" section can be blank with no issue. 

4: "Diameter Wear" has the same meaning as standard tooling and is useless for Drill Bank tooling if 3: "Diameter" is also useless.

5: "Description" has no function and is strictly for note-keeping purposes.

6: "Pocket" should ALWAYS be 0 for Drill Bank tooling as to not conflict with standard Spindle tooling.

7: "X Offset" or "Offest" if spelled by a homeschooler, will be the distance from the center of your Spindle tool bit to the tip of the Drill Bank tool bit you are setting up along the X Axis. A Horizontal drill bit that is pointed in line with the X Axis will have a "X Offset" as what would really be the "Tool Length" on a vertical tool. This value can be gathered by  jogging alongside a 3D material with the Spindle tool bit along the X Axis, Zeroing the X Axis, commanding a tool change to whichever horizontal tool you are trying to set up, and then jogging over until you are touching the side of the 3D material with the tip of the Drill Bank tool you are trying to set up. Add or Subtract half of the Diameter of the Spindle tool bit. Input whatever distance is in your DRO into the 7: "X Offset" field. Add or Subtract from this value as needed to dial in the perfect alignment with the 3D material.

8: "X Offset Wear" has the same meaning as standard tooling. Not necessary for Drill Bank tooling.

9: "Y Offset" or "Offest" if spelled by a homeschooler, will be the distance from the center of your Spindle tool bit to the tip of the Drill Bank tool bit you are setting up along the Y Axis. A Horizontal drill bit that is pointed in line with the Y Axis will have a "Y Offset" as what would really be the "Tool Length" on a vertical tool. This value can be gathered by  jogging alongside a 3D material with the Spindle tool bit along the Y Axis, Zeroing the Y Axis, commanding a tool change to whichever horizontal tool you are trying to set up, and then jogging over until you are touching the side of the 3D material with the tip of the Drill Bank tool you are trying to set up. Add or Subtract half of the Diameter of the Spindle tool bit. Input whatever distance is in your DRO into the 9: "Y Offset" field. Add or Subtract from this value as needed to dial in the perfect alignment with the 3D material.

10: "Y Offset Wear" has the same meaning as standard tooling. Not necessary for Drill Bank tooling.

2024-03-19 14_04_04-Tool Offsets.png



If The Old Control Was A Fanuc Beware Binary Drill Calls!


If you see a single drill call where there should be several (ex "M91 T120")  but the program is expecting multiple drills to be dropped then the old control is probably using binary drill calls, this is where each drill has a unique number that is double the previous drill and the total of all of them is used as the tool number.   this can be deciphered with a good GC adapter.

When deciphering binary calls first try calling the drills from largest to smallest T numbers as this seems to be how Fanuc did it.

this is important because MachPro will apply the XY offset in your tool table from the last drill called 

You will probably need to add an M6 T0 or a subprogram to retract all drills right before each new drill related M6 otherwise they will never get pulled back up.


The Fanuc manual explaining this is attached as a PDF

image.png

Onsrud B&R Control Panel Pro 9 position Drill Bank

This may not  apply to all Onsruds or even all Panel Pros but the Panel Pro that I did had X and Y offsets in the Post Processor that applied the offsets for every drill from the corner drill. This meant that X and Y offsets in the control were the same for all drill tools and it was the distance on X and Y from the spindle center to the corner drill center. Rumor has it that this is a common occurrence with Onsrud drill banks. This drill bank only had 9 tools and none of them were horizontal. I don't know how horizontal tools are handled by Onsrud.

{{@2016}}