Patent ID: 8612042
Filing Date: 2013-12-17
Classification: G05B,G06F,Y02P,Y10S

Abstract:
1. A method of executing a plurality of batch processes within a process plant according to a product recipe, wherein the product recipe specifies a plurality of actions and a plurality of parameters, the method comprising: receiving a first version of the product recipe; applying the first version of the product recipe to a first batch runner and a second batch runner, wherein each of the first batch runner and the second batch runner controls the execution of the product recipe using respective process control equipment; initiating a respective batch run consistent with the first version of the product recipe at each of the first batch runner and the second batch runner; receiving a second version of the product recipe, wherein the second version of the product recipe differs from the first version of the product recipe in at least one of the plurality of actions or the plurality of parameters; associating the first version of the recipe with a set of synchronization points each specifying a transition between two or more of the plurality of actions at which suspending the execution of the corresponding batch runner is allowed; suspending the execution of the batch run at the first batch runner, wherein suspending the execution of the batch run at the first batch runner includes: retrieving current state information of the first batch runner, wherein the current state specifies the one of the plurality of actions being executed by the batch runner or a transaction between two more of the plurality of actions; and comparing the current state information to the set of synchronization points to determine whether the second version of the recipe can be applied to the first batch runner at the current state of the batch runner; applying the second version of the recipe to the first batch runner prior to the first runner completing the execution of the first version of the recipe; resuming the execution of the batch run at the first batch runner according to the second version of the recipe; completing the execution of the batch run at the first batch runner according to the second version of the recipe; completing the execution of the batch run at the second batch runner according to the first version of the recipe; receiving execution results from the first batch runner and the second batch runner; and selecting from among the first version and the second version based on the execution results.