silver 2 - moasoft · convert the models into silver modules ( dll) ... as vector canape or etas...
TRANSCRIPT
Silver is a tool used by development engineers to integrate and test control software virtually on Windows PC using two alternative setups:● co-simulation of control software and of hardware
simulation models in order to test system-level behavior even before physical prototypes exist
● rapid control prototyping: controller functions running on laptop under Silver can be connected via CAN to by-pass ECUs functions running in real car or in a HIL simulation
Control software and simulation models can be imported from C/C++, MATLAB/Simulink with RTW or TargetLink, ASCET, Dymola, SimulationX, SIMPACK, AMESim or Python. Silver provides built-in support for automotive standards such as ASAP2/A2L, CAN, MDF, FMI, XCP and ISO 26262.
Benefits● rapid virtual integration on Windows PC● excellent debugging and test support● extremely fast development cycles● executing other's contributions without their tools ● sharing results without sharing IP● parallelize the development process
Features● fast co-simulation of arbitrarily many modules● easy configuration of graphical interfaces with:
signal plotters, gauges, sliders, switches● excellent debugging support: breakpoints with
symbolic conditions on signals, connection to source-code debuggers for step-by-step module execution, comparison of simulations and measurements, code coverage with CTC++
● Pause / Step / Inspect / Overwrite / Continue available during simulation
● simulations driven by: graphical interface, measurement files, scripts
● reading and writing of measurements, for instance in MDF or CSV format
● Python scripting, PID controllers, filters, FFT● test automation with TestWeaver, TPT or Python● range monitoring for all ECU signals● monitoring of stack and run-time requirements● fault simulation● worst-case analysis with TestWeaver● ECU calibration interface (XCP)● interface to all ECU signals with ASAP2/A2L files● interface to CAN configured with DBC files
Silver 2.3Virtual ECU platform for rapid software development on Windows PC
QTronic GmbHAlt-Moabit 92D-10559 [email protected]+49 30 3512 1066
Cop
yrig
ht ©
QTr
onic
Gm
bH 2
011
Silver
How to virtually integrate modules with Silver
Build models using Simulink, Dymola, SimulationX, AMEsim, Python, C/C++
Convert the models into Silver modules ( dll) using the QTronic export tools.For each ECU, configure a Silver Basic SW adapter using dbc and a2l files.
Load all modules into Silver. Silver connects module outputs to module inputs automatically based on name matching. Potential problems and diagnosis information is given for undefined inputs, unused outputs, and module errors.
Add GUI elements to control simulation or display results. Store the configuration in .sil file for later re-use. Run the simulation to co-execute all the modules. Control and inspect results on-line using the GUI. For off-line analysis, measurement files can be read and written in various formats.
.mdl .c.mo
Silver
Silver
.sil
1
2
3
4
Silver application scenarios
Configure the user interface for your application and drive the system interactively. Silver provides plotters, push buttons, sliders and many more to build up a GUI using drag and drop.
Use this virtual integration to make sure that all modules of your application work together as expected when put into closed-loop with the plant model.
Test automation
.mdf.mdf
Silver
testreport
Silver
.mdf.py
.mdf.csv
To automate testing of your application, drive simulation by Python scripts, or by mdf, dat or csv files. You can also use Silver as execution platform for test automation, for example using TestWeaver or TPT. You can also attach tools (such a CTC++) to measure the code coverage achieved by the tests.
To debug problems found during test, you can attach a C debugger to the Silver process, step through your code or set breakpoints on signal level and even on code level. Runtime exceptions, such as divisions by zero or access violations, can be easily traced back to the module and the source code that provoked it.
.mdf.a2l .mdf.par .mdf.dcm .mdfCAN
Attach an a2l or pdb file to a module to measure and plot all variables for which the address in the compiled module is known. This way you can access all static variables of a running module, not only its top-level inputs and outputs.
Silver can emulate your ECU: Attach tools such as Vector CANape or ETAS INCA to Silver to measure and calibrate the running application, using the same configuration files that you use for the real ECU hardware. Silver can write ("flash") application parameters given in various formats (par, dcm, hex) into your application. Para-meters can be changed on-line and saved to files.
XCP
.pdb
Our services● Silver setup for development projects● Consulting for test and validation of systems● Development of simulation models
MS Visual C++
A laptop running Silver can be connected via CAN to a hardware-in-the-loop simulation or to a real car. Silver then by-passes the real ECU, which shortens development cycles.
Test automation and debugging
Interactive test
Measurement and calibration.pdb
Rapid prototyping
CANapeINCA
Test Weaver 2.3Higher test coverage with less work
QTronic GmbHAlt-Moabit 92D-10559 [email protected]+49 30 3512 1067
TestWeaver is a tool for automated test and validation of embedded systems using MiL, SiL, HiL simulation.
For testing a system, TestWeaver does not require predefined test scripts. TestWeaver generates, runs and evaluates thousands of tests auto-nomously – using a unique technology for intelli-gent test generation and evaluation of reactive systems.
Features● automatic & intelligent test generation. Also integrated, classical test automation methods based on:
- Interactive scenario recording and replay- Script-based test automation, e.g. with Python
● reactive test execution using MiL, SiL or HiL● automatic evaluation and report generation● positive and negative tests supported● fault injection tests● worst-case analysis● reuse of tests for MiL, SiL and HiL possible● 100% reproducible problems on MiL and SiL● system-state coverage reports● source-code coverage, e. g. with CTC++● source-code debugging for C/C++ with MS Visual Studio
Advanced support for automotive applications via Silver:● ASAP2/A2L, CAN, MDF, XCP, FMI, ISO 26262● flashing of ECU vehicle configuration parameters● range monitoring for all ECU signals● monitoring stack and time required by control functions
Problems that can be found with TestWeaver:● division by zero, access violation, infinite loops,
non-determinism, range violations● oscillations of discrete and continuous signals● algorithmic errors, such as: state estimation significantly
wrong for longer times● system-level problems: poor shift quality, clutch
overheating, inadequate fault reaction Usually coding errors can be found using quite simple models, while quality assessment typically requires closed-loop simulation with a calibrated plant model.
Supported modeling and development environments:● C/C++, for instance Microsoft Visual Studio● MATLAB/Simulink, Real Time Workshop, Dymola● via Silver: AMESim, SimulationX, FMU, Python
TestWeaver runs under Windows on standard PCs.
Benefit● fast development: early problem detection● high test coverage: thousands of high-quality tests ● less work: more automation, less scripting
Cop
yrig
ht ©
QTr
onic
Gm
bH 2
011
How to use TestWeaver
Our services● Consulting for test and validation of systems● Support for developing simulation models● TestWeaver integration in development projects
The starting point is an executable model of the system under test. This model consists typically of (i) a simulation model of the controlled physical components, e. g. a vehicle model, and (ii) the software controlling the system. In model-based development projects, such models are usually available anyway. You can use a wide range of tools to build the model, see frontpage. TestWeaver needs no access to the model source. You can test compiled models without knowing their source code.
Select key inputs and outputs of the system. Typical inputs are acceleration and brake pedal, steering angle, road properties, and variables to control fault injection, e. g. sensor faults. Typical outputs are state variables of the control software, and key variables of the vehicle model, e. g. current and target gears, engine torque, etc. Classify the output values, to enable TestWeaver to distinguish desired from unwanted behavior. Likewise, classify input values, to enable TestWeaver to distinguish nominal inputs from inputs used to activate a component fault, e. g. of a sensor. For real valued inputs and outputs, classification means to partition the real axis in intervals, and assign the above properties to each interval. This turns the infinite space spanned by all inputs and outputs into a grid with a finite number of discrete states.
Connect simulation signals with TestWeaver. Connector libraries are provided, e. g. for C, Simulink, Dymola, Silver and Python.
Run TestWeaver: TestWeaver will autonomously drive the system model using the inputs and observe system response through the outputs. TestWeaver's goal is to drive the system into undesired states and to maximize coverage of the system states in the grid defined above, i. e. to reach every reachable discrete state at least once.
Analyze the problems found by TestWeaver. The problems found and the coverage reached during an experiment is reported using tables and histograms. Every problem found can be replayed in the simulation or development environment for detailed debugging and analysis. Interesting tests can be collected in test databases, e. g. for regression tests, or can be exported into other tools, e. g. for HiL tests.
1
2
3
4