Your issue is almost certainly caused by mixing “surface zero” workflow with automatic tool length compensation, which leads to Z being offset twice. When length compensation is enabled, Z=0 must be defined relative to machine coordinates (sensor reference), not re-zeroed on the workpiece surface. The value in Length compensation Z should be the exact height difference between the fixed TS32 sensor and the workpiece zero, and the workpiece Z must then be set via tool length offsets—not by “Block zero Z” on the surface. Right now WinPC-NC is correctly measuring tools, but then applying an additional Z shift, which explains the large plunge. The fix is to define Z-zero once (redz hub blox fruit), enable length compensation, and stop re-zeroing Z on the workpiece after tool changes.
WinPC-NC: Incorrect Z-height when using manual tool change
We are using a StepCraft M1000 with WinPC-NC for control and Estlcam as our CAM software. We have a TS32 tool length sensor hooked up to the machine. We are trying to get to the point where we can change out the tools during the execution of a milling program. However, we can't get WinPC-NC to get the milling height right when we try to enable this. As long as we do nothing with different tools, the CNC works fine, but we can't find any rhyme or reason in the machine's behaviour as soon as we try working with multiple tools. It should be noted that we do not have an automatic tool changer. We have been able to set the machine up so that it moves to a parked position where we can exchange tools manually. We have already verified the output of Estlcam, both with the creator of Estlcam and by ourselves, but this looks okay.
Our workflow is such that the zero point is measured at the top surface of the workpiece. This setting is both in WinPC-NC and in our CAM software. We now first perform a zero-point measurement on the workpiece surface to establish the correct Z-height. This is done with the TS32 sensor.
As long as no tool change takes place, this method works correctly. Under “Basic settings → Sensor” the option “Surface block mounted” is disabled, as well as all options under “Tools → Length compensation”. The DIN program is then executed at the correct height. However, this setup only works as long as we are using a single tool; it does not allow tool changes within the DIN program.
Since we do not have an ATC, we want to change tools manually. Our current procedure is as follows: We use the settings that worked without tool changes, and then modify them. Under “Length compensation” we enable “Automatic length compensation”, “Length compensation after tool change”, and “Save measured tool lengths”. The TS32 sensor is mounted at a fixed position on the machine bed, and this position is also stored in our configuration. Before starting machining, we select a point as the origin for our workpiece coordinates. We move the spindle above a point on the workpiece and zero XY. Then we place the TS32 sensor on the workpiece directly under the spindle and press “Block zero Z”. The spindle then moves down until it touches the sensor. After this, the workpiece surface is set as Z=0. We then return the TS32 to its fixed location on the machine bed.
At this point, we run the DIN program. WinPC-NC displays the message: “No tool length defined. Use data of tool 1 as default?” We confirm this with the green checkmark. The machine then moves to the park position to prompt a tool change (as programmed in the DIN file). After the tool change, the spindle moves to the fixed sensor position and performs a tool length measurement. It then returns via the park position to a point above the workpiece zero. Up to this point everything behaves as expected. However, the machine then plunges far too deep, almost down to the machine bed — well past the workpiece surface where cutting should have started.
Everything until this moment works as anticipated, but we cannot understand why the machine then moves so far downward. We are also unsure what Z-value should be entered in the “Length compensation” menu. At the moment we have entered 0 mm. Our assumption is that we should enter 4.5 mm (the height of the magnet on which the sensor rests). However, this would not explain why the machine goes down by roughly 15 mm too much.
So far, we have not been able to get the machine to operate reliably. The Z-height continues to be incorrect. We have also tried a number of other combinations of settings, but nothing we do seems to work. Everything is wrong in a slightly different way.
Attached are our working baseline settings for use without tool changes, and a demo file with tool changes inside its Gcode.
Hello,
using different tools length is possible but we recommend a certain sequence and we have a prepared info text for it....
----cut
There are tow different functions in WinPC-NC using the probe sensor...
1. Surface block
This function is for setting the Z zero point on the top of the material. You need a flying probe with cable and you have to put it under the current tool and on top of the material.
By activating the function Move to block Z zero in manual move WinPC-NC moves Z axis down until it touches the probe. It stopps and add the defined probe sensor height to the current Z position and saved this as Z zero point.
This function is for setting Z zero point or Zmaximum depth only and does not affect any tool lengths or the compensation of it.
2. Tool length compensation
There for the probe must be at a fixed position somewhere at the machine bed and the exact position is defined in Tool length settings. If you use tools in different lengths you can automatically measure them and WinPC-NC will compensate differences during a job. Please note the compensation will work at a running job only and not in manual move.
We recommend a certain sequence for it...
- load the nc file and do a raference move
- mount any used tool or best of all the first used tool in the following job
- open tool selection dialog, select the current tool by number and start the measurement function
Now WinPC-NC knows which is the master tool and how long it is.
- set the Z zero point on on the material
- start the job
WinPC-NC runs the job and at each tool change the new mounted tool is measured by length and any differences to the master tool will be recalculated and compensate automatically.
-----cut
There is no problem to combine both functions if you have a Z probe you can fix and you can put onto your material. But please note, the tool length is compasated in running job only and NOT to the defined zero point. We will enhance this in upcomming version.
Regards
Burkhard
Hello Burkhard,
thank you for the detailed explanation.
If I understand correctly:
The Surface Block function only defines the Z zero point based on the probe height.
The Tool Length Compensation works separately and only becomes active during a running job.
The compensation does not adjust the manually defined Z zero point.
That distinction was exactly what I was unsure about.
Hello Burkhard,
thank you for the detailed explanation.
If I understand correctly:
The Surface Block function only defines the Z zero point based on the probe height.
The Tool Length Compensation works separately and only tunnel rush active during a running job.
The compensation does not adjust the manually defined Z zero point.
That distinction was exactly what I was unsure about.
If I set the Z zero using the surface block with one tool, and then change to another tool without running a job, the Z reference would no longer be accurate, correct?
Hello,
using different tools length is possible but we recommend a certain sequence and we have a prepared info text for it....
----cut ai picture expander
There are tow different functions in WinPC-NC using the probe sensor...
1. Surface block
This function is for setting the Z zero point on the top of the material. You need a flying probe with cable and you have to put it under the current tool and on top of the material.
By activating the function Move to block Z zero in manual move WinPC-NC moves Z axis down until it touches the probe. It stopps and add the defined probe sensor height to the current Z position and saved this as Z zero point.
This function is for setting Z zero point or Zmaximum depth only and does not affect any tool lengths or the compensation of it.
2. Tool length compensation
There for the probe must be at a fixed position somewhere at the machine bed and the exact position is defined in Tool length settings. If you use tools in different lengths you can automatically measure them and WinPC-NC will compensate differences during a job. Please note the compensation will work at a running job only and not in manual move.
We recommend a certain sequence for it...
- load the nc file and do a raference move
- mount any used tool or best of all the first used tool in the following job
- open tool selection dialog, select the current tool by number and start the measurement function
Now WinPC-NC knows which is the master tool and how long it is.
- set the Z zero point on on the material
- start the job
WinPC-NC runs the job and at each tool change the new mounted tool is measured by length and any differences to the master tool will be recalculated and compensate automatically.
-----cut
There is no problem to combine both functions if you have a Z probe you can fix and you can put onto your material. But please note, the tool length is compasated in running job only and NOT to the defined zero point. We will enhance this in upcomming version.
Regards
Burkhard
That usually points to a tool length offset not being updated correctly after the manual tool change. WinPC-NC may not be re-referencing the Z zero properly, so the system keeps using the previous tool height. You might want to check the tool change routine and ensure a proper re-touch or recalibration step is included after each change.
- 44 Foren
- 7,533 Themen
- 63.8 K Beiträge
- 0 Online
- 26.8 K Mitglieder