Sepasoft MES Module Suite
Creating a Recipe and Adding a Batch for Execution
Python |
#Create recipe recClsLink = system.mes.batch.recipe.getRecipeClassLink("Allocation Tests") #recClsLink = system.mes.getMESObjectLinkByName("BatchMasterRecipeClass", "Allocation Tests") rec = system.mes.batch.recipe.createRecipe('Material In Test', recClsLink) rec.setRecipeState('Not Validated') rec.setRecipeScale(0.5) rec.setQuantity(1000.0) rec.setUserVersion(1) proc = rec.createLogic('Procedure'); proc.addStep("P1", 1, system.mes.batch.phase.getBuiltInPhaseLink('Start')) up = proc.createLogic('P2') ucLink = system.mes.batch.unitclass.getLink('Test') up.setUnitClassRef(ucLink) p2 = proc.addStep("P2", 2, system.mes.batch.phase.getBuiltInPhaseLink('Unit Procedure')) p2.setLogicRefUUID(up.getUUID()) proc.addLink("P1", "P2") p3 = proc.addStep("P3", 3, system.mes.batch.phase.getBuiltInPhaseLink('Transition')) p3.setParameterValue('Transition_Expression', 'P2.Complete = True') proc.addLink("P2", "P3") proc.addStep("P4", 4, system.mes.batch.phase.getBuiltInPhaseLink('Terminator')) proc.addLink("P3", "P4") up.addStep("UP1", 1, system.mes.batch.phase.getBuiltInPhaseLink('Start')) pLink = system.mes.batch.phase.getPhaseLink('Add Ingredient B'); up.addStep("UP2", 2, pLink) up.addLink("UP1", "UP2") up3 = up.addStep("UP3", 3, system.mes.batch.phase.getBuiltInPhaseLink('Transition')) up3.setParameterValue('Transition_Expression', 'UP2.Complete = True') up.addLink("UP2", "UP3") up.addStep("UP4", 4, system.mes.batch.phase.getBuiltInPhaseLink('Terminator')) up.addLink("UP3", "UP4") saveList = system.mes.object.list.createList() saveList.add(rec) saveList.add(proc) saveList.add(up) system.mes.batch.recipe.validateRecipe(saveList) #system.mes.batch.recipe.saveRecipe(saveList) #Add batch to queue batchID = 'ALL-112234' recCls = system.mes.getMESObjectLinkByName('BatchMasterRecipeClass', 'Logic Param Tests') recLink = system.mes.batch.recipe.getRecipeLink('All Logic Levels', recCls) bqe = system.mes.batch.queue.addEntry(recLink, batchID, batchID, 1) system.mes.batch.queue.executeEntryCommand(bqe, 'Start') |
Sepasoft MES Module Suite