Java Reference

In-Depth Information

PLC

PLC

PLC

PLC

Figure 13.7
The interconnection of the centralized simulator with the PLCs

modelled as a finite state automaton. For example, the pump behaviour is

characterized by two states (
OPENED
,
CLOSED
) and two transitions (
open
,

close
). Similarly, the tank behaviour is characterized by at least three states

(
EMPTY
,
NOTEMPTY
,
FULL
) and two transitions (
pull
,
push
). This model does

not seem appropriate for simulating the car painting work cell for two

reasons:

1 We need to model a pump's output flow explicitly as a parameter that can

assume a set of values within the range 0 to the maximum flow value.

2 We need to animate a tank's level variations in such a way that the user

has the impression that the input and output paint flows are continuous as

in the real work cell.

Thus, we choose the thread-based simulation model (see the Chapter 10

case study “Mobile robot exploration”). Accordingly, the paint flow between

two tanks is modelled as a sequence of micro-volumes that are continuously

pulled from the upstream tank and pushed into the downstream tank.

The flow intensity is proportional to the section of the pump's valve that

links the two tanks and to the speed of the paint flow. We assume that the

flow speed is constant and thus we stipulate that the transfer frequency of

micro-volumes of paint is constant. Let
x
[
t
k
] be the paint level in a tank at

time instant
t
k
,
u
[
t
k
] the input micro-volume at
t
k
,
y
[
t
k
] the output micro-

volume at
t
k
,

φ
O
(
t
k
) the input and output paint flows of a tank,

S
(
t
k
) the section of a pump valve,

φ
I
(
t
k
) and

T
the

constant time interval between two subsequent micro-volume transfers. The

following relations hold.

ν

the constant flow speed, and

∆

φ

(
t
k
)

=

S
(
t
k
)

*

ν

S
(
t
k
)

=

p
(
t
k
)

*

S
Max
p
(
t
k
)

=

0,

...,

100

u
(
t
k
)

=
φ
I
(
t
k
)

*

∆

T
y
(
t
k
)

=
φ
O
(
t
k
)

*

∆

T

x
(
t
k
+
1
)

=

x
(t
k
)

+

u
(
t
k
)

−

y
(
t
k
)
t
k
+
1
=

t
k
+ ∆

T

Decision point

Execution model: single thread or multithreads?