VisSim-Matlab
integration
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). |