The objective of this project is to create testing software to verify and validate Wabtec’s battery management control systems.

Team Members

Alexander Kerr | Leo Gregory | Jarrett Mosco | Zachary Thompson |

Project Poster

Click on any image to enlarge.


Watch the Project Video

Video Player Icon


Project Summary

Overview

The objective of the #1244 Battery Management System (BMS) Hardware in the Loop (HitL) team was to create a testing application with real-time operating capabilities to verify and validate Wabtec BMS models.

Objectives

The application was written using MathWorks software and utilized the Simulink Real-Time package. The application served as a dynamic test harness allowing test engineers to create predefined or customized tests to analyze a modular “model under test”.  The application featured the capability to store and execute sequences of tests which determine the pass/fail condition of each test in real time. The BMS response was returned in the form of battery contactor open or close status. The application featured a graphical user interface to generate the tests, execute the test sequences, display relevant real-time data, and generate reports on the executed sequences. In the scope of the project, the “model under test” was a protected Simulink system sharing the I/O structure of the HitL. The testing application was required to include four types of tests, two pertaining to battery voltage levels and two regarding battery temperature measurements. The testing application was required to route output signals based on the user selection of up to sixteen target locations representing battery cells for temperature tests. The voltage tests required a selection of up to fourteen output locations. Test execution and interpretation system was designed to be as modular as possible so that test engineers can easily test new models or different systems as the needs arise. 

Approach

  • Create classes to store all test parameters and information 
    • Type of test, signal data, desired system parameters, and error tolerances 
  • Create classes to store desired test results 
  • Create GUI for application ease of use 
    • Integrate functionality to generate custom test sequences 
    • Integrate functionality to execute and monitor sequence and pass/fail results 
    • Create functions to generate reports to display details of test execution 
      • Signals: Model Under Test input data, expected fault status, actual fault status, fail state 
  • Create Simulink system to execute and evaluate tests in real-time 
    • Execute tests and their selected cells under test sequentially 
      • Input and evaluation subsystems reference the current test and cell in the sequence 
    • System components designed as modular subsystems 
    • Record and return desired signals 
  • Create functions to return desired real-time signals 

Outcomes

  • The application allows Wabtec to analyze the BMS response to test temperature and voltage signals 
    • The users can input the BMS parameters which should trigger responses 
      • BMS response levels can be designated 
    • The tests signals can either be entered manually or automatically generated to trigger responses 
    • Test results and their relevant signals can be easily accessed for further interpretation 
    • Tests can be executed sequentially to expedite the BMS verification and validation process 
  • The application is modular and allows Wabtec to input new models to test 
    • The class structure allows engineers to easily integrate the test types 
    • The Simulink model is modular and can be easily expanded to integrate new test types 
  • Tests can be executed as asynchronous or real-time simulations 
    • Real-time results of the test execution are displayed in the GUI