Controlled System
Sensor
Actuator
Compute Node
Actuator Node
Sensor Node
Communication
Network
Figure 1: Model of Control Loop.
Blazewicz and Ecker, 1994; Ramamritham, 1990).
Peng and Shin (Peng and Shin, 1989) provide a static
allocation of processors for periodic tasks that contain
both computation and communication. The commu-
nication imposes precedence constraints among the
tasks. The allocation does not allocate communica-
tion link and is static allocation. Xu (Xu, 1993) pro-
vides an algorithm for multiprocessor scheduling for
tasks with deadlines, release times, precedence and
exclusion constraints. Again this schedule provides
static schedule for processor assignment.
2 THE MODEL
We assume there are n control loops in the Distributed
Control System. Each loop contains a sensor node
that senses the values of certain variables. The sen-
sor then transmits the results of the sensed variables
over the network. Once the results of the sensor is
available the compute node then starts to compute its
algorithms. The output of the compute node is then
communicated over the network to the actuator node.
Since the loop is closed and the loops are multirate,
we assume that after the actuator triggers the neces-
sary components, the sensor nodes starts again at the
beginning of the loop. This system is illustrated in
Figure 1.
The three tasks of a control loop can be done in the
order of sensing, computation and actuation and then
the control loop begins at sensing again. Note that
there are three dedicated nodes at each loop. The sen-
sor node that converts the sensed signal into variable
values, the compute node that is dedicated to comput-
ing values, and actuator node that produces the de-
sired signal on the basis of computed values. Theses
nodes can work in parallel if desired.
Each control loops is represented as follows: S
k
,
C
k
and A
k
represent the sensor, compute and actua-
tor nodes for the k
th
control loop. There are several
types of possible delays in the execution of a con-
trol loop. The delay sensor node, compute node and
actuator node for the k
th
loop are denoted by s
k
, c
k
and a
k
respectively. It is assumed that the set of con-
trol loops of the system share the same communica-
tion channel. The communication delay are of two
types- The communication delay that is caused while
sending the sensed variables to the compute node over
the communication network is denoted by st
k
and the
communication delay caused due to transmission of
the computed values is denoted by ct
k
. Therefore, the
total control delay D
k
for the k
th
loop is denoted by
D
k
= s
k
+ st
k
+ c
k
+ ct
k
+ a
k
We assume that each loop in the system has a priority
given by p
k
. The control loops are closed and they
restart at a different rates. They restart as soon as an
execution of the loop is completed. The algorithm we
develop for scheduling the transmission of the results
of sensor and compute nodes has the goal of minimiz-
ing the average loop delay over the given set of loops
in the system. We assume that higher priority loops
(critical loops) execute more times than a non-critical
loop over a period of time.
Unlike earlier models of the problem where com-
munication packet size is assumed to be same, we
vary the packet size between given limits for each
execution For example, the packet size produced by
the sensor node S
k
varies between f(s
k
) and g(s
k
),
where f and g are linear functions. Our scheduling
therefore can take advantage of the actual packet size
of the communication rather than a a-priori schedul-
ing of the communication independent of the packet
size. This avoids over allocation of the communica-
tion channel for the control loop.
2.1 Algorithm for Bandwidth Allocation
for Control Loops with Priority
For each control loop k, we are given the times s
k
,
c
k
and a
k
. These values do not change over multiple
executions of the loops. However, the values st
k
, ct
k
change depending the results produced by sensor and
communication nodes. The transmission time needed
on the communication channel is proportional to st
k
and ct
k
respectively. If a loop is ready to transmit
sensor variables, we set the next transmission length
to st
k
. If the loop ready to transmit computed values
we set the next transmission length to ct
k
. At any
point of time, a set of loops which we call ready
loops will be ready to transmit either the results of
the sensor node or the results of the compute node.
We use the following algorithm to schedule the
communication channel
ICINCO 2008 - International Conference on Informatics in Control, Automation and Robotics
294