hexagon logo

Flow chart for a CMM program

Hi, I am new to CMM programming and want to learn. I have been programming many traditional computer languages for over 10 years. My question is - is there a way to represent a CMM program (especially a complex one) in a more user-friendly format that uses blocks of English sentences to represent the program's flow, similar to a program flowchart. My thoughts are - this helps to standardize and makes programs consistent within the company (especially if there are multiple programmers), helps as a training document to a newbie like me and also helps to understand a complex program quickly instead of getting into the PCDMIS code details. Thoughts?
Parents
  • I use the PC-DMIS templates to keep the measurement routine more consistent.
    Here is a sample template layout:
    PART NAME  : Routine Inch - 20231209 - Build 02
    REV NUMBER :
    SER NUMBER :
    STATS COUNT : 1
     
    STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                ALIGNMENT/END
                RECALL/ALIGNMENT,INTERNAL,STARTUP
                MODE/MANUAL
                FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, ,
                LOADPROBE/HOME
                TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
                WORKPLANE/ZPLUS
    START_MENU =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=START_MENU
    PREFEATURE_CHECK=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=PREFEATURE_CHECK
    PART_MACHINE_ENTRY=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=PART_MACHINE_ENTRY
    MOVE_SETTINGS=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=MOVE_SETTINGS
    START_POSITION=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=START_POSITION
    ROUTINE_MODE_MEAS1=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=ROUTINE_MODE_MEAS1
    MANUAL_MODE_MEAS2=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=MANUAL_MODE_MEAS2
    MANUAL_START_MEAS=LABEL/
    MAN_ALIGN  =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=MAN_ALIGN
    DCC_MODE_MEAS3=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=DCC_MODE_MEAS3
    DCC_START_MEAS=LABEL/
    DCC_ALIGN  =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=DCC_ALIGN
    DAT_FEAT_START=LABEL/
    DAT_FEAT   =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=DAT_FEAT
    MEAS_FEAT_START=LABEL/
    ZPLUS_GRP  =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=ZPLUS_GRP
    XPLUS_GRP  =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=XPLUS_GRP
    YPLUS_GRP  =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=YPLUS_GRP
    XMINUS_GRP =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=XMINUS_GRP
    YMINUS_GRP =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=YMINUS_GRP
    ZMINUS_GRP =GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=ZMINUS_GRP
    END_POSITION=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=END_POSITION
    DIMENSION_MEAS4=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=DIMENSION_MEAS4
    REPORT_FOOTER=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=REPORT_FOOTER
    EMAIL_ROUTINE=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=EMAIL_ROUTINE
    EXCEL_FORM_REPORT_ADD_ONS=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=EXCEL_FORM_REPORT_ADD_ONS
    SUBROUTINE_ADD_ONS=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=SUBROUTINE_ADD_ONS
    PROGRAM_CONTROLS_ADD_ONS=GROUP/SHOWALLPARAMS=NO
                ENDGROUP/ID=PROGRAM_CONTROLS_ADD_ONS​
    


    The way this template is built is to be scalable. I can add or remove certain groups that are not needed and if a required group is removed the Start menu group will not continue without warning that a required group is missing. The warning message will list the missing groups to the programmer or user. There is a main Template that will have all of the custom groups that can be copied and past to any of these templates. This will keep all of the measurement routines more consistent and scalable.
  • dang dave that's wild. I suppose you only need to create this once and save it as a master program and then go from there.
    what do you do if you need to add another probe during the run? do you create a separate GROUP for that probe alone?

    the ONLY thing I don't like about GROUPS is that if you need to go back and edit anything you need to add a few more clicks to open up the GROUP. its a small gripe but it's my gripe and I'm sticking to it.
Reply
  • dang dave that's wild. I suppose you only need to create this once and save it as a master program and then go from there.
    what do you do if you need to add another probe during the run? do you create a separate GROUP for that probe alone?

    the ONLY thing I don't like about GROUPS is that if you need to go back and edit anything you need to add a few more clicks to open up the GROUP. its a small gripe but it's my gripe and I'm sticking to it.
Children
No Data