hexagon logo

Automated execution of several consecutive programs

Hi guys.
I would like to know how i can automate the execution of several consecutive programs and which software i can do it easily.
Maybe somebody can share some code of vba or c+.
the goal is to run a program and after completion execute the next until finish all programs that i need. I will use an external alignment in every program in order to mesure all parts that i have fixed on the cmm table.
Thank you

Enviado desde mi SM-G928F mediante Tapatalk
  • There's a tool / utility in the Wizards folder (pc-dmis install direcory > Wizards) called MultiExecute which does what you want I think.
  • Ok i will try it. Thank you very much

    Enviado desde mi SM-G928F mediante Tapatalk
  • Basic Script

    This might help.
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Dim PCDApp, PCDPartPrograms, PCDPartProgram[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDApp = CreateObject("PCDLRN.Application")[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartPrograms = PCDApp.PartPrograms[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  PCDApp.Visible = True[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  PCDPartPrograms.Open "Z:\test1.PRG", "CMM1"[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartProgram = PCDApp.ActivePartProgram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  'msgbox "This will start the execution of the partprogram!"[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  PCDPartProgram.Execute[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  ' PC-DMIS executes the partprogram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  PCDPartProgram.Close[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  ' PC-DMIS closes and saves the partprogram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]PCDPartPrograms.Open "Z:\test2.PRG", "CMM1"[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartProgram = PCDApp.ActivePartProgram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  'msgbox "This will start the execution of the partprogram!"[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  PCDPartProgram.Execute[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  ' PC-DMIS executes the partprogram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  PCDPartProgram.Close[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]  ' PC-DMIS closes and saves the partprogram[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]' Cleanup[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartProgram = nothing[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartPrograms = nothing[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDApp = nothing
    [/FONT][/COLOR]
  • Thank you i will try it Wink

    Enviado desde mi SM-G928F mediante Tapatalk
  • Hexagon are also making INSPECT available for free with PC-Dmis 2017. Inspect is the replacement for the old STI (Single Touch Interface) and it allows you to create a queue of programs to run one after another. You get an option (tick box) to install INSPECT when installing PC-Dmis 2017.
  • Thank you for your information about it. But i will be waiting two years to get this version.
    currently i use the 2015 and the next year i going to use the 2016 version. This is the recommendation from my local hexagon support maybe they are wrong. Because there ara a lot of people who already use 2016...
  • Basic Script

    This might help.
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Dim PCDApp, PCDPartPrograms, PCDPartProgram[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDApp = CreateObject("PCDLRN.Application")[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartPrograms = PCDApp.PartPrograms[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody] PCDApp.Visible = True[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody] PCDPartPrograms.Open "Z:\test1.PRG", "CMM1"[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartProgram = PCDApp.ActivePartProgram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody] 'msgbox "This will start the execution of the partprogram!"[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody] PCDPartProgram.Execute[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody] ' PC-DMIS executes the partprogram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody] PCDPartProgram.Close[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody] ' PC-DMIS closes and saves the partprogram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody]PCDPartPrograms.Open "Z:\test2.PRG", "CMM1"[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartProgram = PCDApp.ActivePartProgram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody] 'msgbox "This will start the execution of the partprogram!"[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody] PCDPartProgram.Execute[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody] ' PC-DMIS executes the partprogram[/FONT][/COLOR]
    
    [COLOR=#454545][FONT=UICTFontTextStyleBody] PCDPartProgram.Close[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody] ' PC-DMIS closes and saves the partprogram[/FONT][/COLOR][COLOR=#454545][FONT=UICTFontTextStyleBody]
    [/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]' Cleanup[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartProgram = nothing[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDPartPrograms = nothing[/FONT][/COLOR]
    [COLOR=#454545][FONT=UICTFontTextStyleBody]Set PCDApp = nothing
    [/FONT][/COLOR]


    hi

    I have stolen your code and all works fine apart from when I try and execute the code without pcdmis being open, it starts in offline mode. When I start it with Pcdmis open all works fine. Do you know the reasoning behind this? Do I have to start pcdmis before executing the code.

    I am using a button in an excel sheet to execute the code by the way.

    Also very new to trying this kind of stuff so there may be a reason why it is doing it, running 2012MR1
  • Maybe check if your machine is named "CMM1" and not anything else (I think the names differs between languages).
  • Maybe check if your machine is named "CMM1" and not anything else (I think the names differs between languages).


    How do I find the machine name, I cannot seem to locate it anywhere.
  • Try

    In your basic script

    Dim CMM_Name,Msg
    
    CMM_Name = PCDDmisPart.ActiveMachine
    
    If CMM_Name = "CMM1" Then
    
    Set PCDDmisCommand = PCDDmisCommands.Add(ASSIGNMENT,True)
    
    PCDDmisCommand.Marked = True
    
    retval = PCDDmisCommand.PutText("CMM_NAME",DEST _EXPR,0)
    
    retval = PCDDmisCommand.PutText("STR(""CMM1"")",SRC_EXPR,0)
    
    End If
    

    This should create an assignment into the program with the cmm name. (Assuming the cmm name is CMM1)