190 likes | 460 Views
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 Devices. It’s not always possible to monitor them directly. How do we monitor and test them from a remote location?.
E N D
What is VxWorks? • VxWorks is a real time operating system developed by Wind River for use in embedded systems.
Automated Devices • It’s not always possible to monitor them directly. • How do we monitor and test them from a remote location?
Monitoring DAQ Devices • A web-based toolkit allows the status of DAQ devices to be seen by users with an internet connection.
Overview • The 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.
Devices Target Host Web Page Target Client Web Page Target
“Host” Computer • An 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” Computer • Connected to one or more devices as well as the host. • Runs the specialized web server for communication with the host.
Hardware Problems • The 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 Simulator • A specialized virtual machine running VxWorks. • Can be connected in a private network with the host • Greatly speeds development, since everything is done in software.
Simple WEB Server • Last updated in 1999, and is tricky to compile now. • Written in C and designed with VxWorks in mind • Provides very basic functionality
CGI • More 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 running • Target CGI is working with limited functionality • Basic web site structure • http://69.88.163.21
Boiler Controller • A 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 End User Shared Host Memory Internet VxSim Server CGI Program Web Server
Database Integration • A 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.
Conclusion • While 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.