VxWorks Real-Time Kernel Connectivity
What is VxWorks?VxWorks is a real time operating system
developed by Wind River for use in embedded systems.
Automated DevicesIt’s not always possible to monitor them
directly.
How do we monitor and test them from a remote location?
Monitoring DAQ DevicesA web-based toolkit allows the status of DAQ
devices to be seen by users with an internet connection.
OverviewThe client requests the status of a device, and
the host queries the target for the data.
The client accesses the host, selects the page of the device for testing, and submits a form with parameters for the device.
The host forwards the form to the appropriate target.
A CGI program on the target receives the form and performs the requested tests.
The CGI response is returned to the host and forwarded to the client.
Client Host
Target
Target
Target
Devices
Web Page
Web Page
“Host” ComputerAn HP Desktop PC running an Apache server
and Windows XP.
Acts as a medium between the client and the target(s).
Used for development on the VxWorks computer
“Target” ComputerConnected to one or more devices as well as
the host.Runs the specialized web server for
communication with the host.
Hardware ProblemsThe intended VxWorks target (a WindRiver
SBC83XX PowerQUICC II Proc) seems to have had a hardware failure.
It is not feasible to repair or replace currently
Fortunately, a potential alternative is available from Wind River.
VxWorks SimulatorA specialized virtual machine running
VxWorks.Can be connected in a private network with
the hostGreatly speeds development, since
everything is done in software.
Simple WEB ServerLast updated in 1999, and is tricky to compile
now.Written in C and designed with VxWorks in
mindProvides very basic functionality
CGIMore than a month to get the CGI working.About 2000 lines of old C code to sort out.Poorly implemented
Recognizes function names, not files.Programs run in the same thread as the web
server.Only C programs can run.
Currently…Web servers are up and runningTarget CGI is working with limited
functionalityBasic web site structurehttp://69.88.163.21
Boiler ControllerA controller was developed for a theoretical boiler
system which contains a large boiler tank, several water pumps, a steam valve and multiple sensor.
This interacts with an entirely-software simulator.It is possible to make the controller interact with
the VxWorks simulators.Physical devices cannot be connected to the
simulators, so simulated devices can show a proof of concept
This allows changes in the boiler system to be available almost immediately on the web site.
Boiler Controller
Boiler Simulator
RS-232
Shared Host Memory
VxSim Server CGI Program Web Server
Internet
End User
Database IntegrationA MySQL database was set up for integration
with the web site.This allows amazing flexibility in expanding
the functionality and minimizing maintenance and expansion difficulty.
Database ERM Diagram
Each Target may have one or more associated Devices, but each device may be associated with only one Target.
Each Device may have one or more associated Tests, but each Test may be associated with only one Device.
All entries have an ID number which uniquely identifies them within the table.
ConclusionWhile the usage of VxWorks Simulators
allows easy development and is sufficient for a proof of concept, it is not practical for a permanent solution.
The web server being used on the simulators, while functional, is very prone to errors and exceptions. This has caused more difficulty than anything, so it may be beneficial to make another attempt to get an alternate webserver working.