584,871 active members*
5,300 visitors online*
Register for free
Login
IndustryArena Forum > MetalWorking Machines > Haas Machines > Haas Mills > Displaying variable values onscreen?
Page 1 of 2 12
Results 1 to 20 of 30
  1. #1
    Join Date
    Aug 2007
    Posts
    47

    Displaying variable values onscreen?

    Hello,

    I needed to use my probe to measure a few parts today, and I know that variable #188 holds the diameter of a part probed with the renishaw probe bore cycle (#188 technically holds the "size" measured for any feature with the macros). I wanted to print it onscreen for the user to see, but HAAS tells me this is impossible with anything but the absolute latest in pendant code (my machine is only 1 yr old).

    Do you guys know otherwise?

    I know I can set a pause with a message using variable #3006, or an alarm with #3000 (or #3001?), but neither of those will display a variable's value with anything I have tried.

    I have a serial printer hooked up right now, but we use it elsewhere in the shop and I don't want to have to always use it.

    I also know I could have an IF statement and determine if the part is in spec automatically and print that, but I would still like to be able to just display a value onscreen for times where that is more appropriate.

    And ideas?
    Thanks!
    -Taylor

  2. #2
    Join Date
    Mar 2006
    Posts
    474
    How about setting #3006=#188, and pausing with that?

    Interesting problem, I'm gonna think about this one for a bit more.

  3. #3
    Join Date
    Mar 2006
    Posts
    474
    Wait, isn't there a page under Current Commands that displays the variables?

  4. #4
    Join Date
    Aug 2007
    Posts
    47
    Quote Originally Posted by vlmarshall View Post
    How about setting #3006=#188, and pausing with that?

    Interesting problem, I'm gonna think about this one for a bit more.
    #3006=#188 causes an error, as #188 is a decimal value.

    You can set #3006 equal to any number from 1 to i believe 99 or something, which can be used as a code along with the message. Since my value is a decimal it causes an error.

    #3006=1(This text is displayed)

    Is the format, but I have tried

    #3006=1(#188)
    and that doesn't work, it just displays the pound sign and 188, not the variable's value.

    I have also tried
    #3006=1(#188[24])

    because DPRNT seems to like that [24] and i thought it would help, but no, it just displayed that too.

    The guy at HAAS was kinda lame - he said "It doesn't do it because no one needs it." Which was rediculous because:

    A) I need it.

    B) Just because he hasn't heard any complaints doesn't mean people don't need it. Hell, I've found that many users of our products don't "need" new features until we add them, and then they appreciate and use them.

    It is also just weird because you can display custom messages, and you can send variables out the serial port, but you can't put variables in custom messages. If people might need a custom message, and they might need to have data sent out the serial port to a serial printer or computer, who decided they wouldn't also get some use out of putting variables in the custom message displayed onscreen?

    Lame.

    I still think it might be possible.
    -Taylor

  5. #5
    Join Date
    Mar 2006
    Posts
    474
    Yeah, that IS lame. I'm going to play with this tommorrow at work. I think it's possible too.

  6. #6
    Join Date
    Aug 2007
    Posts
    47
    Quote Originally Posted by vlmarshall View Post
    Wait, isn't there a page under Current Commands that displays the variables?
    Yes, but then my operator has to go to that page and find the variable each time.

    I did just realize that if you have just been there, it remembers where you were, so it's not too bad to just go look there again because you don't have to hit page down again, but it still seems like a basic functionality that would be more useful than navigating to that page each time. My operator often forgets things like which variable number is the correct one, for example. It would be easier if my code could just tell him the number he needs.
    -Taylor

  7. #7
    Join Date
    Apr 2005
    Posts
    713
    For the time being, could you go:

    M0
    (CRNT CMDS, PAGE DOWN, RECORD #188)

    Or something to that effect? I know it's not what you want, but it would atleast leave no room for excuses for the operator.

    Also, out of curiosity, why are you not automatically updating the offset page after probing? That would avoid the operators' involvment entirely.

  8. #8
    Join Date
    Aug 2007
    Posts
    47
    Quote Originally Posted by Matt@RFR View Post
    For the time being, could you go:

    M0
    (CRNT CMDS, PAGE DOWN, RECORD #188)

    Or something to that effect? I know it's not what you want, but it would atleast leave no room for excuses for the operator.
    I mostly just want to give him some nice code to make him happy. Part of my job is learning new things to make the shop better, not just getting jobs done.

    Quote Originally Posted by Matt@RFR View Post
    Also, out of curiosity, why are you not automatically updating the offset page after probing? That would avoid the operators' involvement entirely.
    We aren't zeroing the parts, we are measuring them. After you probe a bore or a boss, #188 holds the measurement.
    -Taylor

  9. #9
    Join Date
    Apr 2005
    Posts
    713
    I understood that. You can update the tool offset page (wear) with the probing macros as well as the work offsets.

  10. #10
    Join Date
    Aug 2007
    Posts
    47
    Quote Originally Posted by Matt@RFR View Post
    I understood that. You can update the tool offset page (wear) with the probing macros as well as the work offsets.
    I don't need to update anything, we are just taking final measurements for inspection. All i need is the diameter of the bore.
    -Taylor

  11. #11
    Join Date
    Jun 2007
    Posts
    103
    I understand your pain.

    I've been trying to do the same thing on a Fanuc 31I control, ever since we've gotten them about 2 years ago, with no luck.

  12. #12
    Join Date
    Jun 2008
    Posts
    1511
    I am not very familiar with Haas but I do a lot with Fanucs which I know are pretty similar. Here are a few thoughts on the topic as I have thought about it as well.

    1) If it is easier for the operators to reach say the tool offset page or the work offset page then you could write the value to say a tool offset value that you never use like 99 or something. If you have that many tool offsets. If it is just a matter of having to page to the actual number then you could have it set to a local variable like #1 that way when they press the key to the variables it’s the first one displayed.

    2) Does the machine display the feed rate set with “F” and then clear with the reset button? What you could do is at the end of the program just do a F#188 then the feed on the front screen will be set to the diameter.

    3) Depending on how long you have to display the value of #188 or how large the number is you could do a dwell of G4X#188 and then while it dwells the value of #188 it will be displayed as the executed block showing the value of #188 on the screen.

    4) I don’t know if you want to record the actual value or just check to see if it is in spec. You could write your program to alarm out or message to display if the data in #188 exceeds the tolerance of say 3.015+/-.005.
    IF[#188GT3.02]TH#3006=1(DIAMETER TO BIG)
    IF[#188LT3.01]TH#3006=1(DIAMETER TO SMALL)

    Stevo

  13. #13
    Join Date
    Nov 2007
    Posts
    1702
    I'm a real moron here, but could you DPRINT the variable out the RS232 port and actually have it print the value on a dot matrix printer? If you're using it for in-process inspection, you could include the date, time and value. At the end of the day, you'd have all kinds of printed records of your parts.

    Or could you dump it to a waiting, slave PC and save the same information in a text file? You'd have a permanent record of the part(s).
    Greg

  14. #14
    Join Date
    Apr 2009
    Posts
    29
    Taylor,

    3 or 4 weeks ago a customer downhere in Brazil had the same doubt for an EC-1600 HMC brand new machine. The question was submited to Haas Apps Dept and I personally don't know the final satatement. Monday morning I'll check this and send you an answer until the end of day.
    By now, be sure that you're not alone with your needs and we'll be our best to help you.

    Cauê

  15. #15
    Join Date
    Apr 2009
    Posts
    29

    Maybe the solution

    Directly from Haas Mill Operator's Manual, I found this information:

    "COMMUNICATION WITH EXTERNAL DEVICES - DPRNT[ ]

    Macros allow additional capabilities to communicate with peripheral devices. One can do digitizing of parts, provide runtime inspection reports, or synchronize controls with user provided devices. The commands provided for this are
    POPEN, DPRNT[ ] and PCLOS.
    Communication preparatory commands

    POPEN and PCLOS are not required on the Haas mill. It has been included so that programs from different controls
    can be sent to the Haas control.

    Formatted output
    The DPRNT statement allows the programmer to send formatted text to the serial port. Any text and any variable can be printed to the serial port. The form of the DPRNT statement is as follows: DPRNT [<text> <#nnnn[wf]>... ] ;
    DPRNT must be the only command in the block. In the previous example, <text> is any character from A to Z or the letters (+,-,/,*, and the space). When an asterisk is output, it is converted to a space. The <#nnnn[wf]> is a
    variable followed by a format. The variable number can be any macro variable. The format [wf] is required and consists of two digits within square brackets. Remember that macro variables are real numbers with a whole part and a fractional part. The first digit in the format designates the total places reserved in the output for the whole part. The second digit designates the total places reserved for the fractional part. The total places reserved for
    output cannot be equal to zero or greater that eight. Thus the following formats are illegal: [00] [54] [45] [36] /*not legal formats */
    A decimal point is printed out between the whole part and the fractional part. The fractional part is rounded to the least significant place. When zero places are reserved for the fractional part, then no decimal point is printed out.
    Trailing zeros are printed if there is a fractional part. At least one place is reserved for the whole part, even when a zero is used. If the value of the whole part has fewer digits than have been reserved, then leading spaces are
    output. If the value of the whole part has more digits than has been reserved, then the field is expanded so that these numbers are printed.
    A carriage return is sent out after every DPRNT block.

    DPRNT[ ] Examples
    Code:
    N1 #1= 1.5436 ;
    N2 DPRNT[X#1[44]*Z#1[03]*T#1[40]] ;
    Output:
    X1.5436 Z 1.544 T 1

    Code:
    N3 DPRNT[***MEASURED*INSIDE*DIAMETER***] ;
    Output:
    MEASURED INSIDE DIAMETER

    Code:
    N4 DPRNT[] ;
    Output:
    (no text, only a carriage return)


    Code:
    N5 #1=123.456789 ;
    N6 DPRNT[X-#1[25]] ;
    Output:
    X-123.45679 ;

    Execution
    DPRNT statements are executed at block interpretation time. This means that the programmer must be careful
    about where the DPRNT statements appear in the program, particularly if the intent is to print out.
    G103 is useful for limiting lookahead. If you wanted to limit lookahead interpretation to one block, you would include
    the following command at the beginning of your program: (This actually results in a two block lookahead.)
    G103 P1;
    To cancel the lookahead limit, change the command to G103 P0. G103 cannot be used when cutter compensation
    is active."

    Try it and tell us about the results or any additional doubts you have.

  16. #16
    Join Date
    May 2004
    Posts
    97
    DPRNT is really the only way forward currently.

    I have been using it and implementing it in the UK for some time now with a lot of success and have a system specifically for Haas that allows inspection reports to be created in Excel direct from the VQC Probing Templates (which are a little enhanced to include tolerance information). The reports are created in "Real Time" as well, so you can see straight away without having to press any buttons what the probe is measuring.

    Attached is a pdf of how the system works, and some examples of exactly what you can get off a Haas (the values themselves are from a simulator though).

    It's not just limited to Probing, you can print off cycle time and tool load information also.

    Sounds just like what the US need also.
    Attached Files Attached Files

  17. #17
    Join Date
    Dec 2013
    Posts
    8

    Re: Maybe the solution

    Quote Originally Posted by Caue View Post
    Directly from Haas Mill Operator's Manual, I found this information:

    "COMMUNICATION WITH EXTERNAL DEVICES - DPRNT[ ]

    Macros allow additional capabilities to communicate with peripheral devices. One can do digitizing of parts, provide runtime inspection reports, or synchronize controls with user provided devices. The commands provided for this are
    POPEN, DPRNT[ ] and PCLOS.
    Communication preparatory commands

    POPEN and PCLOS are not required on the Haas mill. It has been included so that programs from different controls
    can be sent to the Haas control.


    Try it and tell us about the results or any additional doubts you have.
    But how to set up to use DPRNT[] to print to the screen?

  18. #18
    Join Date
    Mar 2010
    Posts
    1852

    Re: Displaying variable values onscreen?

    Six year old thread!
    Two Haas VF-2's, Haas HA5C, Haas HRT-9, Hardinge CHNC 1, Bother HS-300 Wire EDM, BobCAD V23, BobCAD V28

  19. #19
    Join Date
    Dec 2015
    Posts
    5

    Re: Displaying variable values onscreen?

    I realize this is way old, but did you ever figure out a solution? I was trying to do this very thing today.

  20. #20
    Join Date
    May 2013
    Posts
    142

    Re: Displaying variable values onscreen?


Page 1 of 2 12

Similar Threads

  1. Common Variable values output into a program
    By yaji63 in forum G-Code Programing
    Replies: 4
    Last Post: 05-17-2012, 06:17 AM
  2. Replies: 20
    Last Post: 11-14-2011, 02:41 PM
  3. Set variable values in Fanuc
    By aknap in forum Community Club House
    Replies: 1
    Last Post: 09-05-2011, 01:44 PM
  4. Replies: 0
    Last Post: 12-27-2010, 09:55 AM
  5. EMC2 variable pitch / variable diameter threading.
    By samco in forum MetalWork Discussion
    Replies: 0
    Last Post: 03-09-2008, 07:40 PM

Tags for this Thread

Posting Permissions

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