Control systems courses are common in undergraduate engineering programs. These courses focus on the design of the controller's mathematical model but rarely have students explore the practical issues of implementing the controller. Real-time and embedded systems courses focus on these practical issues with students implementing controllers for simplified Hardware-in-the- Loop plants such as a digital servo motor. Designing controllers for complex physical plants is difficult due to prohibitive costs or the risk of accidents caused by faulty controllers. These difficulties can be overcome if a simulator replaces the hardware-in-the-loop physical plant. We designed and implemented the Control System Plant Simulator (CSPS) as a flexible framework for simulating plant models in control system implementation projects. The framework allows the user to model continuous and discrete plants defined as transfer functions or systems of state-space equations. This paper describes the design of the CSPS framework by highlighting the expansion and modification flexibility it provides with its operating system, non-real-time user interface, and physical device abstraction layers. The CSPS framework has advantages over commercial tools that can provide a hardware-in-the-loop plant simulation. The framework's scope of usage is much narrower than the commercial tools making it easier to learn how to use and modify. Also, we distribute the framework as an open-source project making it readily available for use in any course without licensing, and ensuring that deeper and more complex customizations are possible. The paper concludes with a discussion of our successful experience using the framework in real-time systems course projects, and porting to two operating environments (standard Windows XP and Ardence RTX Real-Time Extensions for Windows), two user interfaces (C-based text, Visual Basic GUI), and two data acquisition devices (USB data acquisition, simulated multi-channel IO device).

Date of creation, presentation, or exhibit



Presented at the 2008 American Society for Engineering Education Annual Conference & Exposition (ASEE), Pittsburgh, PA, June 22-25, 2008.

Copyright © 2008, American Society for Engineering Education

Note: imported from RIT’s Digital Media Library running on DSpace to RIT Scholar Works in February 2014.

Document Type

Conference Proceeding

Department, Program, or Center

Software Engineering (GCCIS)


RIT – Main Campus