hexagon logo

Vision Crashes When Measuring Circles

Running PC-DMIS 2013 MR1 SP5 on Windows 7 PC connected to an Optiv Performance z443
------------------------------------------------------------------------
Hello!
I have several part programs that run though to completion using touch probes
I received a part that requires vision due to the crossholes (there are a lot) being generally too small

So I created the part program and was faced with many issues...
(Such as all of the numbers randomly changing by thousandths, leaving me to clean up everything with 0+0's!)

However, it is done, and I'm trying to check it, but it crashes at the first measurement.

Strangely enough, it worked before!

I have not been able to run this program all of the way through, it only crashes when it measures a crosshole.

The way the program is set up is it performs an alignment using the touch probe, then switches to the camera
The camera looks for a crosshole, and if it does not find it, it rotates 180° and tries again (where it will find it, or we made the part wrong!) Otherwise it continues as normal.

However pretty much since I added the "OnError" stuff it starts crashing at the hole.

I was able to verify that it works (the OnError) previously, and, upon this discovery, moved on to programming the rest of the part.
I needed to get the crosshole perfect or I couldn't measure the part, you see.

So it worked for a bit, but not anymore, and it keeps crashing. Strange!

I tried to measure a different hole in the same program, and had the same issue.

What's going on?
Parents
  • It would appear as though I have multiple problems with this program. I will do my best to explain, hopefully that will help understand.

    I have a cylindrical part.
    The load instructions state to align a feature upright in a rotary table, and you'll be able to run the program. This part is easy.
    However, with other parts I've done, I could find a feature to align upright, and it would work regardless of it was at 0° or 180°, because the features were the same on both sides.

    This part is different.
    I have a hole at one location at 0°, but at 180° there is no hole. So I'm trying to use "OnError" to determine if the hole is there. If it's not, rotate 180° and try again. If it is, continue the program.

    I was able to get this section to work. I set the OnError command to Edge_Not_Detected, GoTo (Label that contains the other circle), which just rotates 180° and measures the same circle.

    A variable is created, determining if I am using the circle at 0° or 180° in relation to the rotab (so I know if I need to rotate and re-align or not)

    The rest of the program continues when the hole is actually measured.

    This worked fine and well, so I moved on to the rest of the program (there are only 48 crossholes of varying diameters and locations, not a waste of time at all!)

    When I finished the program (without creating dimensions, I just wanted to see if it would even run before I messed around with them!) that section stopped working.

    Not only that, every Vision circle I tried to measure in that program crashes PC-DMIS!

    So I more or less created a [theoretically] good program, but it doesn't want to run through for some reason.
    ----------------------------------------------------------------------------------------------------------------------------------------------------
    Randomly throughout the program, Everything would change and be funky.

    Vectors of {0,0,1} were transforming to random gibberish (sometimes they would even be in the same plane I left them!)
    More often than not 0,0,1 would become {-.000000015648, .0946521, -.99999784135484} or some such nonsense (notice the sign change)
    XYZ values would jumble around a few thousandths intermittently
    Fun!

    Well, I read that pretty much to prevent that, switch all the {0,0,1} with {0+0,0+0,1}, so I went through the painstaking process of adjusting all of them.
    I didn't really understand, because the ones I set to 0+0 would stay 0, but ones (say, X 2.765) would change. So I changed stuff to more or less 2.765+0.

    But it doesn't work. I can measure holes with Vision in other programs, I even added some line measurements to this one right after the probe change but before the holes. They work fine! The holes don't!
Reply
  • It would appear as though I have multiple problems with this program. I will do my best to explain, hopefully that will help understand.

    I have a cylindrical part.
    The load instructions state to align a feature upright in a rotary table, and you'll be able to run the program. This part is easy.
    However, with other parts I've done, I could find a feature to align upright, and it would work regardless of it was at 0° or 180°, because the features were the same on both sides.

    This part is different.
    I have a hole at one location at 0°, but at 180° there is no hole. So I'm trying to use "OnError" to determine if the hole is there. If it's not, rotate 180° and try again. If it is, continue the program.

    I was able to get this section to work. I set the OnError command to Edge_Not_Detected, GoTo (Label that contains the other circle), which just rotates 180° and measures the same circle.

    A variable is created, determining if I am using the circle at 0° or 180° in relation to the rotab (so I know if I need to rotate and re-align or not)

    The rest of the program continues when the hole is actually measured.

    This worked fine and well, so I moved on to the rest of the program (there are only 48 crossholes of varying diameters and locations, not a waste of time at all!)

    When I finished the program (without creating dimensions, I just wanted to see if it would even run before I messed around with them!) that section stopped working.

    Not only that, every Vision circle I tried to measure in that program crashes PC-DMIS!

    So I more or less created a [theoretically] good program, but it doesn't want to run through for some reason.
    ----------------------------------------------------------------------------------------------------------------------------------------------------
    Randomly throughout the program, Everything would change and be funky.

    Vectors of {0,0,1} were transforming to random gibberish (sometimes they would even be in the same plane I left them!)
    More often than not 0,0,1 would become {-.000000015648, .0946521, -.99999784135484} or some such nonsense (notice the sign change)
    XYZ values would jumble around a few thousandths intermittently
    Fun!

    Well, I read that pretty much to prevent that, switch all the {0,0,1} with {0+0,0+0,1}, so I went through the painstaking process of adjusting all of them.
    I didn't really understand, because the ones I set to 0+0 would stay 0, but ones (say, X 2.765) would change. So I changed stuff to more or less 2.765+0.

    But it doesn't work. I can measure holes with Vision in other programs, I even added some line measurements to this one right after the probe change but before the holes. They work fine! The holes don't!
Children
No Data