hexagon logo

Detect presence of articulating probe head (and probe type also)

I'm trying to write a subroutine that I can call to have my CMMs run a quick check on a ring gage with tip 1. I want to be able to use the same subroutine on any machine, regardless of wether it has a Tesastar-m probe head, or a probe fixed to the quill. I'll add some other safe guards later to check the vector and diameter of the tip, incase it's pointing sideways or is a large disc and won't fit in the small ring gage.

To accomplish this, I think I need to test ifthere is a wrist present on the machine so I know to set the tip command to "TIP1" or "T1A0B0". I have a Basic script that can report what type of probe is in use, so I can easily tell if I'm using an LSP-X1s or X1c, and therefore, if there is an articulating probehead. However, I'd like to make the script robust enough so if I have, say an SP25 (which our sister company has), it can tell if its "quill-mounted" with a PH6M or on a probe head such as a PH10 or Tesastar-m. Anyone have any recommendations?
Parents
  • This seems to work. I can tell from your posts that this will be more than sufficient to get you going.
        Set app = CreateObject("PCDLRN.Application")
        Set part = app.ActivePartProgram
        Set prb = part.Probes(part.CurrentProbeName)
        
        For I = 0 To prb.ConnectionCount
            prb.ActiveConnection = I
            For J = 0 To prb.ComponentCount
              Debug.Print I, J, prb.ConnectionDescription(I), prb.ComponentDescription(J)
            Next
        Next


    Here is the start of the output that shows up in the VB Immediate window:
    0             0            PROBEPH10MQ   1mm_FIXEDBALLwithSTEM
     0             1            PROBEPH10MQ   25.41-BT40(Shank)
     0             2            PROBEPH10MQ   25.41-BT50(Shank)
     0             3            PROBEPH10MQ   25.41-CAT40(Shank)
     0             4            PROBEPH10MQ   25.41-CAT50(Shank)
     0             5            PROBEPH10MQ   25.41-HDR(Body)
     0             6            PROBEPH10MQ   25.41-HSK100A(Shank)
     0             7            PROBEPH10MQ   25.41-HSK63A(Shank)
     0             8            PROBEPH10MQ   25.44-TMPHDR(Body)
     0             9            PROBEPH10MQ   2mm_FIXEDBALL
     0             10           PROBEPH10MQ   2mm_FIXEDBALLwithSTEM
     0             11           PROBEPH10MQ   30mm_FIXEDBALLwithSTEM
     0             12           PROBEPH10MQ   3mm_FIXEDBALL
     0             13           PROBEPH10MQ   3mm_FIXEDBALLwithSTEM
     0             14           PROBEPH10MQ   40.00-BT30(Shank)
     0             15           PROBEPH10MQ   40.00-BT40(Shank)
     0             16           PROBEPH10MQ   40.00-CAT40(Shank)
     0             17           PROBEPH10MQ   40.00-HSK40E-36-TI-V1(ThermoBlockShank))
     0             18           PROBEPH10MQ   40.00-HSK40E-L36(Shank)


    So prb.ConnectionDescription(0) gives direct access to the name of first component in the probe assembly.
Reply
  • This seems to work. I can tell from your posts that this will be more than sufficient to get you going.
        Set app = CreateObject("PCDLRN.Application")
        Set part = app.ActivePartProgram
        Set prb = part.Probes(part.CurrentProbeName)
        
        For I = 0 To prb.ConnectionCount
            prb.ActiveConnection = I
            For J = 0 To prb.ComponentCount
              Debug.Print I, J, prb.ConnectionDescription(I), prb.ComponentDescription(J)
            Next
        Next


    Here is the start of the output that shows up in the VB Immediate window:
    0             0            PROBEPH10MQ   1mm_FIXEDBALLwithSTEM
     0             1            PROBEPH10MQ   25.41-BT40(Shank)
     0             2            PROBEPH10MQ   25.41-BT50(Shank)
     0             3            PROBEPH10MQ   25.41-CAT40(Shank)
     0             4            PROBEPH10MQ   25.41-CAT50(Shank)
     0             5            PROBEPH10MQ   25.41-HDR(Body)
     0             6            PROBEPH10MQ   25.41-HSK100A(Shank)
     0             7            PROBEPH10MQ   25.41-HSK63A(Shank)
     0             8            PROBEPH10MQ   25.44-TMPHDR(Body)
     0             9            PROBEPH10MQ   2mm_FIXEDBALL
     0             10           PROBEPH10MQ   2mm_FIXEDBALLwithSTEM
     0             11           PROBEPH10MQ   30mm_FIXEDBALLwithSTEM
     0             12           PROBEPH10MQ   3mm_FIXEDBALL
     0             13           PROBEPH10MQ   3mm_FIXEDBALLwithSTEM
     0             14           PROBEPH10MQ   40.00-BT30(Shank)
     0             15           PROBEPH10MQ   40.00-BT40(Shank)
     0             16           PROBEPH10MQ   40.00-CAT40(Shank)
     0             17           PROBEPH10MQ   40.00-HSK40E-36-TI-V1(ThermoBlockShank))
     0             18           PROBEPH10MQ   40.00-HSK40E-L36(Shank)


    So prb.ConnectionDescription(0) gives direct access to the name of first component in the probe assembly.
Children
No Data