CA/CB Head Setup
An-102a, Copyright © by Gil Hagiz
Last updated Mar-02-2006
For version 6.11 and later
This application note describes the setup of a CA/CB rotary head for 5-axis TCP machining.
The RTCP capability is provided by a separate BIN file. Without this file the machine can work as a regular 5-axis non TCP machine.
- A Dual rotary head can be used as either CA or CB.
The selection between CA and CB is done by entering C0 or C90 in line n13 of the CNX data (explained below).
- The head must be mounted accurately on the Z-axis. Removing and re-installing the head may require new setup.
- The standard positive rotation of a rotary tool (head) is CCW when looking from the positive direction of its perpendicular axis. This is the default of the TCP files.
However, in some existing machines CW direction is positive, so it can be set as desired.
This set up can be performed by a superuser only.
To avoid unintentional set up, the superuser has to change the security level in plc@50 to 0.
In MDI type: @50=0
Line numbers for setup data relate to the machine.cnx file, in the machine data area after line n30000.
Before you start:
- The file hca5.bin should be copied to the C:\RR directory (or wherever ncplus.exe is).
- The INI file must have the lines:
Axes=xyzca (or Axes=xyzcb)
No directory or extension should be entered, the TCP file should be in the same dir as ncplus.exe.
Decide what positive direction you prefer for the rotary head (reverse the direction in the servo driver if needed).
If for one or both the positive is CW add /c /a (or /b) switches to the command. For example:
Model=hca5 /c /a
At least one space should separate the switches from the file name.
Note: these switches are used for the TCP calculations, not for reversing the direction.
- C must be the 4th axis and A/B must be the 5th axis of NCPlus. If C or A/B are not the 4th and 5th axes of the Delta Tau use the DT mapping (see 6.11 upgrade).
For example, if DT's 4th axis is used for the spindle, enter in the INI file:
- Use the latest ncplus.msg file (Oct-31-2005 or later).
- Cnx-101: add g100 in the motion line of Set-Home:
. . . .
INCH Hand Wheel Jog
. . . .
if (#110=@133) then
g g100 @@+=#150*#110 g8
END \If mode=Set Home
- Replace cnx-111:
 Incremental Jog
if key==1 then G100 @@+#150
else if key==4 then G100 @@+-#150 end
g1 f=5000/ki g9
- Comment out Cnx line n21, as all axes should move simultaneously upon G0:
\n21 z \g0 priority
- In plc-2 add display mode for TCP (plc@40 holds the TCP mode under H):
. . . .
@320=@399+10 \abs - distance
if @40 then if @399==0 then @320=9 end end
- Ensure that Home setting in plc-3 for both C and A is disabled:
. . . .
- In plc-4 add the command to use F5 for switching TCP-mode (H-mode):
. . . .
if @59<>0 then else
. . . .
if @59==1 or @59==5 then \Man, SetRef
if @88==1063 then kb(1194) end \F5 switches H-mode
- In plc-9 add the display mode TCP Abs:
. . . .
9\TCP Abs \
11\Dis To Go\
- Ensure that Cnx line n13 reads:
For CA: n13 x y z c
For CB: n13 x y z c90
Note: XYZC must be entered in line n13.
- If A/B is driven thru C (differential drive) add line n16 with the ratio:
n16 a=5/9 c (or b= for CB head)
- If C has no limits and is free to rotate indefinitely enter C in line n19 (with S):
n19 S... C1
- If C has limits:
- Set A/B to the plus direction as far as it goes with its plus-jog pushbuttons.
- Turn C until A is approximately in the plus-Y direction or B is in the minus-X direction. This is supposed to be C=0 direction.
- If this C position is too close to either limit, turn it 180 degrees and reverse the direction of A/B in the servo driver.
- All axes must be able to move freely, after the servo drivers have been set.
- All axes must have their Reference procedure working, all references set, and table limits set.
- A dial indicator (or test indicator) is required for squareness and similar measurements.
- A calibration ball tool with a known radius/length will make the calibration a lot easier.
- All motions are done in H0 mode, unless otherwise written.
- We are going to set the machine zero for axes C and A/B.
- For a rotary head, the machine zero for XYZ is not critical.
- While setting the reference, machine zero is set at the reference marker; however, for this setup we need a specific accurate zero for C and A/B. Rather than moving the marker and sensors we let the computer set the zero where we want it.
To set the machine zero for an axis proceed as follows (C is used as an example):
- Set the reference
- Jog C-axis to the desired zero
- Select Set-Home mode
- Select machine zero: press alt-0
- Open the MDI-like line by pressing <Enter>
- Type the axis letter C and press <Enter>
- If you are not at zero but say at C15 type:
- The zero for C becomes effective immediately
- Same procedure is used for setting the limits; press alt-p for setting the positive limit and alt-n for the negative limit.
Note that you always enter your position relative to the limit, which is zero if you are at the limit.
- In SetRef mode (and ChkRef) the display shows the distance of each axis from its electronic reference.
- In all other modes the display shows the distance from the current Home.
- For CA or CB heads, Home setting (fixture offset) for C and A/B is disabled.
- Home #0 is the machine zero.
A/B=0 is when the tool is vertical, in the minus-Z direction, same as in a three-axis machine.
For CA, A=90 is when C=0 and A is in the direction of plus-Y.
For CB, B=90 is when C=0 and B is in the direction of minus-X.
To set A/B proceed as follows:
- Reference A/B.
- Set the positive and negative limits.
- Set A/B to vertical with the jog pushbuttons.
- Use an indicator; move Z up and down and move A/B until it is in line with Z.
Try different C-orientations: if the result changes, C does not turn exactly about Z.
The control cannot compensate this error.
- With A vertical, enter in Set-Home for offset #0:
C=0 is when:
For CA: A turns about X-axis and A90 is the plus-Y direction.
For CB: B turns about Y-axis and B90 is the minus-X direction.
To set C proceed as follows:
- Reference C.
- Set the positive and negative limits.
- Set A/B to 90 degrees or as far as it goes away from vertical position.
- Set C as close to zero as you can.
- Use an indicator.
For CA: move Y to plus and minus and adjust C until A is in line with X.
For CB: move X to plus and minus and adjust C until B is in line with Y.
- When C is set enter in Set-Home for offset #0:
X and Y offsets can compensate for misalignment between the spindle axis and the C-axis.
XY offsets are measured from the spindle to the center of C-axis.
For example, if offset x1 is entered then the machine will be at x1 when the tool is at x0.
- Set both C and A/B to zero.
- Set an indicator on the spindle in the plus-X direction.
- Turn C exactly 180 deg. (use MDI)
- Write down the error divided by TWO. The sign of the error is negative if it is in the plus-X direction (C-center is negative relative to the spindle).
- Enter the result in line n13 for X.
- Set the indicator in the Y direction and repeat the same sequence as for X.
- Enter the result in line n13 for Y.
Tool length is measured from A/B-pivot, however, tools can be measured from a more convenient place, like the spindle face.
To measure the Z-pivot length:
- Use a calibration ball tool with a known length.
- For CA:
- Set A to vertical and set the indicator to touch it at its +Y direction. Write down the Y-position.
- Set A to +90 degrees and move Y until it touches the indicator again. The difference between the Y readings is the pivot length.
- For CB:
- Set B to vertical and set the indicator to touch it at its -X direction. Write down the X-position.
- Set B to +90 degrees and move X until it touches the indicator again. The difference between the X readings is the pivot length.
- If A/B cannot reach 90 degrees set it to 30 degrees. The difference between the Y/X readings is one half of the pivot length.
- Z-pivot length to the spindle face is the length measured minus the ball tool length. Enter the calculated length under Z in line n13.
n13 x.002 y-.004 z243.12 c
- Recompile the CNX file.
- Set TCP mode (H5).
- Repeat the offset test in TCP mode (use jog or g1 in MDI).
There shouldn't be any offset errors.
- Use a calibration ball tool with its length set in the tool table.
- Set 2-3 indicators touching the ball.
- While moving C and/or A/B in TCP mode the indicators should stay stable.
- Set C and A/B to non-zero positions.
- Check that the jogging and handwheel move the axes as if you were sitting on the tool (-Z is forward).
- Check that the drilling canned cycles work in the tool direction.