588,166 active members*
4,529 visitors online*
Register for free
Login
IndustryArena Forum > MetalWorking Machines > Haas Machines > Haas Mills > Hass VF-1 work coordinate problems
Page 3 of 3 123
Results 41 to 59 of 59
  1. #41
    Join Date
    Mar 2003
    Posts
    4826
    And 1Stroke has been switching controller emulations all over the place trying to solve his problem. What might that do to any existing variables and offsets?

    So back to Haas mode, if you can enter values in the G52 offsets by hand, then command additional G52 via the main program, do they add up? Do they cancel out completely with a single G52 X0Y0Z0? I don't want to screw up my machine to find out
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  2. #42
    Join Date
    Jul 2005
    Posts
    12177
    Quote Originally Posted by HuFlungDung
    Do they cancel out completely with a single G52 X0Y0Z0? I don't want to screw up my machine to find out
    That, among other reasons, is why I bought a Simulator.

    They cancel completely with G52X0Y0Z0; although the way it works I think it is more correct to say they are overwritten by what is in the G52 command.

  3. #43
    Join Date
    Mar 2005
    Posts
    1498
    051028-1436 EST USA

    Hu:

    Geof is correct.

    The G52 memory locations are simply locations where values can be placed.

    The instruction
    G52 Xa Yb Zc
    moves the "X value a" to memory location #5201, b to #5202, and c to #5203.

    If you do
    #5201 = a
    #5202 = b
    #5203 = c
    in your program you get exactly the same result, just harder to write and not as clear.

    If you do
    #5201 = #5201 + a --- you will get the X component of G52 increased by the value of a.

    If you do
    G52 Xa Yb
    you will change the X and Y components but leave the Z component unchanged. What this is useful for is controlling your XY position independent of changes to Z which you might do manually. For example the height of your stock might vary and you want to be able to adjust for this.

    .

  4. #44
    Join Date
    Jul 2005
    Posts
    12177
    Two comments:

    1), I think it is really good how some of these threads turn into quite a serious learning experience; with apologies to 2strokes for the partial hijack.

    2), Hu, GAR; do you guys ever do any work or are you sitting in front of your computer all day responding to CNCzone stuff.

  5. #45
    Join Date
    Mar 2003
    Posts
    4826
    Geof,
    I've been online quite a bit lately (sort of between jobs at the moment), so the answer is yes I do work, but no, not for the last few days I am quoting a few jobs though, and turning a few of my old Bobcad drawings into nice solid models in OneCNCXR2. I'm having quite a hoot at it

    I'm keen to learn whatever I can about Haas maintenance and problems, though, since I'm my own serviceman
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  6. #46
    Join Date
    Jul 2005
    Posts
    12177
    Quote Originally Posted by HuFlungDung
    I'm keen to learn whatever I can about Haas maintenance and problems, though, since I'm my own serviceman
    I would guess it costs a few pennies to bring in a tech from Skinners who would be your Haas service provider I assume. I have it a bit lucky, they are about 2-1/2 minutes drive from me.

  7. #47
    Join Date
    Apr 2005
    Posts
    5
    This may not be your problem but I thought it might be helpful anyways.

    I would first recommend that you make sure you have the most current software available because I found out as a new owner of a TM1 that I needed the latest version of software to run the metric version on the machine. It got to the point where I was thinking I was an idiot only to finally call Haas and they explained they were having problems with the Metric sytem on the machine. I switched over to Imperial and voila the machine worked like it was supposed to. Since then my dealer upgraded the software and it seems like everything works fine now.

    My point is that it could be a bug in their software.

    Good Luck

  8. #48
    Join Date
    Oct 2005
    Posts
    10
    choquer,
    I am starting to think my problem is in the software also,because no matter if the positioning is right or wrong the machine will repeat.If you call up a G54 X0.0 Y0.0 Z0.0 it does fine but if you call up G55-G59 X0.0 Y0.0 Z0.0 it will go to G55 X0.0 Y0.0 but it moves in Z to the Z0.0 G54 position.I do not think it is just a factory flaw though. The machine has been operating for years with no problems like this until recently.

  9. #49
    Join Date
    Mar 2005
    Posts
    1498
    051030-2218 EST USA

    The results from running the following CNC program on our VF-3 1998 follows the program.

    I initially manually set, using the offset page, the following values:

    G52 0.1 0.2 0.3 for X Y Z
    G54 8.99 8.21 -2.00
    G55 21.265 7.247 -2.50

    You will note the sign reversal in the Test Program output.

    HAAS setting 33 is HAAS mode.

    The initial default G5X is G55 because this is an older HAAS machine, and the last program run, namely this one, left the machine in G55.

    You may find this a mental challange to figure out what is going on. It can be confusing.

    All those M00s are to prevent HAAS buffer overflow, even at 115 kbaud. At lower baud rates you might need more M00s. G09 does not solve the problem.

    Also note that DPRINT does not work. You have to spell it their way. It is too easy to type PRINT instead of PRNT.


    %
    O3012

    DPRNT [------- Test Program ------- 051030-2154 ]
    DPRNT []
    DPRNT [------- Tool 1 is selected and used throughout program]
    DPRNT []
    DPRNT []
    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] ---- 5201 Values in offset table.]
    DPRNT [ G54 X#5221[24] Y#5222[24] Z#5223[24] ---- 5221 Signs reversed from those]
    DPRNT [ G55 X#5241[24] Y#5242[24] Z#5243[24] ---- 5241 **in the table.]
    DPRNT []
    M00
    DPRNT [ T00 #2000[24] --- adrs 2000 --- if such a tool exists]
    DPRNT [ T01 #2001[24] --- adrs 2001]
    DPRNT [ T02 #2002[24] --- adrs 2002]
    DPRNT [ T03 #2003[24] --- adrs 2003]
    DPRNT []

    G53 G0 Z0.0 (make sure Z is absolute home)
    G90 (absolute)
    G80 M09 (cancel canned cycle, and coolant off)
    T01 M06 (select tool 1 and init tool change)
    G43 H01 (tool len comp +, len offset 1)
    S100 M03 (a low motor speed, start motor)

    F100.0 (G01 won't work without a feed specified)

    G52 X0 Y0 Z0 (make sure G52 is zeroed)
    G53 Z0
    G53 X0 Y0
    DPRNT [ G53 Z0 G53 X0 Y0 --- Machine forced to move to 0 0 0 absolute]
    DPRNT []
    DPRNT []

    DPRNT [Point 0 --- Machine motion --- M00]
    DPRNT []
    M00

    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] ---- 5201 **G52 Forced to zeros]
    DPRNT []
    DPRNT [ Currently in G53 and machine sent to 0 0 0]
    DPRNT []
    DPRNT [ X#5001[24] Y#5002[24] Z#5003[24] --- 5001 Prev block end position]
    DPRNT [ X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT [ X#5041[24] Y#5042[24] Z#5043[24] --- 5041 Position relative to current G5X]
    DPRNT []

    G54 (Point 1)
    DPRNT [Point 1 --- G54 executed --- No machine motion --- M00]
    DPRNT []
    M00

    DPRNT [ X#5001[24] Y#5002[24] Z#5003[24] --- 5001 Prev block end position]
    DPRNT [ X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT [ X#5041[24] Y#5042[24] Z#5043[24] --- 5041 Position relative to current G5X]
    DPRNT []
    M00
    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] --- 5201 Values in offset table]
    DPRNT [ G54 X#5221[24] Y#5222[24] Z#5223[24] --- 5221 ditto]
    DPRNT [ G55 X#5241[24] Y#5242[24] Z#5243[24] --- 5241 ditto]
    DPRNT []

    G01 Z0.0
    DPRNT [Point 2 --- G01 Z0 executed --- based on G54 --- Machine motion --- M00]
    DPRNT []
    M00

    (Point 2)
    (this should take you to machine position of the content of G54 )
    (--- tool 1 length and wear)
    DPRNT [ This should take you to machine position of G54 and tool length.]
    M00

    DPRNT [ X#5001[24] Y#5002[24] Z#5003[24] --- 5001 Prev block end position]
    DPRNT [ X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT [ X#5041[24] Y#5042[24] Z#5043[24] --- 5041 Position relative to current G5X]
    DPRNT []
    M00
    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] --- 5201 Values in offset table]
    DPRNT [ G54 X#5221[24] Y#5222[24] Z#5223[24] --- 5221 ditto]
    DPRNT [ G55 X#5241[24] Y#5242[24] Z#5243[24] --- 5241 ditto]
    DPRNT []

    G52 Z-1.0
    DPRNT [Point 3 --- G52 Z-1 executed --- based on G54 --- No Machine motion --- M00]
    DPRNT []
    M00

    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] --- Values in offset table]
    DPRNT []
    DPRNT [ X#5001[24] Y#5002[24] Z#5003[24] --- 5001 Prev block end position]
    DPRNT [ X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT [ X#5041[24] Y#5042[24] Z#5043[24] --- 5041 Position relative to current G5X]
    DPRNT []
    M00




    G01 Z0.0 (should go 1" lower in Z)
    DPRNT [Point 4 G01 Z0 executed --- with new G52 Z value --- Machine motion --- M00]
    DPRNT [ --- machine position should go 1 inch lower]
    DPRNT []
    M00

    DPRNT [ X#5001[24] Y#5002[24] Z#5003[24] --- 5001 Prev block end position]
    DPRNT [ X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT [ X#5041[24] Y#5042[24] Z#5043[24] --- 5041 Position relative to current G5X]
    DPRNT []
    M00
    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] --- 5201 Values in offset table]
    DPRNT [ G54 X#5221[24] Y#5222[24] Z#5223[24] --- 5221 ditto]
    DPRNT [ G55 X#5241[24] Y#5242[24] Z#5243[24] --- 5241 ditto]
    DPRNT []

    G52 Z0.0 (rezero G52 Z)
    DPRNT [Point 5 G52 Z0 executed --- rezero G52 Z --- No Machine motion --- M00]
    DPRNT []
    M00

    DPRNT [ X#5001[24] Y#5002[24] Z#5003[24] --- 5001 Prev block end position]
    DPRNT [ X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT [ X#5041[24] Y#5042[24] Z#5043[24] --- 5041 Position relative to current G5X]
    DPRNT []
    M00
    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] --- 5201 Values in offset table]
    DPRNT [ G54 X#5221[24] Y#5222[24] Z#5223[24] --- 5221 ditto]
    DPRNT [ G55 X#5241[24] Y#5242[24] Z#5243[24] --- 5241 ditto]
    DPRNT []

    G55 (change work coordinate)
    DPRNT [Point 6 G55 executed --- G55 is new work coordinate --- No Machine motion --- M00]
    DPRNT []
    M00

    DPRNT [ X#5001[24] Y#5002[24] Z#5003[24] --- 5001 Prev block end position]
    DPRNT [ X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT [ X#5041[24] Y#5042[24] Z#5043[24] --- 5041 Position relative to current G5X]
    DPRNT []
    M00
    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] --- 5201 Values in offset table]
    DPRNT [ G54 X#5221[24] Y#5222[24] Z#5223[24] --- 5221 ditto]
    DPRNT [ G55 X#5241[24] Y#5242[24] Z#5243[24] --- 5241 ditto]
    DPRNT []

    G01 Z0.0
    DPRNT [Point 7 G01 Z0 executed --- G55 is reference --- Machine motion --- M00]
    M00
    DPRNT [ --- should take you to machine position of the content of G55 --- tool 1 len and wear]
    DPRNT []
    M00

    DPRNT [ X#5001[24] Y#5002[24] Z#5003[24] --- 5001 Prev block end position]
    DPRNT [ X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT [ X#5041[24] Y#5042[24] Z#5043[24] --- 5041 Position relative to current G5X]
    DPRNT []
    M00
    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] --- 5201 Values in offset table]
    DPRNT [ G54 X#5221[24] Y#5222[24] Z#5223[24] --- 5221 ditto]
    DPRNT [ G55 X#5241[24] Y#5242[24] Z#5243[24] --- 5241 ditto]
    DPRNT []



    M00
    M30

    %


    The results:

    ------- TEST PROGRAM ------- 051030-2154

    ------- TOOL 1 IS SELECTED AND USED THROUGHOUT PROGRAM


    G52 X- 0.1000 Y- 0.2000 Z- 0.3000 ---- 5201 VALUES IN OFFSET TABLE.
    G54 X- 8.9900 Y- 8.2100 Z 2.0000 ---- 5221 SIGNS REVERSED FROM THOSE
    G55 X-21.2650 Y- 7.2470 Z 3.7000 ---- 5241 IN THE TABLE.

    T00 0.0000 --- ADRS 2000 --- IF SUCH A TOOL EXISTS
    T01 -15.4610 --- ADRS 2001
    T02 0.6260 --- ADRS 2002
    T03 -14.1300 --- ADRS 2003

    G53 Z0 G53 X0 Y0 --- MACHINE FORCED TO MOVE TO 0 0 0 ABSOLUTE


    POINT 0 --- MACHINE MOTION --- M00

    G52 X 0.0000 Y 0.0000 Z 0.0000 ---- 5201 G52 FORCED TO ZEROS

    CURRENTLY IN G53 AND MACHINE SENT TO 0 0 0

    X21.2650 Y 7.2470 Z11.7610 --- 5001 PREV BLOCK END POSITION
    X 0.0000 Y 0.0000 Z 0.0000 --- 5021 MACHINE ABSOLUTE POSITION
    X21.2650 Y 7.2470 Z- 3.7000 --- 5041 POSITION RELATIVE TO CURRENT G5X

    POINT 1 --- G54 EXECUTED --- NO MACHINE MOTION --- M00

    X 8.9900 Y 8.2100 Z13.4610 --- 5001 PREV BLOCK END POSITION
    X 0.0000 Y 0.0000 Z 0.0000 --- 5021 MACHINE ABSOLUTE POSITION
    X 8.9900 Y 8.2100 Z- 2.0000 --- 5041 POSITION RELATIVE TO CURRENT G5X

    G52 X 0.0000 Y 0.0000 Z 0.0000 --- 5201 VALUES IN OFFSET TABLE
    G54 X- 8.9900 Y- 8.2100 Z 2.0000 --- 5221 DITTO
    G55 X-21.2650 Y- 7.2470 Z 3.7000 --- 5241 DITTO

    POINT 2 --- G01 Z0 EXECUTED --- BASED ON G54 --- MACHINE MOTION --- M00

    THIS SHOULD TAKE YOU TO MACHINE POSITION OF G54 AND TOOL LENGTH.
    X 8.9900 Y 8.2100 Z 0.0000 --- 5001 PREV BLOCK END POSITION
    X 0.0000 Y 0.0000 Z-13.4610 --- 5021 MACHINE ABSOLUTE POSITION
    X 8.9900 Y 8.2100 Z-15.4610 --- 5041 POSITION RELATIVE TO CURRENT G5X

    G52 X 0.0000 Y 0.0000 Z 0.0000 --- 5201 VALUES IN OFFSET TABLE
    G54 X- 8.9900 Y- 8.2100 Z 2.0000 --- 5221 DITTO
    G55 X-21.2650 Y- 7.2470 Z 3.7000 --- 5241 DITTO

    POINT 3 --- G52 Z-1 EXECUTED --- BASED ON G54 --- NO MACHINE MOTION --- M00

    G52 X 0.0000 Y 0.0000 Z- 1.0000 --- VALUES IN OFFSET TABLE

    X 8.9900 Y 8.2100 Z 1.0000 --- 5001 PREV BLOCK END POSITION
    X 0.0000 Y 0.0000 Z-13.4610 --- 5021 MACHINE ABSOLUTE POSITION
    X 8.9900 Y 8.2100 Z-14.4610 --- 5041 POSITION RELATIVE TO CURRENT G5X

    POINT 4 G01 Z0 EXECUTED --- WITH NEW G52 Z VALUE --- MACHINE MOTION --- M00
    --- MACHINE POSITION SHOULD GO 1 INCH LOWER

    X 8.9900 Y 8.2100 Z 0.0000 --- 5001 PREV BLOCK END POSITION
    X 0.0000 Y 0.0000 Z-14.4610 --- 5021 MACHINE ABSOLUTE POSITION
    X 8.9900 Y 8.2100 Z-15.4610 --- 5041 POSITION RELATIVE TO CURRENT G5X

    G52 X 0.0000 Y 0.0000 Z- 1.0000 --- 5201 VALUES IN OFFSET TABLE
    G54 X- 8.9900 Y- 8.2100 Z 2.0000 --- 5221 DITTO
    G55 X-21.2650 Y- 7.2470 Z 3.7000 --- 5241 DITTO

    POINT 5 G52 Z0 EXECUTED --- REZERO G52 Z --- NO MACHINE MOTION --- M00

    X 8.9900 Y 8.2100 Z- 1.0000 --- 5001 PREV BLOCK END POSITION
    X 0.0000 Y 0.0000 Z-14.4610 --- 5021 MACHINE ABSOLUTE POSITION
    X 8.9900 Y 8.2100 Z-16.4610 --- 5041 POSITION RELATIVE TO CURRENT G5X

    G52 X 0.0000 Y 0.0000 Z 0.0000 --- 5201 VALUES IN OFFSET TABLE
    G54 X- 8.9900 Y- 8.2100 Z 2.0000 --- 5221 DITTO
    G55 X-21.2650 Y- 7.2470 Z 3.7000 --- 5241 DITTO

    POINT 6 G55 EXECUTED --- G55 IS NEW WORK COORDINATE --- NO MACHINE MOTION --- M00

    X21.2650 Y 7.2470 Z- 2.7000 --- 5001 PREV BLOCK END POSITION
    X 0.0000 Y 0.0000 Z-14.4610 --- 5021 MACHINE ABSOLUTE POSITION
    X21.2650 Y 7.2470 Z-18.1610 --- 5041 POSITION RELATIVE TO CURRENT G5X

    G52 X 0.0000 Y 0.0000 Z 0.0000 --- 5201 VALUES IN OFFSET TABLE
    G54 X- 8.9900 Y- 8.2100 Z 2.0000 --- 5221 DITTO
    G55 X-21.2650 Y- 7.2470 Z 3.7000 --- 5241 DITTO

    POINT 7 G01 Z0 EXECUTED --- G55 IS REFERENCE --- MACHINE MOTION --- M00
    --- SHOULD TAKE YOU TO MACHINE POSITION OF THE CONTENT OF G55 --- TOOL 1 LEN AND WEAR

    X21.2650 Y 7.2470 Z 0.0000 --- 5001 PREV BLOCK END POSITION
    X 0.0000 Y 0.0000 Z-11.7610 --- 5021 MACHINE ABSOLUTE POSITION
    X21.2650 Y 7.2470 Z-15.4610 --- 5041 POSITION RELATIVE TO CURRENT G5X

    G52 X 0.0000 Y 0.0000 Z 0.0000 --- 5201 VALUES IN OFFSET TABLE
    G54 X- 8.9900 Y- 8.2100 Z 2.0000 --- 5221 DITTO
    G55 X-21.2650 Y- 7.2470 Z 3.7000 --- 5241 DITTO


    .

  10. #50
    Join Date
    Mar 2005
    Posts
    1498
    051031-2008 EST USA

    Some comments relative to my previous post.

    You can copy the entire program from % to % with the Windows CTRL-C function and paste it somewhere with CTRL-V. Or you can take pieces of the program and copy them. You have to understand the problems with DPRNT and look-ahead.

    If you run the program I suggest no tool in pocket 1. Set your offsets at safe values, and rapid at 25%.

    If you overflow the HAAS RS232 output buffer you may get the erroneous error message:

    "414 RS-232 buffer overflow. Data sent too fast to CNC. This alarm is not possible as this control can keep up with even 115200 bits per second. Computer sending data may not respond to XOFF."

    Here are the problems with this message:
    1st. It implies that data is being sent to the CNC. Incorrect --- the CNC is sending data.
    2nd. This alarm is not possible. Then why the alarm? If it is not possible then why does the message exist?
    3rd. If the CNC can keep up with 115.2 kbaud and this is maximum baud rate, then the CNC should never have to send an XOFF. But it is not true that HAAS can continuously receive a program load at 115.2 kbaud without handshake.

    Their error message should have read something like:

    "414 The HAAS RS232 output buffer was overflowed because HAAS does not have a large enough output buffer to accept the amount of data you sent from your CNC program via DPRNT statements. You must space these or slow them down because we do not want to make a larger buffer and/or provide a mechanism to automatically prevent overflow. Rather we prefer to crash your program."

    Some more HAAS problems while I am at it, then I will get back to my program and data output.

    HAAS processing of comments have problems and limitations. They probably define these as features. You can can not put a % in a comment. This terminates program loading. You can not put parens in a comment. Comments are limited to some unspecified length, and produce an erroneous error message when too long. A comment should allow any of the 128 normal ASCII characters (7 bit code).

    DPRNT is even worse. The allowable character set is far too limited. If you want multiple spaces you put in * for each space. This means you can not output a *. Formatting --- "if the value of the whole part has fewer digits than have been reserved, then leading spaces are output." The problem here is that there is no space reserved for sign. Thus, a column of numbers that switch between +/- do not have the decimal points aligned because + is not output as a space (blank, ASCII hex 20). Note % if allowed would cause the same problem as in comments.

    Anyone skilled in programming can solve these problems.

    DPRNT and look-ahead. The actual processing of DPRNT statements should not be done as the CNC code is first read. Rather this processing should be done at the point in the CNC machine operation after the instruction just preceeding the DPRNT is actually performed. Then without stopping look-ahead, which does not seem to work, one could output correct position on the fly.

    #5021-#5025 are the locations of the absolute machine position. The machine absolute zero position is the table to the left and front, and the head up.

    In my test program the machine was moved to this position and for X and Y and never moved in X and Y from absolute 0. So you see the machine absolute X and Y positions always 0.

    Since the machine never physically moved from this X and Y position you see the X and Y values for "Prev Block End Position" and "Position Relative to Current G5X" take on the values from the current G5X at the time of the DPRNT. This would not have occurred if I had not interspersed the M00s to stop look-ahead.

    Note: G53 is never modified by anything except its own arguments.

    IF setting 33 = HAAS or Fanuc, then the content of G52 adds algebraically to the content of the current G5X. Points 2, 3, and 7 in the output are a good place to see this.

    .

  11. #51
    Join Date
    Mar 2005
    Posts
    1498
    051101-1544 EST USA

    In my previous experiments G09 and G103 did not produce the results I expected, and still do not on our 1998 VF-3. I have not run the experiments on any other machines. The M00 does produce the expected results.

    The following program is a modification of my previous program to focus on the operation of G103 and G09. The results of running the program and with some minor variations are shown after the program.

    %
    O3014

    DPRNT [------- Test Program ------- 051101-0933 ]
    DPRNT []
    DPRNT [------- Tool 1 is selected and used throughout program]
    DPRNT []
    DPRNT []
    DPRNT [ G52 X#5201[24] Y#5202[24] Z#5203[24] ---- 5201 Values in offset table.]
    DPRNT [ G54 X#5221[24] Y#5222[24] Z#5223[24] ---- 5221 Signs reversed from those]
    DPRNT [ G55 X#5241[24] Y#5242[24] Z#5243[24] ---- 5241 **in the table.]
    DPRNT []
    M00
    DPRNT [ T01 #2001[24] --- adrs 2001]
    DPRNT []

    G53 G0 Z0.0 (make sure Z is absolute home)
    G90 (absolute)
    G80 M09 (cancel canned cycle, and coolant off)
    T01 M06 (select tool 1 and init tool change)
    G43 H01 (tool len comp +, len offset 1)
    S100 M03 (a low motor speed, start motor)

    F100.0 (G01 won't work without a feed specified)

    G52 X0 Y0 Z0 (make sure G52 is zeroed)
    G53 Z0
    G53 X0 Y0
    DPRNT [ G53 Z0 G53 X0 Y0 --- Machine forced to move to 0 0 0 absolute]
    DPRNT []
    DPRNT []

    DPRNT [Point 0 --- Machine motion --- M00]
    DPRNT []
    M00

    DPRNT [Point 2 --- G54 G01 G09 X1.1 Y1.2 Z1.3 --- Machine forced to move ]
    DPRNT []
    DPRNT []

    M00
    G54
    G103 P1
    G01 G09 X 1.1 Y 1.2 Z-1.3
    DPRNT []
    G04 P50
    DPRNT [****Pt 20******* X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT [****Pt 21******* X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    DPRNT []
    G04 P50
    DPRNT [****Pt 22******* X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]
    M00
    DPRNT []
    DPRNT [****Pt 23******* X#5021[24] Y#5022[24] Z#5023[24] --- 5021 Machine absolute position]

    G01 X0 Y0 Z0


    M00
    M30

    %

    The first results are from this program unmodified. Setting 85 whether 0.005 or 0.000,1 had no effect on the result.

    File name 051101-0957-49.TIM

    ------- TEST PROGRAM ------- 051101-0933

    ------- TOOL 1 IS SELECTED AND USED THROUGHOUT PROGRAM


    G52 X 0.0000 Y 0.0000 Z 0.0000 ---- 5201 VALUES IN OFFSET TABLE.
    G54 X- 8.9900 Y- 8.2100 Z 2.0000 ---- 5221 SIGNS REVERSED FROM THOSE
    G55 X-21.2650 Y- 7.2470 Z 3.7000 ---- 5241 IN THE TABLE.

    T01 -15.4610 --- ADRS 2001

    G53 Z0 G53 X0 Y0 --- MACHINE FORCED TO MOVE TO 0 0 0 ABSOLUTE


    POINT 0 --- MACHINE MOTION --- M00

    POINT 2 --- G54 G01 G09 X1.1 Y1.2 Z1.3 --- MACHINE FORCED TO MOVE



    PT 20 X- 7.8895 Y- 7.0096 Z-14.7602 --- 5021 MACHINE ABSOLUTE POSITION
    PT 21 X- 7.8898 Y- 7.0099 Z-14.7607 --- 5021 MACHINE ABSOLUTE POSITION

    PT 22 X- 7.8899 Y- 7.0099 Z-14.7608 --- 5021 MACHINE ABSOLUTE POSITION

    PT 23 X- 7.8900 Y- 7.0100 Z-14.7610 --- 5021 MACHINE ABSOLUTE POSITION

    The results at PT 23 are correct and come after the M00.




    I played with the code after G01 G09 X1.1 etc. And last removed the DPRNT [], G04 P50 following the G01 G09, and increased the remaining G04 to 2. seconds. The results follow, but still are not correct until after M00.

    File name 051101-1513-24.TIM

    ------- TEST PROGRAM ------- 051101-0933

    ------- TOOL 1 IS SELECTED AND USED THROUGHOUT PROGRAM


    G52 X 0.0000 Y 0.0000 Z 0.0000 ---- 5201 VALUES IN OFFSET TABLE.
    G54 X- 8.9900 Y- 8.2100 Z 2.0000 ---- 5221 SIGNS REVERSED FROM THOSE
    G55 X-21.2650 Y- 7.2470 Z 3.7000 ---- 5241 IN THE TABLE.

    T01 -15.4610 --- ADRS 2001

    G53 Z0 G53 X0 Y0 --- MACHINE FORCED TO MOVE TO 0 0 0 ABSOLUTE


    POINT 0 --- MACHINE MOTION --- M00

    POINT 2 --- G54 G01 G09 X1.1 Y1.2 Z1.3 --- MACHINE FORCED TO MOVE


    PT 20 X- 7.8895 Y- 7.0096 Z-14.7602 --- 5021 MACHINE ABSOLUTE POSITION
    PT 21 X- 7.8896 Y- 7.0097 Z-14.7604 --- 5021 MACHINE ABSOLUTE POSITION

    PT 22 X- 7.8898 Y- 7.0098 Z-14.7607 --- 5021 MACHINE ABSOLUTE POSITION

    PT 23 X- 7.8900 Y- 7.0100 Z-14.7610 --- 5021 MACHINE ABSOLUTE POSITION


    Will a much longer time delay get me to the correct location? Do not know at this point.

    What these test may do for you is to present ideas on how to troubleshoot problems, and variations to look out for in machines.

    Note: HAAS converts * to space character, but this web site deletes what they consider excess spaces. That is no good for formatting output.

    .

  12. #52
    Join Date
    Mar 2005
    Posts
    1498
    051102-1235 EST USA

    I increased the delay between PT 21 and PT 22 to 20 seconds. This made no difference.

    Next I changed the HAAS default value of parameter 136 (Z exact stop) of 180 to 15. This got us to the correct position at PT 22 with a preceeding time delay of 5 ms and within 0.000,1 at PT 20.

    With G09 removed the results are off by 0.025 to 0.035 at PT 20, and a delay of 2.0 seconds to PT 22 leaves PT 22 short of the correct position by about 0.008 in X and 0.013 in Z.

    The major conclusion is that if you want to know where the actual machine position is with DPRNT and the # values, then you need to be careful in how the program is written.

    For good results look-ahead must be disabled (G103 P1), the Exact Stop parameters must be small (like 15), and a slight delay is necessary after the move and before the DPRNT.

    .

  13. #53
    Join Date
    May 2004
    Posts
    4519

    G54 vs. G55 - G59

    All "Z" values for all work coordinates must be set to the "Z" work zero plane. I only read where you are setting the G54 "Z" to the work zero plane.

  14. #54
    Join Date
    Mar 2005
    Posts
    1498
    060318-2036 EST USA

    1strokedrs:

    Have you ever solved your problem and what did you find?

    .

  15. #55
    Join Date
    Dec 2010
    Posts
    0

    tool touchoff is the problem

    This is a really old post, but for others who are reading this later (as I did) the thing that is likely wrong is the screwy way he is touching off tools. Nobody else I have ever heard of touches them off that way on a Haas mill--with the Z of the coordinate system being used as the offset for the first tool in your program, using the length offset for each additional tool, leaving the length of that first tool zero, and touching off all subsequent tools with that offset active.

    I have used a 1995 vf1, a 1996 vf3, currently own a 1997 vf2 and a 2005 vf5-50. ALL of them I touch off tools the same way and it works on all Haas mills all of the time. Over 3500 mill programs so far, and it works all the time on all mills. There are other ways, and I am not saying my way is best, just that it is consistent, and works.

    For vise work, I touch off the top of the part (or where Z zero would be if you have finishing stock on top) and put the Z in the tool offset page, not the coordinate system Z--leave that at Zero.

    For indexer work, I use a 4" or 6" hardened block that represents the center line of each indexer I have. I touch all tools off there, and no matter which way you index, you program above the center, using the same coordinate system all the way around the part.

    For 5c collet fixtures like a 10-up Beere fixture, I use a coordinate system for each collet, so I can use subprograms for them, and use the coordinate system's Z to float up or down as needed at each collet if that collet stop is slightly higher or lower than the others, or if you have first side in 5 collets and second side in the other half of the collets.

    There are other ways to do things, and I am not saying I have the only right way. Some touch everything off a 4" jo-block for vise and indexer work, and use the coordinate system Z value to raise or lower the Z to whichever fixture height actually is (on vise or on indexer). Whatever works for your shop.

    This is an old topic and I am just replying to it so people who come upon it and find it disturbing or puzzling or have the same problem can maybe find a way that works.

  16. #56
    Join Date
    Mar 2010
    Posts
    84
    Quote Originally Posted by skm View Post
    This is a really old post, but for others who are reading this later (as I did) the thing that is likely wrong is the screwy way he is touching off tools. Nobody else I have ever heard of touches them off that way on a Haas mill--with the Z of the coordinate system being used as the offset for the first tool in your program, using the length offset for each additional tool, leaving the length of that first tool zero, and touching off all subsequent tools with that offset active.
    What you describe on setting tool offsets sounds just like how I set up my tools on our VF-2. It works great! In this machine, T1 is always a spot drill and I have the length offset set at 0. The 2 main families of parts I run in this machine both use 3 work offsets, so I touch off the T1 spot drill to the Z0. area on the part/fixture to set the Z offset for G54/G55/G56. I touch all my tools to the back end of my vise, and I leave that surface set up as G110. So anytime I need to set up a new tool, I just go to MDI, enter G110 and hit cycle start. Touch off the tool to the back of the vise and its good to go.

    How I originally was taught to set up tools was to leave all the work offsets Z set to 0. and touch each tool to its respective part/fixture. That was a PITA for me when I would finish one part and start on a similar part with different fixtures using the same tools. Because then I would have to retouch 15-16 tools all over again to the next fixtures. The way I do it now, I touch the spot drill 3 times, once to each new fixture and everything is golden :rainfro:

  17. #57
    Join Date
    Aug 2009
    Posts
    684
    There is nothing positive about negative tool lengths

    DP

  18. #58
    Join Date
    Apr 2010
    Posts
    200
    Quote Originally Posted by christinandavid View Post
    There is nothing positive about negative tool lengths

    DP
    If you touch off the tools to a common point - the top of the fixed jaw, a 1-2-3 block, etc, then set the G54 offset to the distance from that point to the part's Z0, then all your tool lengths will be negative. Even the way described in the previous posts there will be negative offsets if tools are shorter than the tool set to 0.
    Apparently I don't know anything, so please verify my suggestions with my wife.

  19. #59
    Join Date
    Dec 2010
    Posts
    0

    like using a probe

    Quote Originally Posted by DruMor View Post
    What you describe on setting tool offsets sounds just like how I set up my tools on our VF-2. It works great! In this machine, T1 is always a spot drill and I have the length offset set at 0. The 2 main families of parts I run in this machine both use 3 work offsets, so I touch off the T1 spot drill to the Z0. area on the part/fixture to set the Z offset for G54/G55/G56. I touch all my tools to the back end of my vise, and I leave that surface set up as G110. So anytime I need to set up a new tool, I just go to MDI, enter G110 and hit cycle start. Touch off the tool to the back of the vise and its good to go.

    How I originally was taught to set up tools was to leave all the work offsets Z set to 0. and touch each tool to its respective part/fixture. That was a PITA for me when I would finish one part and start on a similar part with different fixtures using the same tools. Because then I would have to retouch 15-16 tools all over again to the next fixtures. The way I do it now, I touch the spot drill 3 times, once to each new fixture and everything is golden :rainfro:
    The way you are doing it now is very similar to the way I do it in my vf5-50--with the factory probe. Just instead of using tool 1 touched off on the vise, you touch off the probe to the workpiece in that vise, then touch off the probe on the second part, etc.
    All tools in the toolchanger are touched off all the time, you just touch the probe off each different part and you are good to go.
    Much faster.

Page 3 of 3 123

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •