Longtime running requirement in control system

  • Thread starter Thread starter welson
  • Start date Start date
W

welson

about the smallest core of WINCE , how long can it run for ?
If you add webserver services , then how that should be?

thanks
 
It will run as long as you want it and as long as the OAL and applications
allow. The OS is a compilation of what Microsoft ships and what the device
OEM writes (the OAL). The OS is only as stable as the weakest link (which
seems to always be the OAL or application). I've seen up times of months
for well written, well tested systems, and when they go down, it's
intentional for maintenance, services, etc.


--

Chris Tacke, Embedded MVP
OpenNETCF Consulting
Giving back to the embedded community
http://community.OpenNETCF.com
 
Dear Chris Tacke:

We would like to dev a hardware controller for SCADA , PLC ussages , The
system should run well year by year , without even 1 second down.

1 How to write the stable code , what should I foucs on ? memory , ports...
2 <it's intentional for maintenance, services, etc> , for this , could you
please tell me the detail principle in maintenance. could the application
come back to life by itself or OS chould do this?

thanks lot

welson
 
We would like to dev a hardware controller for SCADA , PLC ussages , The
system should run well year by year , without even 1 second down.

Yes, it can certainly be used for SCADA or PLC systems (I've used it for
both). Again, I see no reason it couldn't run forever. In reality, if you
last more than 19 days (a DWORD wrap incrementing at 1 per ms) then you're
going to probably live forever, or at least as long as your environment
allows.
1 How to write the stable code , what should I foucs on ? memory ,
ports...

Focus on testing. I can't say what area will be a problem since I have no
idea what you BSP or app look like, or your development skills with either.
Regaardless, though, if you have good testing, you can get a level of
confidence on MTBF.
2 <it's intentional for maintenance, services, etc> , for this , could
you
please tell me the detail principle in maintenance. could the application
come back to life by itself or OS chould do this?

Depends on the install. Maintenance may be an upgrade of teh app., It may
be a shutdown to change a servo or do robot programming. Whatever your
imagination can come up with in your scenario. Getting the app back up
afterward is your responsibility. It could be in the OS and auto-launched
that way. it could be on storage media and launched some other way. There
are almost limitless ways you could come up with to do this, but there are
probably less than half a dozen that are common.


--

Chris Tacke, Embedded MVP
OpenNETCF Consulting
Giving back to the embedded community
http://community.OpenNETCF.com
 
We will use Webserver do configration works , all the other apps are
backend services , focus on communication , protocol adapter , some
calculation works , even redundancy logical. without UI .

I wonder how you get "In reality, if you last more than 19 days (a DWORD
wrap incrementing at 1 per ms) " , It's really important to us , I have not
caught the relationship between "19 days" and 'a DWORD wrap incrementing at
1 per ms".

thanks lots.
 
There's a clock tick that happens in the OS every 1ms. That tick is used by
the scheduler to reschedule and is returned by APIs like GetTickCount().
Since the current tick count is stored in a DWORD, it takes a number of days
for the data in consecutive milliseconds on the device to be 0xffffffff and
0, respectively. This is a point at which, just as with any other sort of
overflow, an application, service, or driver might go bad because it's
assuming that the tick count will always increase. The actual time is more
like 49.7 days to count from 0 to 0xffffffff, by my calculations.

The whole point is that a) you have to know what you're doing; if you're a
lousy software engineer or the guys who built your boards BSP are, your
device will not be reliable, b) it helps to have some experience with
Windows CE to know what sort of things might happen with higher likelihood
than others (like the tick count roll-over), c) regardless of how good you
think your BSP is or how good you think *you* are, you have to test in order
to validate that your assumptions are correct. It sounds as though you
expect Microsoft to somehow guarantee that you know what you're doing or
that your BSP has a certain level of reliability and recoverability. They
can't do that. It's your device; it's your responsibility to make sure it
meets your reliability requirements, as it would be with any other operating
system, piece of hardware, etc.

Paul T.
 
Back
Top