Jump to content

CNC break/stop run on out of tolerance characteristic?


---
 Share

Recommended Posts

I have an O-inspect 3/2/2 screening parts. Simple program, and all that matters is a pass or fail, how many failures doesn't matter. The department running the parts wants to save more time. Is there an option to have the program stop as soon as a characteristic fails? That way if characteristic 10 out of 50 fails, it wont spend time checking the rest. I have PCM if there is an option to be had there but all options welcome.

Thanks for any help.
Link to comment
Share on other sites

Please sign in to view this quote.

You can stop the program without PCM,using conditions, but you have to run the program according to characteristic order. If you want the run program according to feature order and stop the program then you should use PCM...
Link to comment
Share on other sites

[/quote]
You can stop the program without PCM,using conditions, but you have to run the program according to characteristic order. If you want the run program according to feature order and stop the program then you should use PCM...
[/quote]

Characteristic order is fine. So what should my formula look like if i want to stop the program if the actual value exceeds high or low tolerance?
Thanks!
Link to comment
Share on other sites

I don't have PCM anymore so, I can't test it and it's not word for word but, I believe you can put this verbiage in the characteristics post settings?I'm not sure it would do it until after the program is complete.
tol_state = inspectionToleranceState()
if tol_state == "outoftolerance" then
message("The part is out of spec!!!! ")
endif

You can use a condition in each characteristic or feature, with the only problem being that you have to put it in each one and takes some time if you have a lot of them.
On a feature:
Open up the feature you want to stop the program with if the form, size (or whatever) is bad and put in a stop program either before the strategy is run (based off of previous features) or after the feature strategy to stop it if it doesn't meet the condition. Right click on the program stop and choose condition.
On a characteristic:
Right click on the characteristic and choose condition and use about the same method.
164_b353ef391b76567ee2e290ce2c57cb78.jpg
Link to comment
Share on other sites

Thanks Owen, that goes a long way. Trying it on a dummy program. Only problem I have now is any formula I seem to put in results in a false input. 2277_2d4743c26b0038888205fdd7b14f9885.jpg
Link to comment
Share on other sites

I have never tried it but I think this would do the trick. I'm not at work until Tuesday so I cant try it either.

1. For a characteristic, right click and choose condition.

2. Select the check box that says post condition or something like that.

3. In the formula field enter one of these two. 3a works sometimes but for some reason not always (if it works it works every time but I have yet to discover in what situations it works and in what it doesn't). 3b always works for me.

3a. getActual().inTolerance == false
Comment normally you would insert the name within the brackets but leaving it empty in come cases uses the current feature/characteristic. If that doesn't work write
3b. getActual(getNominal().identifier).inTolerance == false
getNominal().identifier will give you the name of the current characteristic and this will most surely work

4. Click so you get the yes-button on the right hand side and select the checkbox to end program.


As I said. I'm not sure it works but I think it will.
Link to comment
Share on other sites

Henrik, it's certainly trying to work. if I use 3a on a out of tolerance part it works, however it will still report as true even on a passing part. Most odd. 2277_2d4743c26b0038888205fdd7b14f9885.jpg
3b does not work for me at all, gives me several errors if when trying to compute. I will tackle this more tomorrow. I appreciate all the help.

Capture.JPG

Link to comment
Share on other sites

Its not odd, that specific boolean expression is:
false == false = true.

The function .inTolerance is already a boolean expression so there is not reason to check if it true or false. Simply do getActual().inTolerance
Link to comment
Share on other sites

That makes sense. unfortunately getActual().inTolerance works but still only reports false even when the part passes. 2277_2d4743c26b0038888205fdd7b14f9885.jpg

Depending on my formula, I can only seem to get it to report true or false, regardless of whether it passes or not. Must be something i'm missing. Unfortunately I haven't taken the PCM class and have very minimal experience with it. I don't understand how something as simple as getActual().inTolerance fails to actually function. I appreciate all the help.

Capture.JPG

Link to comment
Share on other sites

 Share

×
×
  • Create New...