VisSim
Encyclopedia
VisSim is a visual block diagram
language for simulation of dynamical system
s and model based design
of embedded systems. It is developed by Visual Solutions of Westford, Massachusetts
.
It uses a graphical data flow paradigm to implement dynamic systems based on differential equations. Version 8 adds interactive UML
2 compliant state chart graphs
that are placed in VisSim diagrams. This allows easy modeling of state based systems like startup sequencing of process plants or serial protocol decoding.
design and digital signal processing
for multidomain simulation and design. It includes blocks for arithmetic, Boolean, and transcendental function
s, as well as digital filter
s, transfer function
s, numerical integration
and interactive plotting. The most commonly modeled systems are aeronautical, biological/medical, digital power, electric motor, electrical, hydraulic, mechanical, process, thermal/HVAC and econometric.
code for the model. This is most useful during development of embedded systems; when the logic of the model has been thoroughly tested, the C-code can be generated and 'flashed' to the target. The VisSim generated code is efficient and readable, making it easy to use as a development platform for embedded systems. VisSim's author served on the X3J11 ANSI C committee and wrote several C compilers, in addition to co-authoring a book on C. This deep understanding of ANSI C, and the nature of the resulting machine code
when compiled, is the key to the code generator's efficiency. VisSim can target small 16-bit
fixed point
systems like the Texas Instruments
MSP430, using only 740 bytes flash and 64 bytes of RAM for a small closed-loop Pulse-width modulation
(PWM) actuated system, as well as allowing very high control sample rates over 500 kHz on larger 32-bit
floating point processors like the Texas Instruments
150 MHz F28335.
s is becoming widely adopted for production systems because it shortens development cycles for hardware development in the same way that Model-driven architecture
shortens production cycles for software development.
Model building
is a visual way of describing a situation. In an engineering context, instead of writing and solving a system of equations, model building involves using visual "blocks" to solve the problem. The advantage of using models is that in some cases problems which appear difficult if expressed mathematically may be easier to understand when represented pictorially.
VisSim uses a hierarchical composition to create nested block diagrams. A typical model would consist of "virtual plants" composed of various VisSim "layers", combined if necessary with custom blocks written in C or FORTRAN. A virtual controller can be added and tuned to give desired overall system response. User interface
elements such as sliders and buttons allow control of what-if analysis for operator training or controller tuning.
Although VisSim was originally designed for use by control engineers, it can be used for any type of mathematical model. An example is work done by Steve Keen
, an economist.
Block diagram
Block diagram is a diagram of a system, in which the principal parts or functions are represented by blocks connected by lines, that show the relationships of the blocks....
language for simulation of dynamical system
Dynamical system
A dynamical system is a concept in mathematics where a fixed rule describes the time dependence of a point in a geometrical space. Examples include the mathematical models that describe the swinging of a clock pendulum, the flow of water in a pipe, and the number of fish each springtime in a...
s and model based design
Model based design
Model-Based Design is a mathematical and visual method of addressing problems associated with designing complex control, signal processing and communication systems. It is used in many motion control, industrial equipment, aerospace, and automotive applications...
of embedded systems. It is developed by Visual Solutions of Westford, Massachusetts
Westford, Massachusetts
Westford is a town in Middlesex County, Massachusetts, United States. The population was 21,951 at the 2010 census.-History:Originally a part of neighboring Chelmsford, West Chelmsford soon grew large enough to sustain its own governance, and was officially incorporated as Westford on September 23,...
.
It uses a graphical data flow paradigm to implement dynamic systems based on differential equations. Version 8 adds interactive UML
UML state machine
UML state machine is a significantly enhanced realization of the mathematical concept of a finite automaton in Computer Science applications as expressed in the Unified Modeling Language notation....
2 compliant state chart graphs
State diagram
A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction...
that are placed in VisSim diagrams. This allows easy modeling of state based systems like startup sequencing of process plants or serial protocol decoding.
Applications
VisSim is widely used in control systemControl system
A control system is a device, or set of devices to manage, command, direct or regulate the behavior of other devices or system.There are two common classes of control systems, with many variations and combinations: logic or sequential controls, and feedback or linear controls...
design and digital signal processing
Digital signal processing
Digital signal processing is concerned with the representation of discrete time signals by a sequence of numbers or symbols and the processing of these signals. Digital signal processing and analog signal processing are subfields of signal processing...
for multidomain simulation and design. It includes blocks for arithmetic, Boolean, and transcendental function
Transcendental function
A transcendental function is a function that does not satisfy a polynomial equation whose coefficients are themselves polynomials, in contrast to an algebraic function, which does satisfy such an equation...
s, as well as digital filter
Digital filter
In electronics, computer science and mathematics, a digital filter is a system that performs mathematical operations on a sampled, discrete-time signal to reduce or enhance certain aspects of that signal. This is in contrast to the other major type of electronic filter, the analog filter, which is...
s, transfer function
Transfer function
A transfer function is a mathematical representation, in terms of spatial or temporal frequency, of the relation between the input and output of a linear time-invariant system. With optical imaging devices, for example, it is the Fourier transform of the point spread function i.e...
s, numerical integration
Numerical integration
In numerical analysis, numerical integration constitutes a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equations. This article focuses on calculation of...
and interactive plotting. The most commonly modeled systems are aeronautical, biological/medical, digital power, electric motor, electrical, hydraulic, mechanical, process, thermal/HVAC and econometric.
Academic use
Accredited educational institutions are allowed to site license VisSim v3.0 at no cost. The latest versions of VisSim and add-ons are also available to students and academic institutions at greatly reduced pricing.Distributing VisSim models
A read-only version of the software, VisSim Viewer is available free of charge and provides a way for people not licensed to use VisSim to run VisSim models. This program is intended to allow models to be more widely shared while preserving the model in its published form. The viewer will execute any VisSim model, and only allows changes to block and simulation parameters to illustrate different design scenarios. Sliders and buttons may be activated if included in the model.Code generation
The "VisSim/C-Code" add-on generates ANSI CANSI C
ANSI C refers to the family of successive standards published by the American National Standards Institute for the C programming language. Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.-History and outlook:The first...
code for the model. This is most useful during development of embedded systems; when the logic of the model has been thoroughly tested, the C-code can be generated and 'flashed' to the target. The VisSim generated code is efficient and readable, making it easy to use as a development platform for embedded systems. VisSim's author served on the X3J11 ANSI C committee and wrote several C compilers, in addition to co-authoring a book on C. This deep understanding of ANSI C, and the nature of the resulting machine code
Machine code
Machine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...
when compiled, is the key to the code generator's efficiency. VisSim can target small 16-bit
16-bit
-16-bit architecture:The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor. Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816. The Intel 8088 was program-compatible with the Intel 8086, and was 16-bit in that its registers were 16...
fixed point
Fixed-point arithmetic
In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after the radix point...
systems like the Texas Instruments
Texas Instruments
Texas Instruments Inc. , widely known as TI, is an American company based in Dallas, Texas, United States, which develops and commercializes semiconductor and computer technology...
MSP430, using only 740 bytes flash and 64 bytes of RAM for a small closed-loop Pulse-width modulation
Pulse-width modulation
Pulse-width modulation , or pulse-duration modulation , is a commonly used technique for controlling power to inertial electrical devices, made practical by modern electronic power switches....
(PWM) actuated system, as well as allowing very high control sample rates over 500 kHz on larger 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
floating point processors like the Texas Instruments
Texas Instruments
Texas Instruments Inc. , widely known as TI, is an American company based in Dallas, Texas, United States, which develops and commercializes semiconductor and computer technology...
150 MHz F28335.
Use of model-based development
The technique of simulating system performance off-line, and then generating code from the simulation is known as "model-based development". Model-based development for embedded systemEmbedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...
s is becoming widely adopted for production systems because it shortens development cycles for hardware development in the same way that Model-driven architecture
Model-driven architecture
Model-driven architecture is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of...
shortens production cycles for software development.
Model building
Model building
Model building as a hobby involves the creation of models either from kits or from materials and components acquired by the builder.Categories of modelling include:*Scale model building*Live steam models*Matchstick models*Military models...
is a visual way of describing a situation. In an engineering context, instead of writing and solving a system of equations, model building involves using visual "blocks" to solve the problem. The advantage of using models is that in some cases problems which appear difficult if expressed mathematically may be easier to understand when represented pictorially.
VisSim uses a hierarchical composition to create nested block diagrams. A typical model would consist of "virtual plants" composed of various VisSim "layers", combined if necessary with custom blocks written in C or FORTRAN. A virtual controller can be added and tuned to give desired overall system response. User interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
elements such as sliders and buttons allow control of what-if analysis for operator training or controller tuning.
Although VisSim was originally designed for use by control engineers, it can be used for any type of mathematical model. An example is work done by Steve Keen
Steve Keen
Steve Keen is a Professor in economics and finance at the University of Western Sydney. He classes himself as a post-Keynesian, criticizing both modern neoclassical economics and Marxian economics as inconsistent, unscientific and empirically unsupported...
, an economist.
VisSim optional features
Screenshots show the simulation of a sine Sine In mathematics, the sine function is a function of an angle. In a right triangle, sine gives the ratio of the length of the side opposite to an angle to the length of the hypotenuse.Sine is usually listed first amongst the trigonometric functions.... function in VisSim. Noise is added to the model, then filtered out using a Butterworth filter Butterworth filter The Butterworth filter is a type of signal processing filter designed to have as flat a frequency response as possible in the passband so that it is also termed a maximally flat magnitude filter... . The signal traces of the sine function with noise and filtered noise are first shown together, and then shown in separate windows in the plot block. |
This video size: 50% (320x240 pixels) |
Other size: 100% (640x480 pixels) |
- Physical layerPhysical layerThe physical layer or layer 1 is the first and lowest layer in the seven-layer OSI model of computer networking. The implementation of this layer is often termed PHY....
communication system simulation (modulators, encoders, PLLs, Costas LoopCostas loopA Costas loop is a phase-locked loop used for carrier phase recovery from suppressed-carrier modulation signals, such as from double-sideband suppressed carrier signals. It was invented by John P. Costas at General Electric in the 1950s...
, BPSK, QPSK, DQPSK, QAM, Bit Error Rate (BER), Eye Diagram, Viterbi algorithmViterbi algorithmThe Viterbi algorithm is a dynamic programming algorithm for finding the most likely sequence of hidden states – called the Viterbi path – that results in a sequence of observed events, especially in the context of Markov information sources, and more generally, hidden Markov models...
, Reed-Solomon, etc.) - Frequency domain analysis (Bode plotBode plotA Bode plot is a graph of the transfer function of a linear, time-invariant system versus frequency, plotted with a log-frequency axis, to show the system's frequency response...
, Root locusRoot locusRoot locus analysis is a graphical method for examining how the roots of a system change with variation of a certain system parameter, commonly the gain of a feedback system. This is a technique used in the field of control systems developed by Walter R...
, Nyquist plotNyquist plotA Nyquist plot is a parametric plot of a transfer function used in automatic control and signal processing. The most common use of Nyquist plots is for assessing the stability of a system with feedback. In Cartesian coordinates, the real part of the transfer function is plotted on the X axis. The...
) - CAN bus (Controller-area network) packet read and write
- Automatic C programming languageC (programming language)C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
code generationAutomatic programmingIn computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level.... - Electric motorElectric motorAn electric motor converts electrical energy into mechanical energy.Most electric motors operate through the interaction of magnetic fields and current-carrying conductors to generate force...
simulation library for AC induction, Brushless DC, and Stepper motorStepper motorA stepper motor is a brushless, electric motor that can divide a full rotation into a large number of steps. The motor's position can be controlled precisely without any feedback mechanism , as long as the motor is carefully sized to the application...
s - Neural networkNeural networkThe term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
s - OPC (OLE for process controlOLE for process controlOLE for Process Control , which stands for Object Linking and Embedding for Process Control, is the original name for a standards specification developed in 1996 by an industrial automation industry task force...
) client gives read and write of OPC tags for real-time simulation of SCADASCADASCADA generally refers to industrial control systems : computer systems that monitor and control industrial, infrastructure, or facility-based processes, as described below:...
/HMI virtual plants - Global optimizationGlobal optimizationGlobal optimization is a branch of applied mathematics and numerical analysis that deals with the optimization of a function or a set of functions to some criteria.- General :The most common form is the minimization of one real-valued function...
of system parameters - Real-time analog signalAnalog signalAn analog or analogue signal is any continuous signal for which the time varying feature of the signal is a representation of some other time varying quantity, i.e., analogous to another time varying signal. It differs from a digital signal in terms of small fluctuations in the signal which are...
and digital I/O under Windows - Fixed-point arithmeticFixed-point arithmeticIn computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after the radix point...
blockset for bit-true simulation and code generation - Embedded system targeting for Texas Instruments C2000 and MSP430 chips. Supports on-chip peripherals like serial ports, CANController Area NetworkController–area network is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer....
, PWMPulse-width modulationPulse-width modulation , or pulse-duration modulation , is a commonly used technique for controlling power to inertial electrical devices, made practical by modern electronic power switches....
, Quadrature Encoder Pulse (QEP), Event Capture, Serial Peripheral Interface BusSerial Peripheral Interface BusThe Serial Peripheral Interface Bus or SPI bus is a synchronous serial data link standard named by Motorola that operates in full duplex mode. Devices communicate in master/slave mode where the master device initiates the data frame. Multiple slave devices are allowed with individual slave select ...
(SPI), I²CI²CI²C is a multi-master serial single-ended computer bus invented by Philips that is used to attach low-speed peripherals to a motherboard, embedded system, cellphone, or other electronic device. Since the mid 1990s, several competitors I²C ("i-squared cee" or "i-two cee"; Inter-Integrated Circuit;...
, Analog-to-digital converterAnalog-to-digital converterAn analog-to-digital converter is a device that converts a continuous quantity to a discrete time digital representation. An ADC may also provide an isolated measurement...
(ADC), Digital-to-analog converterDigital-to-analog converterIn electronics, a digital-to-analog converter is a device that converts a digital code to an analog signal . An analog-to-digital converter performs the reverse operation...
(DAC), and GPIOGPIOGeneral Purpose Input/Output is a generic pin on a chip whose behavior can be controlled through software....
.
External links
- A Simulation-Aided Introduction with VisSim/Comm Digital Transmission Series: Signals and Communication Technology, Guimaraes, Dayan Adionel, 2010, ISBN 978-3-642-01358-4
- Dynamics of Energy Supply and Conversion Dr Perez-Blanco, Horacio, 2009, CRC Press, ISBN 978-1420076882