VisSim
offers several easy-to-use features for integrating MATLAB files,
variables or functions within the VisSim simulation environment.
- MATLAB File Import: Standard
VisSim transferFunction and stateSpace blocks can be easily
configured to import MATLAB .m or .MAT files that represent SISO
(single-input single-output) transfer functions and/or MIMO
(multi-input multi-output) state-space representations.
- MatlabRead and MatlabWrite blocks:
VisSim includes MatlabRead and MatlabWrite blocks that enable
variables to be dynamically exchanged between MATLAB and VisSim.
- Matlab Expression Block: VisSim
also includes a MATLAB Expression Block that enables MATLAB
scripts to be edited and executed directly from the VisSim
environment.
Importing MATLAB System Designs
System designs developed in the MATLAB
environment, comprising one or more SISO (single-input single-output)
transfer functions and/or MIMO (multi-input multi-output) state-space
representations can be easily incorporated into VisSim. The
system specifications can be continuous or discrete and can be imported
into VisSim using the transferFunction and/or the stateSpace
blocks in VisSim.Either of these blocks can be configured to read
a .m or a .MAT file specification of the system design, and use that
design automatically in VisSim. There is no loss of
performance because the file is read only once, at the start of the
simulation.

For example, a standard way of designing
control systems for complex nonlinear systems involves the Piece-wise
Linear design approach, where the system is linearized about several
user-defined operating zones. Once the operating zones are defined, a
different linear control system is then designed for use in each
operating zone. As an example, a design with six operating zones can be
imported into VisSim using six blocks as described above; the
blocks would then be connected to standard VisSim boolean blocks
to specify which controller is active at any given time.
CAUTION: The MATLAB .m or .MAT file in this case must only be a
linear system specification. It cannot be an arbitrary MATLAB function
or statement.
Exchanging Variables with MatlabRead and
MatlabWrite blocks
 |
Using MatlabRead and MatlabWrite blocks, any variable defined in the
MATLAB environment can be accessed interactively from within a VisSim
simulation, and vice versa. When started, VisSim automatically invokes
MATLAB and accesses any MATLAB variables used in a VisSim model. Typical
examples of variables initialized in MATLAB would be control system
coefficients or other system parameters. Examples of variables exported
from VisSim into MATLAB would be simulation results for
visualization or other post processing in MATLAB. Additionally users may
run script files in MATLAB to initialize VisSim system simulation
parameters and start/stop VisSim from the MATLAB command line.
This would be especially useful to automate and perform large Monte
Carlo simulations

Interactive MATLAB scripting with the MATLAB
Expression Block
The Matlab Expression Block (see above) enables
users to edit and run MATLAB scripts directly from the VisSim
environment. This eliminates the need to switch back and forth between
the two applications when developing or running an interactive VisSim-MATLAB
co-simulation.
Examples of MATLAB expressions scripted in the MATLAB expression block
include the computation of the eigenvalues of a system matrix or
computing the optimal control coefficients of a linear quadratic
regulator (LQR).
|