synchronization will occur only if the variation of
the Ethernet Delay value from the average value of
the Ethernet Delay is greater than the minimum time
between two consecutive sets of Routing Data.
Analyzing the manufacturing process we can
identify what is the minimum time between two
consecutive sets of Routing Data.
This is the minimum time between two glass plates
coming on the conveyor (this is called “snapping
period”). The actual glass manufacturing process has
the minimum snapping period of 1.44 seconds.
Analyzing the experimental results we could see the
necessity of implementing a method for recovering
data transfer time-consistency.
4 RECOVERING DATA
TRANSFER
TIME-CONSISTENCY
A few solutions were analyzed in order to solve this
problem (Marshall, et al., 2004).:
- Use a more powerful Ethernet board
(instead of using 10MB/s type of board, to use a
100BT Ethernet module)
- Replace the communication software
support (RSLinx) with another one with a better
response time (a software module dedicated
only for a specific protocol would provide a
better response time related to a general
software package like RSLinx, which is coming
with a large CPU overhead).
The above two solutions could improve the
Ethernet behavior, but the non-deterministic
character of this type of communication is not
eliminated.
- Install another dedicated Ethernet module
in the RCS and an additional dedicated Ethernet
module in the CMS PC. These modules would
be connected to a separate isolated Ethernet
switch. In this case, most of the delays
experienced on the current Ethernet link would
be eliminated since the only traffic on the link
would be between the routing system and the
CMS cell PC.
- Use an ASCII serial (RS-232, RS-485,
etc.) connection rather than using Ethernet. This
would make the communication time between
the Routing and CMS systems deterministic.
- Use a dedicated digital signal from RCS to
the CMS in addition of the Ethernet connection
in order be used to re-synchronize the Routing
Data in CMS. This would be implemented by
energizing a digital output that would indicate
to the CMS cell in the moment of sending
current Routing Data. When the input was seen
by the CMS system, the CMS system would
capture its own internal time and it will use this
time value in the moment the Routing Data is
received over Ethernet.
These last three solutions could solve the time-
synchronization problem, but any of these solutions
wouldn’t be accepted because of a dramatic
aggression on the network topology previously
agreed on the design time of the application
(Mackay, et al., 2003), (Stenerson, et al., 2002).
The solution proposed in the paper is based on
inserting a “timestamp parameter” in any set of
Routing Data transmitted from the Routing System
to the Control Management System.
This timestamp parameter will be the Routing
System CPU time in millisecond representation.
This timestamp parameter value will be a
wraparound counter representing the least significant
two bytes (one Word) of the CPU time (in
milliseconds).
This timestamp parameter will be used by CMS
to estimate with a “good enough” approximation, the
offset between the CPU time values of the producer
of the message (RCS) and the consumer of the
message (CMS). This estimated offset would be
used for time synchronization of the current
message. It means CMS will add the estimated CPU
time values offset to the current timestamp
parameter value contained in the current received
message.
In order to provide a “good enough”
approximation of the offset between the CPU time
values of the producer (RCS) and the consumer
(CMS) the algorithm has to estimate the minimum
value of the statistical population containing all the
offsets estimated for a large number of
transmitted/received messages.
This minimum is a “moving minimum” (it will
be estimated from a statistical population collected
on a certain time window) because we expect a
slippage between the clocks of the two CPU (this
slippage is accumulative and will become significant
in time).
For the support of building this statistical
population of offset values is used an existing
message from RCS to CMS, called “Request Status
Message”.
This message is sent by RCS every half a second
in order to check the communication with CMS and
also to obtain from the CMS the status of the
ICINCO 2008 - International Conference on Informatics in Control, Automation and Robotics
142