need help with tracefields and serialaziation automation

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

  • need help with tracefields and serialaziation automation

    I’m using paste with pattern to run the same program for 2 parts in this case a 123 block. pc dmis 2019 R1 this is a proof of concept test for us.

    I’m trying to get Pc-dmis to pull the serial number for the 2nd part automatically using the operators input of “tracefield 2” report shows “serial #”=V2 on the report not “SN 002” I know there is something I’m missing but I cant figure it out any help would be greatly appreciated.

    CODE HERE

    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CUSTOMER ; CUSTOMER : any
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=SER NUMBER ; SER NUMBER : 001
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=JOB NUMBER ; JOB NUMBER : 123456
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OPERATOR ; OPERATOR : JOE
    TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CMM USED ; CMM USED : leitz
    TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=PART NAME ; PART NAME : 123 BLOCK
    $$ NO,
    __________________________________________________ ______________________
    MAN_ALIGN =GROUP/SHOWALLPARAMS=YES
    PLN1 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
    THEO/<0.1787,0.6442,0>,<0,0,1>
    ACTL/<0.1787,0.6442,0>,<0,0,1>
    TARG/<0.1787,0.6442,0>,<0,0,1>
    ANGLE VEC=<1,0,0>,RADIAL
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=3,NUMRINGS=3
    SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
    SHOW HITS=NO
    PLN2 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
    THEO/<0.6632,0,-0.1802>,<0,-1,0>
    ACTL/<0.6632,0,-0.1802>,<0,-1,0>
    TARG/<0.6632,0,-0.1802>,<0,-1,0>
    ANGLE VEC=<1,0,0>,RADIAL
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=3,NUMRINGS=3
    SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
    SHOW HITS=NO
    PLN3 =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
    THEO/<0,0.5843,-0.2315>,<-1,0,0>
    ACTL/<0,0.5843,-0.2315>,<-1,0,0>
    TARG/<0,0.5843,-0.2315>,<-1,0,0>
    ANGLE VEC=<0,0,1>,RADIAL
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=3,NUMRINGS=3
    SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
    SHOW HITS=NO
    A1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1
    ALIGNMENT/TRANS,ZAXIS,PLN1
    ALIGNMENT/ROTATE,YMINUS,TO,PLN2,ABOUT,ZPLUS
    ALIGNMENT/TRANS,YAXIS,PLN2
    ALIGNMENT/TRANS,XAXIS,PLN3
    ALIGNMENT/END
    ENDGROUP/ID=MAN_ALIGN
    DCC_ALIGN =GROUP/SHOWALLPARAMS=YES
    CLEARP/ZPLUS,2.5,ZPLUS,0,ON
    MODE/DCC
    MOVE/CLEARPLANE
    PLN1_DCC =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
    THEO/<0.1787,0.6442,0>,<0,0,1>
    ACTL/<0.1787,0.6442,0>,<0,0,1>
    TARG/<0.1787,0.6442,0>,<0,0,1>
    ANGLE VEC=<1,0,0>,RADIAL
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=3,NUMRINGS=3
    SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
    SHOW HITS=NO
    A1_DCC1 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1_DCC
    ALIGNMENT/TRANS,ZAXIS,PLN1_DCC
    ALIGNMENT/ROTATE,YMINUS,TO,PLN2,ABOUT,ZPLUS
    ALIGNMENT/TRANS,YAXIS,PLN2
    ALIGNMENT/TRANS,XAXIS,PLN3
    ALIGNMENT/END
    MOVE/CLEARPLANE
    PLN2_DCC =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
    THEO/<0.6632,0,-0.1802>,<0,-1,0>
    ACTL/<0.6632,0,-0.1802>,<0,-1,0>
    TARG/<0.6632,0,-0.1802>,<0,-1,0>
    ANGLE VEC=<1,0,0>,RADIAL
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=3,NUMRINGS=3
    SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
    SHOW HITS=NO
    A1_DCC2 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1_DCC
    ALIGNMENT/TRANS,ZAXIS,PLN1_DCC
    ALIGNMENT/ROTATE,YMINUS,TO,PLN2_DCC,ABOUT,ZPLUS
    ALIGNMENT/TRANS,YAXIS,PLN2_DCC
    ALIGNMENT/TRANS,XAXIS,PLN3
    ALIGNMENT/END
    MOVE/CLEARPLANE
    PLN3_DCC =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
    THEO/<0,0.5843,-0.2315>,<-1,0,0>
    ACTL/<0,0.5843,-0.2315>,<-1,0,0>
    TARG/<0,0.5843,-0.2315>,<-1,0,0>
    ANGLE VEC=<0,0,1>,RADIAL
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=3,NUMRINGS=3
    SPACER=0
    AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
    SHOW HITS=NO
    A1_DCC3 =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
    ALIGNMENT/LEVEL,ZPLUS,PLN1_DCC
    ALIGNMENT/TRANS,ZAXIS,PLN1_DCC
    ALIGNMENT/ROTATE,YMINUS,TO,PLN2_DCC,ABOUT,ZPLUS
    ALIGNMENT/TRANS,YAXIS,PLN2_DCC
    ALIGNMENT/TRANS,XAXIS,PLN3_DCC
    ALIGNMENT/END
    ENDGROUP/ID=DCC_ALIGN
    MOVE/CLEARPLANE
    CIR1 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0.35,0.425,0>,<0,0,1>,0.3124
    ACTL/<0.35,0.425,0>,<0,0,1>,0.3124
    TARG/<0.35,0.425,0>,<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=5,DEPTH=0.0787,PITCH=0
    SAMPLE METHOD=SAMPLE_FEATURE
    SAMPLE FEATURE=PLN1
    AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    MOVE/CLEARPLANE
    CIR2 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0.925,0.425,0>,<0,0,1>,0.3124
    ACTL/<0.925,0.425,0>,<0,0,1>,0.3124
    TARG/<0.925,0.425,0>,<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=5,DEPTH=0.0787,PITCH=0
    SAMPLE METHOD=SAMPLE_FEATURE
    SAMPLE FEATURE=PLN1
    AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    MOVE/CLEARPLANE
    CIR3 =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<1.5,0.425,0>,<0,0,1>,0.3124
    ACTL/<1.5,0.425,0>,<0,0,1>,0.3124
    TARG/<1.5,0.425,0>,<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=5,DEPTH=0.0787,PITCH=0
    SAMPLE METHOD=SAMPLE_FEATURE
    SAMPLE FEATURE=PLN1
    AVOIDANCE MOVE=BOTH,DISTANCE=0.3937
    FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
    SHOW HITS=NO
    MOVE/CLEARPLANE
    DIM LOC1= LOCATION OF CIRCLE CIR1 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    X 0.3500 0.0020 0.0020 0.3500 0.0000 0.0000 ----#----
    Y 0.4250 0.0020 0.0020 0.4250 0.0000 0.0000 ----#----
    D 0.3124 0.0020 0.0020 0.3124 0.0000 0.0000 ----#----
    END OF DIMENSION LOC1
    DIM LOC2= LOCATION OF CIRCLE CIR2 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    X 0.9250 0.0020 0.0020 0.9250 0.0000 0.0000 ----#----
    Y 0.4250 0.0020 0.0020 0.4250 0.0000 0.0000 ----#----
    D 0.3124 0.0020 0.0020 0.3124 0.0000 0.0000 ----#----
    END OF DIMENSION LOC2
    DIM LOC3= LOCATION OF CIRCLE CIR3 UNITS=IN ,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    X 1.5000 0.0020 0.0020 1.5000 0.0000 0.0000 ----#----
    Y 0.4250 0.0020 0.0020 0.4250 0.0000 0.0000 ----#----
    D 0.3124 0.0020 0.0020 0.3124 0.0000 0.0000 ----#----
    END OF DIMENSION LOC3
    FORMFEED/
    REPORT/LABEL, FILENAME= FILE_HEADER.LBL
    $$ NO,
    NEXT PART
    -*-*-*-*-*-*
    ASSIGN/V1="GETTRACEFIELDVALUE(TRACEFIELD(2))"
    ASSIGN/V2=V1+V2
    COMMENT/REPT,
    "SERIAL #"=V2




  • #2
    should be this:

    Code:
    ASSIGN/V1="GETTRACEFIELDVALUE(TRACEFIELD(2))"
    ASSIGN/V2=V1+V2
    COMMENT/REPT,
    "SERIAL # "+V2
    Ex-Hex

    Comment


    • #3
      Thank you for the help but still no luck now it shows :
      serial # gettracefieldvalue(tracefiled(2))0 on the top of the report
      almost there im sure it my typing or something little im missing

      code.JPGCapture001.JPGCapture001.JPG

      Comment


      • #4
        Remove the “s around the GETTRACE....

        Comment


        • anthony.alfaro
          anthony.alfaro commented
          Editing a comment
          this.

          sorry i missed that one.

      • #5
        SPÅRNINGSFÄLT/VISNING=JA,RAPPORT=NEJ,VISA MEDDELANDE=Vad ska mätas ; Measuring : Duglighetsstudie
        TILLDELA/V2=GETTRACEVALUE ("Measuring")
        KOMMENTAR/RAPPORT,
        V2

        write V2 directly in the code window hit enter for comment...... i will promt and ask you if you want this to be a variable hit YES

        Comment


        • #6
          Originally posted by SABarber View Post
          Remove the “s around the GETTRACE....
          ok we are getting some where now it shows 0

          I also followed Michael_Swe instructions too
          code.JPGCapture002.JPG


          Comment


          • #7
            It's been a while since i've dealt with GETTRACEVALUE but you may not need the second set of parenthesis...I'll go check on my CMM. i don't have an offline station.

            yeah, it should be more like:
            Code:
            ASSIGN/V1=GETTRACEVALUE("[B]SER NUMBER[/B]")

            also a good idea to not use spaces in names of things. I would change the name of that tracefield to "SER_NUMBER"
            Last edited by anthony.alfaro; 04-25-2019, 10:41 AM.
            Ex-Hex

            Comment


            • SABarber
              SABarber commented
              Editing a comment
              Yes. GETTRACEFIELDVALUE does not seem to exist.

          • #8
            Collect the information using a comment, then pass that through the the trace field for SPC purposes.
            (Make the Trace field No_DISPLAY

            Then you can put the comment value straingt on the report

            OP_NAME =COMMENT/INPUT,NO,FULL SCREEN=NO,
            Enter Operator Name
            TRACEFIELD/NO_DISPLAY,LIMIT=15 ; OPNAME : OP_NAME.INPUT
            COMMENT/REPT,
            "Operator Neme : " + OP_NAME.INPUT
            Applications Engineer
            Hexagon UK

            Comment


            • #9
              Originally posted by NinjaBadger View Post
              Collect the information using a comment, then pass that through the the trace field for SPC purposes.
              (Make the Trace field No_DISPLAY

              Then you can put the comment value straingt on the report

              OP_NAME =COMMENT/INPUT,NO,FULL SCREEN=NO,
              Enter Operator Name
              TRACEFIELD/NO_DISPLAY,LIMIT=15 ; OPNAME : OP_NAME.INPUT
              COMMENT/REPT,
              "Operator Neme : " + OP_NAME.INPUT
              I will give this a shot.

              we need to get away from the need for operator input, we will be looping 80 - 160 parts per run. we have 3 cmms and one operator at nights so it will be a set it and forget it until I get in in the am

              Comment


              • #10
                Originally posted by NinjaBadger View Post
                Collect the information using a comment, then pass that through the the trace field for SPC purposes.
                (Make the Trace field No_DISPLAY

                Then you can put the comment value straingt on the report

                OP_NAME =COMMENT/INPUT,NO,FULL SCREEN=NO,
                Enter Operator Name
                TRACEFIELD/NO_DISPLAY,LIMIT=15 ; OPNAME : OP_NAME.INPUT
                COMMENT/REPT,
                "Operator Neme : " + OP_NAME.INPUT

                now the report shows op_name im using 2019 r1 Ninja badger your tracefield looks like an older version

                Capture003.JPG

                OP_NAME =COMMENT/INPUT,NO,FULL SCREEN=NO,
                enter serial #
                TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CUSTOMER ; CUSTOMER : any
                TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=SERIAL NUMBER ; opname : OP_NAME.INPUT
                TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=JOB NUMBER ; JOB NUMBER : 123456
                TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OPERATOR ; OPERATOR : joe
                TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CMM USED ; CMM USED : leitz
                TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=PART NAME ; PART NAME :
                $$ NO,
                __________________________________________________ ______________________
                $$ NO,
                NEXT PART
                -*-*-*-*-*-*
                COMMENT/REPT,
                "OP_NAME"+OP_NAME.INPUT

                Comment


                • #11
                  not exactly what i wanted / expected but this will work for now. thank you all

                  C2 =COMMENT/INPUT,NO,FULL SCREEN=NO,
                  enter serial # 001
                  TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CUSTOMER ; CUSTOMER : any
                  TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=SERIAL NUMBER ; opname : C2.INPUT
                  TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=JOB NUMBER ; JOB NUMBER : 123456
                  TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=OPERATOR ; OPERATOR : joe
                  TRACEFIELD/DISPLAY=YES,REPORT=NO,DISPLAY MESSAGE=CMM USED ; CMM USED : leitz
                  TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=PART NAME ; PART NAME : test
                  $$ NO,
                  __________________________________________________ ______________________
                  $$ YES,
                  serial number
                  -*-*-*-*-*-*
                  ASSIGN/V1=C2.INPUT
                  ASSIGN/V2=V1+001
                  COMMENT/REPT,
                  V2
                  $$ YES,
                  serial number
                  -*-*-*-*-*-*
                  ASSIGN/V3=C2.INPUT
                  ASSIGN/V4=V2+001
                  COMMENT/REPT,
                  V4
                  $$ YES,
                  serial number
                  -*-*-*-*-*-*
                  ASSIGN/V5=C2.INPUT
                  ASSIGN/V6=V4+001
                  COMMENT/REPT,
                  V6

                  Capture4.JPG

                  Comment


                  • #12
                    SOLVED.

                    1. PROMPT OPERATOR TO INPUT SN AT START OF PROGRAM AND ASSIGN VARIABLE TO THAT INPUT


                    C1 =COMMENT/INPUT,NO,FULL SCREEN=NO,
                    Serial Number:

                    ASSIGN/V1=C1.INPUT

                    2. MAKE SURE YOU HAVE TRACEFIELDS

                    NOTE WHEN YOU TYPE IN V1 IT WILL ASK IF THIS IS A VARIABLE CLICK YES

                    TRACEFIELD/DISPLAY=NO,REPORT=NO,DISPLAY MESSAGE=SERNUM_INDEX ; SERNUM_INDEX : V1

                    3. ASSIGN A VARIABLE USING GET TRACE VALUE JUST AS ITS TYPED BELOW

                    ASSIGN/SN=GETTRACEVALUE("SERNUM_INDEX")

                    4. TOP OF MY REPORT I RECALL THE TRACEFIELD

                    TRACEFIELD/DISPLAY=NO,REPORT=YES,DISPLAY MESSAGE=1ST POSITION ; SERIAL NUMBER : SN

                    Capture.PNG


                    I USE THE V1 AND SN BECAUSE THE NEXT PART IN THE PASTE WITH PATTERN HAS A VARIABLE TO ADD +1 FOR THE NEXT PART FOR SOME REASON PCD WAS PULLING THE VALUE OF ANOTHER V1 ELSE WHERE IN MY PROGRAM IF YOU HAVE NO OTHER VARIABLES THEN YOU PLACE THE V1 INTO THE TRACEFIELD VALUE ON THE REPORT. WORKS WITH 2019 r1 AND r2 FOR ME.
                    Attached Files

                    Comment

                    Related Topics

                    Collapse

                    Working...
                    X