Auto tip calibration in program

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

  • Auto tip calibration in program

    Is there a way for me to write into the beginnig of a program to detect which tips are used in that program and to have all of them calibrated? Similar to 'mark used' but done automatically.
    sigpic

  • #2
    Andy,
    Take a look at this thread. What the others posted should work. I use V3.2063, so don't try my code. I still haven't had time to look further into it here.

    John
    When in doubt, post code. A second set of eyes might see something you missed.
    sigpic

    Comment


    • #3
      Andy,
      I do this quite a bit. I use 3.7mr3. I can e-mail or PM you a copy of the beginning of one of my programs if you would like.

      Comment


      • #4
        Goodluck,
        I would greatly appreciate seeing a copy of your code.
        Thanks,
        Andy
        sigpic

        Comment


        • #5
          OK, here it is. I have this saved as a 'template' program and any time I start a new program I open this and do a 'save as' and go from there. A couple of notes. As you will see, there is an if/end_if statement at the beginning that lets the operator choose if they want to see a document with setup photos. There is also an if/end_if statement that allows the operator to skip the calibration if it is not necessary. Usually we will run through the calibration routine before the first part and then run the other parts without the calibration. It is set up so the calibration results will be printed on the report if the calibration is run. I have set up saved sets so that it calibrates only the tip angles used in the program. I believe there are instructions on how to do that in the thread John linked to. You will notice that I have set it up so that for the first tip the sphere has moved so the operator will have to take a manual hit. The second one is set up so that the sphere has not moved and once the tip is on the probe, it will calibrate it without any operator motions. There are a couple of readpoints inserted in there before the command to change tips. Without those, sometimes it will skip prompting the operator to change the tip. Near the end there is another if/end_if statement prompting the operator to look at the standard deviation values and decide if they are acceptable. If they answer no, another comment is displayed and then the program ends. The last if/end_if statement simply ensures that the manual line is measured in the correct direction.

          Let me know if you have any questions.

          Code:
          PART NAME  : template
          REV NUMBER : 
          SER NUMBER : 
          STATS COUNT : 1
           
          STARTUP    =ALIGNMENT/START,RECALL:, LIST= YES
                      ALIGNMENT/END
                      MODE/MANUAL
                      CHECK/ 0.1,1
                      TOUCHSPEED/ 1
          C1         =COMMENT/YESNO,NO,Do you want to view setup photos? 
                                      ,If yes close window when done and click "Continue".
                      IF/C1.INPUT=="YES"
          At this point there is a pdf file inserted which contains setup pictures
          Code:
                      END_IF/
          C2         =COMMENT/YESNO,NO,Do you want to calibrate tips?
                      IF/C2.INPUT=="YES"
                      LOADPROBE/4X20X30
                      TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                      AUTOCALIBRATE/PROBE, PARAMETER_SET=806-106 4X20X30, QUALTOOL_MOVED=YES, 
                                    SHOW_SUMMARY=YES, OVERWRITE_RESULTSFILE=YES
          BEGIN AUTOCALIBRATE RESULTS FOR PROBE 4X20X30 USING SET 806-106 4X20X30
          Probe file=4X20X30    Date=12/18/2006    Time=8:56:50 AM
          Top Sphere     CENT X  11.0435 Y  24.2910 Z  -9.7849 D 0.7500
          T1A0B0         THEO X   0.0000 Y   0.0000 Z   7.5402 D 0.1575
          T1A0B0         MEAS X  -0.0047 Y  -0.0411 Z   7.5633 D 0.1564 StdDev 0.0001
          T1A90B0        THEO X   0.0000 Y   6.1622 Z   1.3780 D 0.1575
          T1A90B0        MEAS X  -0.0367 Y   6.1517 Z   1.3891 D 0.1565 StdDev 0.0001
          T1A90B-90      THEO X   6.1622 Y   0.0000 Z   1.3780 D 0.1575
          T1A90B-90      MEAS X   6.1855 Y   0.0027 Z   1.3905 D 0.1566 StdDev 0.0001
          T1A90B90       THEO X  -6.1622 Y   0.0000 Z   1.3780 D 0.1575
          T1A90B90       MEAS X  -6.1837 Y  -0.0697 Z   1.3822 D 0.1565 StdDev 0.0001
          END AUTOCALIBRATE RESULTS FOR PROBE 4X20X30 USING SET 806-106 4X20X30
          PNT1       =FEAT/POINT,RECT
                      THEO/1.3466,15.9335,-13.3308,0,0,1
                      ACTL/1.3466,15.9335,-13.3308,0,0,1
                      READPOINT/
                      LOADPROBE/2X20X20
                      TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                      AUTOCALIBRATE/PROBE, PARAMETER_SET=806-106 2X20X20, QUALTOOL_MOVED=NO, 
                                    SHOW_SUMMARY=YES, OVERWRITE_RESULTSFILE=YES
          BEGIN AUTOCALIBRATE RESULTS FOR PROBE 2X20X20 USING SET 806-106 2X20X20
          Probe file=2X20X20    Date=12/18/2006    Time=9:00:05 AM
          T1A0B0         THEO X   0.0000 Y   0.0000 Z   7.9339 D 0.0787
          T1A0B0         MEAS X  -0.0190 Y  -0.0275 Z   7.9728 D 0.0777 StdDev 0.0001
          T1A90B-90      THEO X   6.5559 Y   0.0000 Z   1.3780 D 0.0787
          T1A90B-90      MEAS X   6.5951 Y   0.0186 Z   1.3769 D 0.0779 StdDev 0.0001
          T1A90B0        THEO X   0.0000 Y   6.5559 Z   1.3780 D 0.0787
          T1A90B0        MEAS X  -0.0525 Y   6.5612 Z   1.3753 D 0.0777 StdDev 0.0001
          T1A90B90       THEO X  -6.5559 Y   0.0000 Z   1.3780 D 0.0787
          T1A90B90       MEAS X  -6.5932 Y  -0.0857 Z   1.3679 D 0.0776 StdDev 0.0001
          END AUTOCALIBRATE RESULTS FOR PROBE 2X20X20 USING SET 806-106 2X20X20
          C11        =COMMENT/YESNO,NO,Please review the calibration results in the edit window. 
                                      ,Are the standard deviation values acceptable?
                      IF/C11.INPUT=="NO"
                      COMMENT/OPER,NO,Please re-start the program and run the calibration again.
                      PROGRAM/END
                      END_IF/
                      END_IF/
          PNT2       =FEAT/POINT,RECT
                      THEO/1.3554,15.9588,-13.7291,-0.0025616,-0.0091396,0.999955
                      ACTL/1.3554,15.9588,-13.7291,-0.0025616,-0.0091396,0.999955
                      READPOINT/
                      LOADPROBE/4X20X30
                      TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                      FORMAT/TEXT,OPTIONS,ID,HEADINGS, , ;MEAS,DEV,OUTTOL,NOM,TOL,DEVANG, 
          L1         =LABEL/
          LI2        =AUTO/LINE,SHOWALLPARAMS = NO,SHOWHITS = YES
                      THEO/0,0,0,1,0,0,1
                      ACTL/0,0,0,1,0,0,1
                      TARG/0,0,0,1,0,0
                      MEAS/LINE
                      HIT/BASIC,0,0,0,0,0,-1,0,0,0
                      HIT/BASIC,1,0,0,0,0,-1,1,0,0
                      ENDMEAS/
                      IF/LI2.I<.9
                      COMMENT/OPER,NO,Line Hits Must Be Taken From Left To Right
                      GOTO/L1
                      END_IF/
          Last edited by #2#; 06-28-2007, 04:44 PM.

          Comment


          • #6
            AWESOME!! Thank you, this will be a GREAT help
            sigpic

            Comment


            • #7
              You're welcome.

              BTW, I have in the past played around with another if/end_if asking the operator if the sphere has moved before the first calibration. If they answered 'yes' it would kick them to a calibration set up prompting a manual hit and if they answered 'no' it would kick them to a calibration set up so that they didn't have to take the manual hit.

              It worked but I decided it really wasn't worth the extra code and the risk of the operator answering 'no' and maybe having it take off and crash into a part on the table.

              Comment


              • #8
                Are the two readpoints in your code actually used for anything?
                sigpicYou're just jealous the voices talk to me.

                Comment


                • #9
                  Originally posted by DaddyBluto View Post
                  Are the two readpoints in your code actually used for anything?
                  Nope, the only reason they are there is to keep the program from skipping over the loadprobe commands. Without them, it will sometimes skip those. Placing a comment just before the loadprobe also keeps it from skipping but then the operator has to click 'OK' before continuing.

                  One Thing I forgot to mention...


                  After it finishes calibrating all the angles for a probe it will rotate to A0B0 without moving up. So, if the last angle calibrated is A90BX it will pull away from the sphere like and inch or something and then rotate to A0B0. If you are using a probe build that is longer than the height of your cal. sphere it will hit the table. For this reason, I have my cal. sphere elevated from the table by about 6". I simply got a 6" diameter steel round about 6" high and drilled and tapped a hole in the top to attach the cal. sphere. I was lucky and the round didn't rock right of the bat. If it rocks, you would need to attach some feet or have then end ground flat or something. I like it this way as the 'base' is heavy enough that I don't have to attach it to the table and I can move it around easily. Also, I can calibrate tips without moving shorter parts that may already be clamped to the table.

                  Comment

                  Related Topics

                  Collapse

                  Working...
                  X