Post on 14-Jun-2015
description
transcript
ni.com
Automating Real-Time Testing for
Embedded Software Development
Javier Gutierrez
Business Development Manager
2 ni.com
Agenda
• What is embedded software development?
• What is Real-Time testing?
• Manual Real-Time testing
• Automated Real-Time testing
• Scripting Real-Time tests
3 ni.com
Embedded Software Development
Embedded software development is the process used to create the software for a computer system (embedded system) designed to perform one or a few dedicated functions. For example, an engine control unit (ECU)
4 ni.com
Control System
+ -
Plant Controller error setpoint
5 ni.com
Embedded Software Development Process
Requirements
Gathering
Model Simulation
Rapid Prototyping
Code Generation and ECU Flashing
Hardware in the Loop Testing
(HIL)
Physical Testing
• Test Cells
Field Test
• Calibration
+ -
Controller Plant
+ -
Plant Controller
Tests
6 ni.com
Real-Time Testing (RTT)
Test that provides deterministic stimulus for reliability and accurate simulation of an environment
• RTT Types:
• Model in the loop (MIL)
• Rapid Control Prototyping (RCP)
• Hardware in the Loop (HIL)
• Functional Testing / Test Cells
7 ni.com
Test Continuity
Simulated Real Stimulus, Data Logging, User Interface, Analysis
8 ni.com
Embedded Software Development Process
Requirements
Gathering
Model Simulation
Rapid Prototyping
Code Generation and ECU Flashing
Hardware in the Loop Testing
(HIL)
Physical Testing
• Test Cells
Field Test
• Calibration
+ -
Controller Plant
+ -
Plant Controller
MIL Testing
9 ni.com
Model In the Loop (MIL) Manual Testing
Requirements
10 ni.com
Requirements
Environmental Conditions
• REQ_CoastalSummer_Conditions
Modify the engine model parameters to reflect coastal summer conditions:
Ambient Temperature = 90 deg
Ambient Pressure = 14.5 psi
• REQ_MountainWinter_Conditions
Modify the engine model parameters to reflect mountain winter conditions:
Ambient Temperature = 20 deg
Ambient Pressure = 10.5 psi.
Stimulus and Analysis • REQ_FTP1000_SpeedProfile
Exercise the engine, controller and application model closed loop with the FTP1000 speed profile.
• REQ_NumExceptions_215
Analyze the load torque response vs engine speed. Then compare test results to Mask A. Number of exceptions (points outside the mask) should be less than 215.
The test system will be used to validate an engine controller model with different environmental parameter values.
Requirements
11 ni.com
Model In the Loop (MIL) Manual Testing
Requirements Models
12 ni.com
Engine Model Requirement
s Models
13 ni.com
Model In the Loop (MIL) Manual Testing
Requirements Models Stimulus Profile
14 ni.com
Engine FTP1000 Speed Profile
Time (s)
Engin
e Spe
ed (R
PM)
Requirements
Models Stimulus Profile
15 ni.com
Model In the Loop (MIL) Manual Testing
Requirements Models Stimulus Profile Analysis
16 ni.com
Speed/Torque Mask A Analysis Requirements Models Stimulus Profile Analysis
17 ni.com
Model In the Loop (MIL) Manual Testing
Requirements Models Stimulus Profile Analysis
18 ni.com
Application Software
NI Requirements Gateway • Requirements traceability • Impact analysis • Coverage reporting
NI DIAdem • Data management • Data visualization • Data Analysis and reporting
19 ni.com
Application Software
NI TestStand • Test automation • Production test optimization • Batch test data collection and reporting
NI VeriStand • Real-Time control, stimulus, and data logging • Simulation automation and visualization • Control algorithm prototyping
20 ni.com
Manual Testing Demo
21 ni.com
Model In the Loop (MIL) Automated Testing
Requirements Models Stimulus Profile Analysis
Stimulus Profile Analysis
Stimulus Profile Analysis
22 ni.com
Automation
Requirements
Models Stimulus Profiles Analysis
Model In the Loop (MIL) Automated Testing
23 ni.com
Automation Requirement
s Models Stimulus Profiles Analysis
Model In the Loop (MIL) Automated Testing
Workspace
Models
Stimulus Profile
Export Channels
Import Channels
Run Script
24 ni.com
Automation Sequence
Requirements
Model In the Loop (MIL) Automated Testing
Open VeriStand (VS)
Open VeriStand Config File
Set Model Parameters
Run Stimulus Profile
Open DIAdem
Export Log
Run Analysis Script
Close DIAdem
25 ni.com
Automated Demo
26 ni.com
Model In the Loop (MIL) Scripting Real-Time Tests
• Abstract the complexity of the test sequence creation • Define the test procedure
• Provide a single tool that abstract other tools
• Talk the same language as the user
27 ni.com
Model In the Loop (MIL) Scripting Real-Time Tests
Automated Test Sequence Scripting Test • Use the NIGEL engine, controller
and application model DLLs as the models to validate
• Use the CalibFile_CoastalSummer.csv as model parameters file
• Use the engine 1000.et1 as the stimulus profile
• Use the NIGEL_MaskA_Analysis.VBS as the analysis script and reporting
28 ni.com
Model In the Loop (MIL) Scripting Real-Time Tests
Scripting
Automation
Requirements Models Stimulus
Profiles Analysis
29 ni.com
MIL Scripting Demo
30 ni.com
Embedded Software Development Process
Requirements
Gathering
Model Simulation
Rapid Prototyping
Code Generation and ECU Flashing
Hardware in the Loop Testing
(HIL)
Physical Testing
• Test Cells
Field Test
• Calibration
+ -
Controller Plant
+ -
Plant Controller
MIL Testing
HIL Testing
31 ni.com
HIL Scripting Demo
32 ni.com
Questions?
javier.gutierrez@ni.com