1
Simulink®: Dynamic System Simulation for MATLAB®
1.1 Introduction
Simulink is treated as the totality of methods and facilities for the automation of modern systems development. The most essential Simulink applications are rapid prototyping and rapid applications development.
Simulink is the extension of MATLAB and assists in reducing the design period, in quality upgrading for physical model development, and process simulation in such systems. In Simulink the nature of software demands has been changed drastically, and the model graphic description as the system block diagram has been developed for computation control. Representation in the form of a block diagram, in most cases, does not need code writing, owing to the blockset library used for the solution of individual applied tasks.
Simulink represents a graphic form of a simulation language, with classes represented by blocks. The classes of destinations are grouped into extensive libraries that can be used for the generation of new system models. Simulink permits the designer to unite block diagrams into complex blocks, ensuring the hierarchical representation of a model structure [1,2].
1.1.1 Hierarchical Systems
Using blocks as the analog of any real component is at the heart of all simulation systems. Blocks can be coupled, forming plane-located functional diagrams. Any functional diagram can be treated as a complex block. Such complex blocks with their internal structures can be coupled again, constructing hierarchical, multilevel systems. A block is an independent, internally functional element that interacts with the ambient world (with other blocks) via a preassigned set of interface variables. A block is generally depicted as a rectangle with corresponding interface variables (inputs, outputs, contacts).
The world of real physical objects possesses the set of standard components and numerous devices using them as ready-made elements. In simulation packages they are matched by the class libraries and by block functional diagrams of the designed devices, constructed from the existing class specimens. Each functional diagram allows differentiation of the block types (classes) used for its construction and specific blocks (class specimens). Functional diagrams usually show the interconnected elements. The connections convey information on equivalent interface variables and the meaning of this equivalence.
A graph is a mathematical model of a system composed of interconnected elements. A graph can be disoriented (only the contact blocks are used) or oriented (the input–output blocks are used), depending on oriented or disoriented connections. When both contact and input–output blocks can be used on functional diagrams, the graph has two types of arcs: oriented and disoriented.
Representing the system as interconnected, simple, and lacking intrinsic internal structural elements, we can proceed further and examine each such block as a new subsystem, if necessary. We can construct a set of subsystems, a new enlarged element base, by uniting all blocks into the nonintersecting groups (subsystems). Proceeding with the process, we can construct a new element base and repeat it until only one subsystem remains in the set of subsystems. It is this system that will be hierarchical. If N steps were repeated, we would have an N-level hierarchical system described by the appropriate hierarchical tree. Instead of using the hierarchical tree, each hierarchical level can be depicted on a separate leaf, where each subsystem is represented by the rectangle with a subsystem name. These enlarged elements assist in constructing the multilevel functional diagrams.
1.1.1.1 Blocks and Connections: Various Approaches
Simulink uses preassigned blocks, which are graphic analogs of electronic circuits. A user can assemble the elementary applied block out of standard universal blocks or must write a new software code in a procedural language. The critics of this approach call the relict of analog computer simulation. The approach’s advantages are:
1. It is user friendly for an unqualified user.
2. There is no need for a complex translator.
3. It permits to effective interpretation of the models.
External variables are clearly subdivided into input variables, which can only be changed beyond the block, and output variables, which can be changed only inside the block....