"The Bench Wizard integrates I/O,
communication, data logging, and diagnostics to automate testing over the
full range of normal and abnormal conditions."
The Bench Wizard architecture is based on a Subsystem
hierarchy. A Subsystem encapsulates any software or hardware system that is
composed of Input, Output, Internal, and Parameter Variables. The following
Subsystems have been developed for The Bench Wizard:
Simulink, CarSim, C/C++ Models: Simulink and CarSim models can be imported
into The Bench Wizard. In addition, users can also import their own models
written in C/C++.
PXIO/Merlin3200: I/O can be reconfigured form The Bench Wizard. Patterns for output channels
can be imported. Digital channels can be reconfigured to support PWM, frequency, pulse, or lookup modes.
PXComm/CAN: CAN transmit and receive messages can be entered into a database
for simulating nodes on a bus. CAN messages can be parsed into engineering
data. Transmit messages can be scheduled periodically, based on high/low
data change events, or in response to a receive message. Filters can be used
to display selected messages.
PXFault/Excalibur: Multi-point open circuits, shorts to battery, shorts to
ground, shorts to wires, and resistance insertions can be scheduled in real
time. Complex fault timing can be generated with the real time scheduler.
The following functionally is implemented across all Subsystems.
Running: A simulation can run in looping or single mode. When in one of
these modes, a simulation can be stopped, paused, or stepped. In addition, a
simulation can run multiple iterations with delays or pauses.
Data Generation: Input data can be controlled with Interactive gauges,
complex Waveforms, or from other Inputs, Outputs, or Internal variables. The
Waveform Generator supports Sine, Square, Triangle, Step, Ramp, On/Off,
Table Lookup, Import Buffer, and Noise.
Calibration: The Bench Wizard provides easy access to all Subsystem
Data Logging: Input, Output, and Internal variables can be logged into
various data formats. Logging can be trigger manually, at a specified time,
or via other variables. In addition, data can be captured before a log
Visualization: All variables can be displayed with Scopes, Decimal, Hex,
Binary, Scientific, Knobs, Dials, Sliders, Combo Boxes, Radio Groups, LED's,
Buttons, Toggle Switches, Parameter Grids, and Text.
Task Scheduler: Various tasks can be injected into a simulation with the
Task Scheduler. The Task Scheduler can be used to inject faulty data or invalid communication
messages. It can also be used to inject noise as well as various waveforms.
Every Task can be triggered based on a time or data event
Scripting: All internal functionality is exposed with an ActiveX interface.
The scripting interface allows tests to be configured, executed, and
analyzed automatically. MATLAB® and Python interface libraries are provided
with the Bench Wizard.
Error/Exception Logger: In order to provide the best support possible, The
Bench Wizard incorporates an integrated error and exception handler.
While automotive diagnostics consumes a large portion of development time and
resources, current tools provide little or no support for automated fault
insertion. The Bench Wizard is a highly integrated development tool that
incorporates I/O, communication, data logging, calibration, and fault
to automate testing over the full range of normal and abnormal conditions.
By providing a simple virtual instrument interface with graphical buttons and
scopes, the Bench Wizard hides the details involved in running complex
simulations. Its simple drag and drop interface gives engineers and
technicians a powerful environment for testing automotive control systems.
The Bench Wizard's open architect incorporates a CAN communication message
scheduler and interpreter. The CAN scheduler and interpreter can be used to
simulate multiple nodes within a vehicle network. All CAN message data can
be accessed from the Bench Wizard's user interface.
The value of The Bench Wizard can be further extended with MatLab® and other scripting environments such as Python. The
scripting interface allows access to all The Bench Wizard's core