LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Analysis of XY Graph data

finding where they lie only gets me the start point and the final end point. 

 

I'm confused, because that's the issue you were trying to solve, I thought, when you said "My problem is finding a way to determine the start and stop points"

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 11 of 23
(676 Views)

My apologies, let me clarify: There are multiple "pads" on this part that are measured, but the sweep starts with the probe off of the "pad". The probe moving on to the pad is the first large displacement change you see in the plots. There are grooves separating each pad, and the points that mark the spot where the probe starts to drop into the groove are the end points of each pad that I'm looking for.

 

Does that make more sense?

0 Kudos
Message 12 of 23
(668 Views)

So, in this pic, the first pad is from 5 to 97 degrees, the second is from 97 to 182 and the third is from 192 - 265 or so.

 

You need to find those points, while disregarding the hiccup at 164 degrees and at 248 degrees.

 

Is that right?

 

 

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 13 of 23
(662 Views)

I have been monitoring this thread.  What Steve is leading to, but has not stated explicitly yet, is that you must be able to define some characteristic of the data you are trying to analyze before you can start thinking about the kind of algorithm will do the analysis.

 

If the magnitudes or slopes of the edges, dips, pads, and grooves are within the same range, then you will need some other information to help you find the points you want to analyze.  If you cannot readily distinguish the various pads from other parts of the device being measured, you may need to have a reference mark made a different sensor or by the user.

 

As an example consider an incremental encoder which produces N pulses per revolution. you can tell how far you have moved to within 1/N of a revolution but without a once per revolution reference you will have no idea of where in a revolution you are.

 

Lynn 

0 Kudos
Message 14 of 23
(661 Views)

Steve - Yes, that's precisely correct.

 

Lynn - I understand completely, but this is all I have to work with at the moment.

0 Kudos
Message 15 of 23
(650 Views)

You mentioned something like a "library" of parts.  You know that you're measuring an XYZ-3000, for example, and that it extends 0-90, 90-180. 180-270 (roughly), three to a pad.

 

So can you not use that to open a window?  By that I mean pick the data from 90 +/- 5 degrees and find the minimum, then pick the data from 180 +/- 5 degrees and find the minimum there?  Those would be your two grooves between parts.

 

Then you know that the XYZ-3000 has a hole from 61-69 degrees, so you can look for that.

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


Blog for (mostly LabVIEW) programmers: Tips And Tricks

0 Kudos
Message 16 of 23
(646 Views)

If I could do that, this would be a LOT easier. Unfortunately, the parts (as they're currently installed to be measured) have no definitive zero point. All I can do is have the operator zero the rotary stage before the measurement sweep commences. So, 0 degrees on the plot does not correspond to 0 degrees on the part.

0 Kudos
Message 17 of 23
(641 Views)

0 degrees on the plot does not correspond to 0 degrees on the part.

 

 

I understand that, but if you search and find the initial transition (at 29.3 degrees, say), you can CALL that the zero point, then you know that the end of the first part should be at 90 degrees (+ 29.3), and the end of the second should be at 180 (+29.3), and the end of the 3rd at 270 (+29.3), and that there should be a hole from 61-69 degrees (+29.3) on the first part, and from 61-69 degrees (+ 90 + 29.3) on the 2nd part, etc., etc.

 

Anything wrong with that thinking?

Steve Bird
Culverson Software - Elegant software that is a pleasure to use.
Culverson.com


Blog for (mostly LabVIEW) programmers: Tips And Tricks

Message 18 of 23
(632 Views)

Why no, I don't believe there's anything wrong with that thinking at all! Let me see what I can work out with it.

0 Kudos
Message 19 of 23
(630 Views)

So, this seems to be working out rather well so far.My approach is this:

  1. Find the start of the first pad by looking for the first point where the % difference between the current and previous points falls below a certain value. This had worked well to this point.
  2. Find the zero/minimum point at the opposite end of the plot and truncate the plot by splitting the array.
  3. Add the angle of the first pad to the degree offset obtained when the new zero point is determined.
  4. Get the index of both arrays at this angle value.
  5. Find the differences, these are the height and angle I'm looking for!

 

The only minor issue I have now is that after I find what I call the zero point, I want to re-number the array of degree values to run from zero degrees to the final degree value. I'm trying to preserve the angle readings and keep them associated with the proper displacement values. I think I know how to do this, but I'm not quite sure how to get the new degree values.

0 Kudos
Message 20 of 23
(607 Views)