Re: Wince 5.0
- From: ash <ashwini.karande@xxxxxxxxxxx>
- Date: Mon, 30 Jul 2007 00:46:38 -0700
Hi Paul,
Thanks for the reply.
I am giving you the detail idea about my project.
Environment:
We have a process control application implemented on a Industrial PC
(Make:B&R, Model: APC-620: Processor:Intel Pentium M 1.6 GHz with
Windows CE
5.0 OS). Application is developed in eVC++ 4.0
Application:
The application developed is a Process Control System having various
embedded modules monitoring & controlling various parameters & actions
in
the process. Windows-CE 5.0 based application running on APC620 is
suppose
to act as a HMI for various embedded modules as well as Coordinator &
controller of various process parameters & control actions. In this
application all the embedded blind modules communicate to APC620
(WindowsCE
based application) in separate high priority threads (Priority Set
200) over
100 Base T Ethernet (TCP/IP).
In this application we have total 15 Sensors monitoring some
application
error values & are communicating the error data (Real time
information) to
APC620 over Ethernet in response to h/w trigger. Data transmission by
these
sensors to APC620 is expected at every 100 ms interval & Asynchronous
to
each other (i.e. Every Sensor is h/w triggered externally at regular
interval 100 ms. All the triggers to these sensors are asynchronous to
each
other.). Data bytes transfered by each sensor is 25 bytes.
All Sensors are connected as Servers in this network communicating
at port: 2000(nagle algorithm is disabled at sensor side ) & APC 620
is connected as Client to these sensors. On
receiving the error values in respective threads, APC620 must
calculate /
process the error value information in this thread & Transmitt the
control
action information to another embedded module to generate a control
action
(Pulse width o/p). Therefore in this application start of a cycle is
considered as the h/w trigger event & end of the cycle is the control
action
pulse generated to control the error value.Every trigger will have
it's
associated control o/p pulse. The time between trigger & the control o/
p
pulse is considered as the process lag of the system, which has to be
minimum & approximately constant.
S/W Architecture:
S/W developed is in eVC++ for APC620. All the threads used to
communicate to
Sensors are programmed to have priority 200. The Sockets used for each
sensor is in Non-Blocking mode & use select API with sufficient
timeout time
to block a thread if there is no error value data from Sensor to
process &
generate control action. Once a sensor is configured with necessary
onformation APC620 doesn't transmitt any query to Sensor, whereas the
sensor
keeps on sensing the error value information to APC620 in response an
external H/W trigger. If a sensor is disconnected from the network,
corresponding thread is blocked till it gets connected in network.
Scenario-1:
If only 1 number of Sensor is connected in network, the process lag
time
changes from 20 ms to 40 ms; which should be constant, as this action
is
performed in higher priority thread. Performance is same after
increasing
the priority level to 10. We have confirmed that the time delay is
constant
for other communications, i.e. trigger to error transmission from
sensor, &
control action reception to O/P pulse generation by embedded module.
The
variation in process lag is caused due to APC620.
Scenario-2:
If we go on connecting the Sensors, the appication at APC620 works
same as
in Scenario-1, but when we connect 7th Sensor, the process lag starts
varying from 20 to 200 ms & it's random to measure. Just an
experimentation
we disconnected the h/w trigger signal connected to one of the sensor
so as
to ensure that the corresponding sensor thread will remain blocked for
a
period of time out time of select API & there won't be any data
transission
on the corresponding socket; but still the behaviour of the system
remains
same as described in Scenario-2 (i.e.Process lag time varies from 20
to 200
ms randomly).
Scenario-3:
If we replace target device APC620 (Intel Pentium M 1.6 GHz,
WinCe-5.0) to
PCM7230 (Intel XScale PXA255 400 MHz, WinCe .Net 4.2) the same s/w
with 7
Sensors works fine with a process lag time constant to 20 ms. And we
don't
find any problem with this target.
We tried this experimentation with another WinCE 5.0 based target
device
ICop Vertex X-86 200 MHz, but the results are same as those of APC620
with
WinCe 5.0,
So is this a problem related to target or OS or with our
application.
Pls advice us with your valuable feedback.
thank you.
Ash
.
- Follow-Ups:
- Re: Wince 5.0
- From: Paul G. Tobey [eMVP]
- Re: Wince 5.0
- References:
- Wince 5.0
- From: ash
- Re: Wince 5.0
- From: Paul G. Tobey [eMVP]
- Wince 5.0
- Prev by Date: Re: Wince 5.0
- Next by Date: FAL.lib Source Code
- Previous by thread: Re: Wince 5.0
- Next by thread: Re: Wince 5.0
- Index(es):
Relevant Pages
|
Loading