We have an sl20 running 316 ss and turning a 5/16-18 thread, when the shop temp drops at night time, the machine temp turns down as well and then the finished OD is too large(Go gauge does not fit). Is there a macro command that we can set so when the temp. (of the machine)falls below a specified degree that we can have change an offset?
Last edited by osmqc; 02-01-2006 at 02:32 PM.
Reason: I got it backwards
I am not where I can reference the HAAS manual at this moment. However, some broad information.
There is not a discrete change (step function) vs time, but rather a proportional change in cutting position that is a function of a number of different components. Such as room, spindle, X and Z axis screws, motor, tool, and other temperature changes. These may and do change at different rates, and will be affected by the work load.
HAAS does have an internal capability to adjust tool position for warm up, but it may not be effective for you because it is simply a timed compensation. There is no temperature measurement if I remember correctly.
Instead of the HAAS internal method you could do the following:
Monitor the change in part size vs time from a cold start to a steady state condition and record the data from which you can create a curve. This will obviously involve a factor due to room temperature change. So different starting room temperatures change the curve. With a curve or curves, then you could create a MACRO with a displacement vs time table from your measured data to correct for the machine variation.
We have experienced monotonic movement (monotonic means no reversal in direction) during lunch hour when the machine was not running. This means there was stored thermal energy in some part of the machine that slowly transferred to another region causing this monotonic change.
In the HAAS manual under settings see 109 thru 112. Maximum compensation is +/-0.002", and maximum time is 300 minutes. I assume it is a linear curve of correction from 0" to the values in 110 thru 112 over time, and from time 0 to your maximum time setting. I do not know what resets this compensation ( what sets time 0 ), but I suspect it is machine power off.
I really think that multiple temperature measurements and some algorithm to combine these and maybe tool number is what is really required to get effective compensation.
Some very qualitative comments for constant room temperature and continuous running of parts --- About 2 hours to reach equilibrium, and the change is about 0.002". ID and OD may change differently. Just warming up the machine does not begin to compare with running parts. Also change of coolant temperature may be a factor. Might be useful to monitor this as well.
All setting are set at zero, time set at zero as well. The machine is running 24/7 and it seems to happening at the same time (2-3am). The HAAS tech guy just told us last night that there is problem with in their software. (during the day the operator makes the adjustments so when there is no one monitering at night the machine is making its own adjustments.) He will be here on Tuesday, and this will be interesting to see what changes he makes, I will let you know on the outcome. In the meantime we will play with those setting with the time to see what happens. Thanks
If all your settings 109 thru 112 are zero, then this means the warm up compensation is inhibited. Thus, there is no automatic compensation. According to the HAAS manual if setting 109 is zero, then "no compensation will be applied". But certainly if all four settings are zero there should be no compensation. Also if 110 thru 112 were all zero, then it should not matter what 109 was set at.
If your operator makes adjustments during the day I assume these are in G52, G5x, or in the tool offsets. These parameters have no time related factor, other than your operator changes, unless you have written a MACRO to in some way modify these values with respect to time or something else related to time. In other words these are normally manually adjusted static values.
Putting together what you have said --- Your machine runs 24/7. Operators are present only during the day. Operators do modify something during the day. The building temperature is reduced at night. There are no operators at night, thus no adjustments. Part size changes at night about 2 or 3 AM. Was there a gradual shift to the changed value at 2 AM? Does this change remain about the same until day shift starts? Is the 2 AM a result of the combined temperature time constant of the building and machine? Is this change tool wear or temperature change, or something else? If operators make adjustments during the day, then why would you not expect to make adjustments at night? When operators make changes during the day are these temperature related, tool wear, or something else? Are the adjustments always monotonic until a tool is changed, or do they change up and down with something like temperature or some other variable?
If your problem is simply a result of room ambient temperature change (really meaning machine frame temperature change), then we could probably design and build for you a system that would provide some degree of automatic compensation relative to one or more temperature inputs.
Your exactly right. The operator has been doing tool offset adjustments untill the machine is at equilibrem temp, then the machine would run fine unattended all day long. The operator would come back around 9pm and reload the barfeeder (still running fine) and by morning parts would be out of tolerance.
We now will be utilizing the 109 settings for start up(Learn something new everyday)
With that said we should be able to start up in the morning enter yes for the compinsation and we should be fine and we will see what happens
The setting 109 will probably useful to you in the morning. I have never used or experimented with this function.
Whether you can initiate a compensation cycle by setting 110 thru 112 and then put a value in 109 is not specified by HAAS.
It maybe that after you set these values it will be necessary to turn power off and back on to initiate the timer. My guess is that this is the case and that anytime power is removed and reapplied that the warm up cycle will be restated. If this is the case, then you can see the problem when power is removed at an abnormal time.
But this will not do anything for the middle of the night problem.
Let's suppose that you have a regular time when various events occur. For example I will use the following values:
1. Heat turns on to a set point of 70 deg at 8 AM.
2. The building and machine have a 5 hour time constant to stablize. Machine stablizes at 1 PM. Assume 3 time constants for 5 hours, or 63 % change in 5/3 hours.
3. Most likely the dimensional change follows an exponential curve subtracted from a constant. Like a capacitor charging from a fixed voltage and resistor. You can run tests to find out what the curve looks like.
4. Building heat is set down to 50 deg at 9 PM. Machine and building stablize at 2 AM.
If building heat is just turned off at night then your building ambient in the middle of the night will not be a constant, and compensation for that will not be possible without measuring the room temperature.
Side note: In a newer HAAS mill manual under parameters after 352 there is a discussion of Electronic Thermal Compensation that corrects for lead screw growth. This relates to parameters 345 thru 351. This does not compensate for room ambient changes.
Put the machine in HAAS mode. This means the content of G52 is added to the active G5x, and is not reset except when explicitly written to. Thus, power down, M30, and RESET button do not resaet the values in G52. Setting 33 is where you define HAAS, FANUC, and YASNAC mode.
HAAS has a real time clock. Thus, you can write a macro that at explicit times of the day you can modify modify G52 to perform your compensation.
In my previous comments there are some errors because I made some assumptions and did not directly reference the lathe manual and experiment on the machine, an SL20. I always preach "do not make assumptons unless absolutely necessary". I was lazy and did not do what I know I should have done.
First, on the lathe there is no HAAS mode at setting 33, just Fanuc and Yasnac. Thus, in my opinion a valuable tool has been left out. However, by programming with macros it is possible accomplish the same function, but not as easy.
Second, the warm-up function is only initiated after a power-on, and a previously set non-zero value is in setting 109 at the time of power-on, and you answer "yes" to a question just after power-on. I found no other way to initiate the warm-up function. If setting 109 is zero at power-on, then said question is not asked, and thus compensation is not and can not be initiated.
The warm-up compensation works in the following manner on our SL20:
HAAS does not list a variable that contains the time varying current value of the compensation. This variable may be total hidden, or it might be one of #700-#749 listed as "Hidden variables for internal use only". Note the settings at 110 and 112 are fixed initial values.
If you run an experiment with "warm-up" activated, then, at an initially fixed preset physical location, you do not see a difference in the position display between MACHINE and WORK as compensation is varying. I do not know where there is any display of this varying compensation value.
To prove that compensation works I had to put a dial indicator on the machine. I located it on the tail stock and monitored the turret head with setting 109 at 3 minutes. Three minutes is short enough to quickly run the test, but not too short. The motion appears approximately linear, but really a plot vs time needs to be made to verify this approximate observation.
It should be noted from what I have said that the MACH position display does not display the actual machine position between absolute machine home and the physical position of the X-Z head during warm-up compensation.
On our machine if I put +0.002 in setting 110, and a large number, like 300, in setting 109, then shortly after power-up with compensation activated I will cut a 0.002" larger diameter, than if compensation was not active, all other settings being unchanged.
Assume your machine has been off long enough to cool to a stable room temperature condition. Then you start the machine without compensation and adjust for correct part size, and set 109 to 300, and 110 to +0.002". Now you power-off, on, and activate compensation. Now your part will be 0.002" too large in diameter.
Different approach: This is an assumption that I have not tested. Set 109 to 300, and 110 to +0.002". Power-off, on, and activate compensation. Now adjust for correct part size, and keep power on. Initially the parts will be correct and electronically the X-Z head will gradually move toward the spindle center line over the next 300 minutes. The various time constants and amount of compensation will determine whether parts are correct at the end of 300 minutes.
A HAAS "feature" I totally dislike. Note: in the computer world any bug is a feature.
Create a small program in MDI and end it with M00. This program will position to some point and I have non-zero values for tool geometry, and within the small program I selected a tool. Put the display in position mode. Both MACH and WORK positions are displayed, and for example I am working with G54. When the program stops on M00 I have a work position displayed correctly. Now select HAND JOG. Boom! My work position is incorrectly displayed because the value from tool geometry has been removed. Same problem if you do RESET. In the HAAS lathe HAAS knows exactly where the turret is under any normal conditions, and therefore should apply the current geometry for the current tool in HAND JOG.
The HAAS tech guy just installed the lastest revision of the software, We now have version 6.12. The problem was when the clock on the machine goes past midnight and starts a new day, all of the thermal compensation memory was erased. Version 6.09 (what we had) was supposed to correct that but also created a new problem,
When the machine is "running" at that time,(midnight) reqardless if setting 109 was activated or not, the machine would do some kind of thermal compensation anyways, this version that we have now is supposed to correct this. We will know more tonight when we let it run.