Next: Modeling the Two-Pusher Example
Up: Net Condition Event Systems
Previous: Synthesis of Safety Controller
The synthesis of a controller which realizes a specified path is
described in more detail in [21]. The procedure was
developed for a modified version of our Two-Pusher example, and it works
as follows:
- Assume that we want to move a token from a specified initial
place to a desired goal place.
- Determine an ordered set of interim places,
,so that the token can move through these places from
the initial place to the goal place. - Try to find a set of inputs which must have the value one so
that a set of transitions become enabled which eventually bring the
token from place
to place
. This is called a
forward step. Performing a forward step consists of switching on the
necessary control inputs and marking the necessary places which enable
the desired transitions. - The forward step is ``inadmissible'' if it may lead to an
extended forbidden marking. In this case, the forward step is carried
out as far as possible, stopping at the transition, say
, whose
firing would bring the system to an extended forbidden marking.
Then, determine the control inputs which could remove tokens from
other places in
. That is, ``unlock'' a
situation which would be locked by the safety controller by removing a
token from some other place in
before
moving a token to our desired place
. - Update the index of the ordered set of interim places and repeat
the forward steps if possible.
There are some limitations of this procedure we must mention: First,
it is purely sequential. This means that the procedure travels through
the desired sequence, step by step, as opposed to devising perhaps
certain strategies which would guarantee the accomplishment of the
desired path. Second, if we find a controller with this procedure,
then this controller is suitable; but, there is no guarantee that we
will find a controller if one exists, or that the one we find is
``optimal'' in any sense. These problems are currently under
investigation.
From the results of the above procedure, we can directly derive the
controller function and represent it by means of a Sequential Function
Chart which can be directly implemented in a Programmable Logic
Controller (PLC). Synthesizing the control code automatically from
the results of the above algorithm is described in [7].
We will illustrate this procedure for the desired path specification
of the Two-Pusher example in Section 6.4.
Next: Modeling the Two-Pusher Example
Up: Net Condition Event Systems
Previous: Synthesis of Safety Controller
Luz E. Pinzon
Wed Oct 15 18:10:49 EDT 1997