Auto calibrate question

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Auto calibrate question

    I am building a program for our operators that specifically calibrates our probes. We use 3 different probes, using a probe changer rack. I am implementing the use of password protection due to the frequent "fat-finger" occurences. I need a way to let operators calibrate as easy as possible. The company i work for requires the operators to calibrate at the beginning of every shift and we run the machines 24/7 with 4 shifts of operators. I have the calibration program built. I just can't find an answer for the meaning of this:

    AUTOCALIBRATE/PROBE, PARAMETER_SET=ALL-TIPS-WITH-DEFAULTS, QUALTOOL_MOVED=YES_DCC,
    SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=YES

    the last statement is "OVERWRITE_RESULTSFILE=YES. I assume I want to say YES. However, even when I had NO selected i could see the results files updated when i ran the program. Does anyone know what choosing yes or no does in this situation?

  • #2
    I believe the alternative to OVERWRITE is actually APPEND. It is a text file, you can view it yourself to see if that is the case.

    Comment


    • #3
      If you OVERWRITE, only the latest calibration will be left in the file, if you APPEND, you can see the results of previous calibrations too, and compare to the latest.
      AndersI
      SW support - Hexagon Metrology Nordic AB

      Comment


      • #4
        You can print the results as a pdf just like a report. I have the CMM password protected as well. My cal program uses the current date and time as report file name. The probes calibrate automatically with my parameter set. I even use variables to to check for std dev and if its not within my limit, the probe recalibrates. I also included a op comment stating the operator to clean the probes and cal sphere before starting. I don't think I have the actual program offline. Let me try to find it.

        The beauty of this is that the operators can recalibrate the probes as needed and there is a record of doing so. Our op calibrate at the beginning of each shift as well and our cal sphere never moves.

        Code:
        STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                    ALIGNMENT/END
                    MODE/DCC
                    MOVESPEED/ 80
                    MANRETRACT/0.7874
                    FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, ,
                    LOADPROBE/VC0022 STAR
                    TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                    ASSIGN/MM="CMM_"
                    ASSIGN/SD=SYSTEMDATE("MM'.'dd'.'yy'_'")
                    ASSIGN/ST=SYSTEMTIME("HH':'mm")
                    COMMENT/REPT,
        
                    "CALIBRATION SERIAL NUMBER:" +MM+SD+ST
        
                    ASSIGN/SN=MM+SD+ST
                    WORKPLANE/ZPLUS
                    ASSIGN/REPORT_LOC="\\\PRISM\quality\CMM\\"
                    ASSIGN/REPORT_NAME=REPORT_LOC+SN
        CALIBRATE  =LABEL/
                    COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,
                    GENTLY REMOVE PROBE FROM CMM
        
                    GENTLY CLEAN TIPS WITH A DRY RAG
        
                    PLLACE BACK ON CMM
        
                    MAKE SURE RED LIGHT IS ON
        
                    CLICK OK WHEN DONE
        AUTOCALIBRATE=LABEL/
                    AUTOCALIBRATE/PROBE, PARAMETER_SET=Star_Calibrate, QUALTOOL_MOVED=YES_DCC,
                                  SHOW_SUMMARY=YES, OVERWRITE_RESULTSFILE=NO
        BEGIN AUTOCALIBRATE RESULTS FOR PROBE VC0022 STAR USING SET Star_Calibrate
        Probe file=VC0022 STAR    Date=10/3/2017    Time=6:02:09 PM
        Dixie Sphere   CENT X  21.0250 Y   9.8345 Z -12.3495 D 0.7500
        T1A0B0         THEO X   0.0000 Y   0.0000 Z   8.2262 D 0.1969
        T1A0B0         MEAS X  -0.0296 Y  -0.0223 Z   8.1695 D 0.1948 StdDev 0.0002
        T2A0B0         THEO X  -0.9252 Y   0.0000 Z   7.1927 D 0.0787
        T2A0B0         MEAS X  -0.9491 Y  -0.0197 Z   7.1290 D 0.0770 StdDev 0.0002
        T3A0B0         THEO X   0.0000 Y  -0.9252 Z   7.1927 D 0.0787
        T3A0B0         MEAS X  -0.0243 Y  -0.9461 Z   7.1275 D 0.0765 StdDev 0.0003
        T4A0B0         THEO X   0.9252 Y   0.0000 Z   7.1927 D 0.0787
        T4A0B0         MEAS X   0.9035 Y  -0.0166 Z   7.1416 D 0.0769 StdDev 0.0002
        T5A0B0         THEO X   0.0000 Y   0.9252 Z   7.1927 D 0.0787
        T5A0B0         MEAS X  -0.0207 Y   0.9022 Z   7.1400 D 0.0769 StdDev 0.0002
        END AUTOCALIBRATE RESULTS FOR PROBE VC0022 STAR USING SET Star_Calibrate
                    LOADPROBE/VC0022 STAR
                    ASSIGN/STD1=PROBEDATA("STANDARDDEVIATION","T1A0B0")
                    IF_GOTO/STD1>=0.0005,GOTO = AUTOCALIBRATE
                    ASSIGN/STD2=PROBEDATA("STANDARDDEVIATION","T2A0B0")
                    IF_GOTO/STD2>=0.0005,GOTO = AUTOCALIBRATE
                    ASSIGN/STD3=PROBEDATA("STANDARDDEVIATION","T3A0B0")
                    IF_GOTO/STD3>=0.0005,GOTO = AUTOCALIBRATE
                    ASSIGN/STD4=PROBEDATA("STANDARDDEVIATION","T4A0B0")
                    IF_GOTO/STD4>=0.0005,GOTO = AUTOCALIBRATE
                    ASSIGN/STD5=PROBEDATA("STANDARDDEVIATION","T5A0B0")
                    IF_GOTO/STD5>=0.0005,GOTO = AUTOCALIBRATE
                    MOVE/POINT,NORMAL,<12.6,14.8,-6.2541>
                    PRINT/REPORT,EXEC MODE=END,$
                      TO_FILE=ON,OVERWRITE=REPORT_NAME,AUTO OPEN REPORT=ON,$
                      TO_PRINTER=OFF,COPIES=1,$
                      TO_DMIS_REPORT=OFF,FILE_OPTION=INDEX,FILENAME=,$
                      REPORT_THEORETICALS=NONE,REPORT_FEATURE_WITH_DIMENSIONS=NO,$
                      TO_EXCEL_OUTPUT=OFF,
                      PREVIOUS_RUNS=KEEP_INSTANCES
        Last edited by acgarcia; 12-07-2017, 10:28 AM.
        PCDMIS 2015, 4.5.4 SF CMM, Datapage+5.0

        Comment


        • #5

          "and our cal sphere never moves." AUTOCALIBRATE=LABEL/ AUTOCALIBRATE/PROBE, PARAMETER_SET=Star_Calibrate, QUALTOOL_MOVED=YES_DCC, SHOW_SUMMARY=YES, OVERWRITE_RESULTSFILE=NO acgarcia just dumb question from beginner, as you don't move cal sphere, red marked code should be QUALTOOL_MOVED=NO. or ?

          Comment


          • acgarcia
            acgarcia commented
            Editing a comment
            Correct. Sphere does not move and the CMM only has a star probe with 5 tips. I have label on the sphere base saying DO NOT MOVE. I have YES_DCC to establish tip 1 of my star probe as the master tip every time they calibrate the probe.

          • acgarcia
            acgarcia commented
            Editing a comment
            mb0258, “The man who asks a question is a fool for a minute, the man who does not ask is a fool for life.” --Confucius

          • mb0258
            mb0258 commented
            Editing a comment
            louisd acgarcia Thank You for explanation. i do same way, one master probe, qual tool yes_dcc, other probes qual tool not. but all the calibration doing mysefl manualy. I would like to also switch to autocalibration routine by operator.

        • #6
          Thanks for the input. I really like acgarcia's naming convention for the pdf results. So if I have operators running autocalibrate, there will not be a warning message when the Stddev exceeds the limit? I like the idea using "if goto" statements to automatically recalibrate when std dev is too large, but not sure how to appropriately use it with multiple tips in a rack. Could I put an "if go to" statement directly after each auto calibrate statement, just before the next loadprobe statement?

          Comment


          • louisd
            louisd commented
            Editing a comment
            If your STDDEV exceeds the limit when auto-calibrating, an error will not appear. But the message will be present at bottom of calibration report text file.
            yup, you can even put IF_GOTO's within IF_GOTO statements, lol.

          • acgarcia
            acgarcia commented
            Editing a comment
            After the cal program is complete, the probe moves to the back of the machine so operators can load parts. So operators clean the probe and cal sphere, click execute and walk away. The come back and if the probe is in the back of the machine, means all probes passed calibration and a report was generated with the results. Very rare that the probe is bad and it repeats after 2 calibrations.

          • acgarcia
            acgarcia commented
            Editing a comment
            Yes you can put multiple if go to after each probe and tip. We used to have a probe rack but we narrowed it down to this single star probe so we don't use the rack anymore. I would definitely use a if go to right after the probe is done calibrated to make sure everything is good before changing probes.

        • #7
          Originally posted by Don Ruggieri View Post
          I believe the alternative to OVERWRITE is actually APPEND. It is a text file, you can view it yourself to see if that is the case.
          The text file is in the same file as your probe file but can be viewed from the probe window, select the "results" button to view those reports. I also use the auto calibrate with pdf output with date & time. One of mine is set up to do 6 different calibrations depending on with family of parts are being ran.
          Horizontals - Dual Arm 40-17-21 / Single Arm 30-14-16 - PCD 2013MR1 (64bit)

          Comment


          • #8
            Also our operators do not have full access to PcDmis so the pdf report on the network folder is the record that the probe calibration even happened.
            PCDMIS 2015, 4.5.4 SF CMM, Datapage+5.0

            Comment


            • #9
              So I am running the basic program I originally posted. I am looking into using if_goto statement for if a high standard deviation occurs, then the program will execute the calibration again. I tested it out by sticking some tape on our qual sphere and running the program. The problem I have now is that when the probe is at the final angle of whichever probe build is currently being calibrated, and the program goes to recalibrate that tip, I do not have enough clearance. Our last angle is either A-90B180 or A-110B180. The probe rotates to A0B0, but when it goes to the top of the sphere the point it moves to isn't high enough over the qual sphere and I get a "probe deflection" error message.

              I have 2 options I can see:
              (A) I adjust the calibration settings some how. I can see when I open the probe utilities window and click "setup" I am given a bunch of options for different distances along the shank vector, etc.

              (B) I take the LABEL command

              AUTOCALIBRATEMASTER=LABEL/
              AUTOCALIBRATE/PROBE, PARAMETER_SET=ALL-TIPS-WITH-DEFAULTS, QUALTOOL_MOVED=YES_DCC,
              SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
              and put a move point in the command so the probe will move above the sphere before calibrating
              Attached Files
              Last edited by Dark_Prince; 12-07-2017, 07:01 PM. Reason: This is the attempt I made at using the LABEL command

              Comment


              • Dark_Prince
                Dark_Prince commented
                Editing a comment
                STARTUP =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                ALIGNMENT/END
                MODE/MANUAL
                MOVESPEED/ 300
                FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, ,
                OPTIONPROBE/MAXFORCE=0.096,LOWFORCE=0.019,UPPERFORCE=0.072,TRI GGERFORCE=0.033,
                PROBEACCURACY=0.1,POSACCURACY=0.1,#RETURNDATA=10,
                RETURNSPEED=0.4,SCANPNTDENSITY=10,
                SCANACCELERATION=10,SCANOFFSETFORCE=0.06,
                PROBINGMODE=DFL,MANFINEPROBING=NO
                MODE/DCC
                AUTOCALIBRATEMASTER=LABEL/
                AUTOCALIBRATE/PROBE, PARAMETER_SET=ALL-TIPS-WITH-DEFAULTS, QUALTOOL_MOVED=YES_DCC,
                SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
                AUTOCAL =LABEL/
                AUTOCALIBRATE/PROBE, PARAMETER_SET=ALL-TIPS-WITH-DEFAULTS, QUALTOOL_MOVED=NO,
                SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
                LOADPROBE/8 MM TIP
                TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                AUTOCALIBRATE/PROBE, PARAMETER_SET=ALL-TIPS-WITH-DEFAULTS, QUALTOOL_MOVED=YES_DCC,
                SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
                ASSIGN/STD1=PROBEDATA("standarddeviation","T1a0b0")
                IF_GOTO/STD1>=0.01,GOTO = AUTOCALIBRATEMASTER
                ASSIGN/STD2=PROBEDATA("standarddeviation","T1a-90b0")
                IF_GOTO/STD2>=0.01,GOTO = AUTOCALIBRATEMASTER
                ASSIGN/STD3=PROBEDATA("standarddeviation","T1a-90b180")
                IF_GOTO/STD3>=0.01,GOTO = AUTOCALIBRATEMASTER
                LOADPROBE/1 MM TIP
                AUTOCALIBRATE/PROBE, PARAMETER_SET=ALL-TIPS-WITH-DEFAULTS, QUALTOOL_MOVED=NO,
                SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
                ASSIGN/STD4=PROBEDATA("standarddeviation","T1a0b0")
                IF_GOTO/STD4>=0.01,GOTO = AUTOCAL
                ASSIGN/STD5=PROBEDATA("standarddeviation","T1a-45b180")
                IF_GOTO/STD5>=0.01,GOTO = AUTOCAL
                LOADPROBE/STOCK TIP
                AUTOCALIBRATE/PROBE, PARAMETER_SET=ALL-TIPS-WITH-DEFAULTS, QUALTOOL_MOVED=NO,
                SHOW_SUMMARY=NO, OVERWRITE_RESULTSFILE=NO
                ASSIGN/STD6=PROBEDATA("standarddeviation","T1a0b0")
                IF_GOTO/STD6>=0.01,GOTO = AUTOCAL
                ASSIGN/STD7=PROBEDATA("standarddeviation","T1a-110b0")
                IF_GOTO/STD7>=0.01,GOTO = AUTOCAL
                ASSIGN/STD8=PROBEDATA("standarddeviation",
                MOVE/POINT,NORMAL,<310.738,1322.216,-112.826>

              • Dark_Prince
                Dark_Prince commented
                Editing a comment
                That code isn't 100 percent done yet, but I can not get the label command to work with a move increment. I will post what I tried, but was unsuccessful with. We do have a 150 mm tip extension, so I am going to probably need a move increment in Z of at least 50
                Last edited by Dark_Prince; 12-07-2017, 07:03 PM.

              • Dark_Prince
                Dark_Prince commented
                Editing a comment
                I added a screenshot of the Code in my original post. PCDMIS seems to skip right over my IF_GOTO/STD>=0.01, GOTO=MOVE. I don't know how to add multiple things into the Label or I would just do that.

            • #10
              I typically make my labeling convention avoid exact-matching terms that PCDMIS uses. MOVE is a pcdmis command. toss an _1 at the end and it becomes unique/non affiliated to any active code. I also try to avoid spaces at all costs (like the "8 MM Probe" should be 8_MM_PROBE).

              Any time you have a loadprobe command, you should define the active angle immediately afterwards, without anything in between them.

              Regarding the image:
              - When you have two if_goto statements with identical criteria, only the first goto will effectively ever happen, so nix the if_goto/std1>=0.01, goto = autocalibratemaster.
              - I would insert the MOVE_1 label just after MODE DCC, then move/increment, then loadprobe, then tip/t1a0b0, then you can create a "CALIBRATE ACTIVE TIP WITH FEAT_ID=" to calibrate just your master tip.
              -Then insert your auto-recalibration assignment check and if_goto loop just for that master probe at T1A0B0, (capitalize the T, A, and B in the assignment)
              -Insert autocalibrate all angles for the master probe tip at this point, repeat auto-recalibration assignment check if-goto loop for each of the applicable tips.
              this should fix the skipped move increment.

              Comment


              • louisd
                louisd commented
                Editing a comment
                also, if you insert operator comments before and after your goto's and labels, you can effectively track and confirm the route that the CMM is going.
                ex:
                Move_1=/label
                Comment/oper= routine is now at Move_1

                Assign STD1
                Comment/oper= "routine is just before IF_GOTO, assign STD1 value is "+STD1+
                If_GOTO /STD1>=0.01, GOTO= Move_1
                Comment/oper= routine is just after IF_GOTO, it didn't go-to.

              • Dark_Prince
                Dark_Prince commented
                Editing a comment
                Thanks louisd. Your advice was a success.
            Working...
            X