qtdragon_hd touchoff and probing issue

More
24 May 2023 18:49 - 25 May 2023 01:44 #272096 by john.weisman
Hi folks,

 working on a small 3 axis polymer granite vertical mill with Leadshine Ethercat EL7 servos, and banging my head while cannot get the probe and tool sensor working.

While the G38.2 via manual MDI returns proper probe values into #5063, the dynamic MDI Python touchoff subroutine of Qtvcp probing always return zero values without any error. This means the Qtdragon_hd also shows zero offsets upon probing and touch off.

Tested with 2.9 way up to master with the same results. Qtvcp return always zero, while the probing or touch off concludes without any error. Running on Ubuntu 22.04.2 LTS.

Does anyone have probing actually working with the qtdragon_hd ?

Any insights will be very much appreciated. Thanks.

Attached are the machine configs and hal files. If you are into Ethercat drives, this is already well working setup for fast precise machining.

Update:

After looking and debugging the touch off tool sensor Python code, my conclusion was there is no functional Touch off tool sensor measuring in the new Python3 Qtvcp implemented yet, and thus also not in the qtdragon_hd, as the required functionality is not implemented in the probe_down() function of the touchoff_subprogram.py

Even after I have programed required new code sections, seem there are another issues in the upper layers of the Qtvcp. I will see if I can get this working and if yes, I will post updated code here.

Thanks everyone for help.


 
Attachments:
Last edit: 25 May 2023 01:44 by john.weisman.

Please Log in or Create an account to join the conversation.

More
24 May 2023 19:34 #272099 by cmorley
Could you give more info?
Which probing screen?
Which routine (Which button)

Where are you expecting to see non zero output?

Did you check the status tab to see if there is a hint?
Did you run qtdragon from a terminal to see if that gives a hint?

Chris

Please Log in or Create an account to join the conversation.

More
24 May 2023 19:50 #272102 by rodw
Also a bit vague on what you are saying. But probing does have a auto zero button that if enabled, will set the position to zero on a probe.
Perhaps you have it enabled (which I want)

Please Log in or Create an account to join the conversation.

More
24 May 2023 19:52 - 24 May 2023 20:32 #272103 by john.weisman
Hi Chris,

first of all, biggest thanks for your beautiful work and of course your time.

Will provide whatever information needed.

The issue is primarily observed in the Offsets upon executing the Tool Sensor button.

Upon touch off the tool touches tool sensor twice and operation concludes as "Touchplate touchoff routine returned successfully", yet there is no change in the selected tool offset, which remains at the previous offset value. Looking into the #5063 variable right after execution shows proper touch off value as expected with the G38.2 normally.

Looking further into it, it appears the UTF8 decoded output of the touchoff_subprogram.py is "Complete Z1 0.000 Z2 0.0000" (approximate from my memory) all the time regardless of the actual G38.2 MDI operation. Yet even these zeros somehow does not get into the actual offset, as the tools offset remains the same.

No hints nor anything specific in the verbose logs. and terminal. All looks OK, just the offset remains 0.0

The same is with the probing, whatever is probed (Basic probe selected, simple cases using one probing location like Z  or single touch X wall), it goes normally, but the resulting value is always 0.0000, no errors, nothing, all OK, just the result is always zero.

I can do whatever tests needed and also give full remote access.

Thanks again.
Last edit: 24 May 2023 20:32 by john.weisman.

Please Log in or Create an account to join the conversation.

More
24 May 2023 20:27 #272107 by john.weisman
Hi,

thanks a lot, tried simplest Z probing with and without the Auto Zero selected with the same results. Probing went OK, no errors, just the resulting offset value is always overwritten to 0.0

If the probing is normally working with the qtdragon_hd, the issue is somehow related to my specific configuration. But yet it is puzzling, as the #5063 always have the proper touch off value as expected after probing or touch off.

Please Log in or Create an account to join the conversation.

More
24 May 2023 20:35 #272108 by cmorley
Just to confirm..you ae not talking about versa or basic probe..but tool touch probing on the tool tab if qtdragon?

Please Log in or Create an account to join the conversation.

More
24 May 2023 20:41 #272109 by john.weisman
Both. Basic probe and Tool touch have the same issue. Versa not tested.

Primary focus is however on the Tool touch probe. as this is simpler to address.

Please Log in or Create an account to join the conversation.

More
24 May 2023 23:01 #272120 by john.weisman
Hi Chris,

can you confirm the qtdragon_hd tool touch off with tool sensor is working properly?
I mean, tested on a physical setup with the real tool sensor, not a sim ? (Python3, LCNC V > 2.8.4)

Thanks for the answer, it will help me a lot.

John

Please Log in or Create an account to join the conversation.

More
24 May 2023 23:27 - 25 May 2023 01:45 #272121 by john.weisman
Hi Chris,

can you confirm the qtdragon_hd tool touch off with tool sensor is working properly?
I mean, tested on a physical setup with the real tool sensor, not a sim ? (Python3, LCNC V > 2.8.4)

Thanks for the answer, it will help me a lot.

John

Here is terminal output during probing attached in the terminal.txt
Added to the qt_action.py was  LOG.debug(line) inserted after line 975 to see data passed from touchoff_subprogram.py

You can see Z1 and Z2 are zero with completed sub, yet the #5063 is OK after completing the touch off, yet, the tool offset is always changed to zero.

Seems the touchoff_subprogram.py gets the zero data from qtvcp.core or else like STATUS.get_probed_position_with_offsets() all the time.

Updated (see the first post update for details):
I can confirm the output from the STATUS.get_probed_position_with_offsets() is just wrong for some not yet known reason.
Regardless of the actual touch point, function always return the same values such as:
[99.99989, -20.000229999999988, 40.01469999999996, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]



 
Attachments:
Last edit: 25 May 2023 01:45 by john.weisman. Reason: Added STATUS.get_probed_position_with_offsets() output

Please Log in or Create an account to join the conversation.

More
25 May 2023 04:08 - 25 May 2023 04:09 #272132 by cmorley
I confirm the returned data is not ever used in the code.
Try adding this to qt_action.py about line 977 to at least see the returned data.
I won't be able to look at this in detail much till the weekend.

    def parse_line(self, line):
        line = line.decode("utf-8")
        if "COMPLETE" in line:
            STATUS.unblock_error_polling()
            self.SET_DISPLAY_MESSAGE("Touchplate touchoff routine returned successfully")

            # add this line
            self.SET_DISPLAY_MESSAGE(line)

        elif "DEBUG" in line: # must set DEBUG level on LOG in top of this file
            LOG.debug(line[line.find('DEBUG')+6:])
        # This also gets error text sent from logging of ACTION library in the subprogram
        elif "ERROR" in line:
            STATUS.unblock_error_polling()
            # remove preceding text
            s = line[line.find('ERROR')+6:]
            s = s[s.find(']')+1:]
            # remove (possible)trailing debug info
            d = s.find('(')
            if not d == -1:
                s = s[:d]
            self.SET_ERROR_MESSAGE(s)

 
Last edit: 25 May 2023 04:09 by cmorley.

Please Log in or Create an account to join the conversation.

Moderators: cmorley
Time to create page: 0.104 seconds
Powered by Kunena Forum