hexagon logo

Pcdmis help

I am trying to find out how I can add a "failsafe" to a program to keep operators from selecting wrong inspection programs and crashing our cmm. I want to add in code that after a program is selected the probe will search for a specific point on the part. When the point is found, I want the code to look at the point and if it equals a specified dimension, the program will continue to run. If the point taken does not equal the specified dimension, then the program will end and inform the operator that the wrong program was selected. Any help would be greatly appreciated.
  • Change the prehit/retract values to ridiculously high values and take the point. The CMM should approach the part at touch speed. Make sure your prehit/retract values are changed back to your normal values afterwards.

    Insert a picture of the part into the program thru the comment command. That should help verify the right part is loaded but not necessarily at the right operation.

    Hexagon introduced a camera that attaches to the bridge of the CMM. It's supposed to identify the part and load the correct program. No idea how well it works or what the cost is.
  • [
    Insert a picture of the part into the program thru the comment command. That should help verify the right part is loaded but not necessarily at the right operation.

    this is what I do, but there is NO insurance from LCD(lowest common denominator) so good luck with that. if your CMM is getting crashed consistently it sounds like a "training opportunity" to me.


  • You cant idiot proof anything 100%. idiots evolve.......
  • Life finds away.

    I started inputting full screen operator comments with pictures. It helps a little. If you have similar parts, try making a parametric program but even then, wrong sections can be made.
  • You can only foolproof your programs so much. All my approved programs have pictures, setup instructions, some of them even have an additional comment for the operator to double check the parts are secured correctly. Still there are operators that somehow crash it.

    However, I have done this with some programs — if a part is not in the right spot, I have the CMM check it with a large enough prehit and retract, and if the program sees a discrepancy, the probe moves away and tells the operator to fixture it better.

    Here is one for a program that two holes that are similar in size, but the program checks it and alerts the operator if it doesn't conform:

    L1 =LABEL/
    MOVE/POINT,NORMAL,<1.405,0,12>
    CLEARP/ZPLUS,1,ZPLUS,0,ON
    PREHIT/0.07
    RETRACT/0.07
    MOVE/CLEARPLANE
    TEST_CIR1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<1.405,0,-0.07>,<0,0,1>,0.323
    ACTL/<1.4007,0.0041,-0.0719>,<0.0061057,0.0010839,0.9999808>,0.3238
    TARG/<1.405,0,-0.07>,<0,0,1>
    START ANG=0,END ANG=360
    ANGLE VEC=<1,0,0>
    DIRECTION=CCW
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=8,DEPTH=0.05,PITCH=0
    SAMPLE METHOD=SAMPLE_HITS
    SAMPLE HITS=3,SPACER=0.25
    AVOIDANCE MOVE=NO
    FIND HOLE=CENTER,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    IF/TEST_CIR1.DIAM>0.325
    MOVE/CLEARPLANE
    MOVE/POINT,NORMAL,<1.405,0,14>
    MOVE/POINT,NORMAL,<0,8,14>
    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO,
    HOLE IS IN INCORRECT POSITION.
    ROTATE PART 180°
    GOTO/L1
    END_IF/​
    


    Here is another line of code for a part that I cannot exactly clock in the X axis, so I test the face of the flange on the part against the V-block it sits on:

    L1 =LABEL/
    MOVE/POINT,NORMAL,<-20,0,400>
    CLEARP/XMINUS,-20,ZPLUS,0,ON
    PREHIT/5
    RETRACT/5
    MOVE/CLEARPLANE
    FIX1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<4,16.5,-11.4>,<-1,0,0>
    ACTL/<4.36,16.512,-11.409>,<-1,0,0>
    TARG/<4,16.5,-11.4>,<-1,0,0>
    SNAP=NO
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    MOVE/CLEARPLANE
    FIX2 =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
    THEO/<0,7.5,6>,<-1,0,0>
    ACTL/<-0.648,7.51,5.994>,<-1,0,0>
    TARG/<0,7.5,6>,<-1,0,0>
    SNAP=NO
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=NO
    ASSIGN/V1=FIX1.X-FIX2.X
    IF/V1<2.5
    MOVE/CLEARPLANE
    MOVE/POINT,NORMAL,<-20,0,400>
    MOVE/POINT,NORMAL,<-20,125,400>
    COMMENT/OPER,NO,FULL SCREEN=YES,AUTO-CONTINUE=NO,OVC=NO,
    FLANGE IS TOO CLOSE TO THE V-BLOCK. There is
    not enough clearance for probe. Slightly
    slide part away from V-block more.
    GOTO/L1
    END_IF/​
    


    I am sure there are easier ways of doing this, but this is what works for us.
  • Thank you all for your suggestions. I do have pictures, part numbers and names of the part being inspected set up using the Inspect user interface, but that still does not seem to be enough. I was hoping that I could resolve the operator error using IF statements, sort of the way Bfire 85 suggested. Again thank you all again for your suggestions and insights.