Implementing supervisory control for chemical batch processes

In chemical batch control applications the specification of how to produce a batch is called a recipe. When several recipes execute concurrently within a plant there is a possibility for circular wait between recipes utilizing shared resources. A circular wait might lead to the loss of an entire batch; this is costly and should therefore be avoided. This work describes the implementation of a discrete-event supervisor aimed to prevent a batch processing system from running into circular waits by restricting resource allocations. The supervisor interacts with SattLine, a commercial control system for flexible production systems, which in turn executes the batch recipes. The supervisor consists of two parts: (1) generation of a circular wait free specification, and (2) an execution part that restricts the behavior of the control system such that the specification is fulfilled.