Simulink.Bus.cellToObject
Create Simulink.Bus
objects from cell array of bus
information
Description
Examples
This example shows how to create and use a cell array to generate Simulink.Bus
objects in the base workspace.
To define the elements that the Simulink.Bus
object contains, create an array of Simulink.BusElement
objects or a cell array of the property values for the Simulink.BusElement
objects.
When you define the elements in an array, specify the values that differ from the default.
elementsArray(1) = Simulink.BusElement; elementsArray(2) = Simulink.BusElement; elementsArray(2).Name = "b"; elementsArray(2).Min = -3; elementsArray(2).Max = 3; elementsArray(2).Unit = "m";
When you define the elements in a cell array of property values, specify the element name, dimensions, data type, complexity, and sampling mode. Optionally, specify the dimensions mode, minimum, maximum, units, and description.
elementsCellArray = {{'a',1,'double','real','Sample'}; ... {'b',1,'double','real','Sample','Fixed',-3,3,'m',''}};
In this example, elementsArray
and elementsCellArray
create identical Simulink.BusElement
objects.
To create multiple Simulink.Bus
objects at once, create a cell array with two subordinate cell arrays that define the Simulink.Bus
objects. For each Simulink.Bus
object, specify the bus name, header file, description, data scope, alignment, preservation of element dimensions, and elements.
busCell = {{'BusObjArray','','','Auto','-1','0',elementsArray}, ... {'BusObjCellArray','','','Auto','-1','0',elementsCellArray}};
Create the Simulink.Bus
objects in the base workspace from the cell array of cell arrays.
Simulink.Bus.cellToObject(busCell)
To compare the Simulink.Bus
objects, open the Type Editor.
typeeditor
The Simulink.Bus
objects are identical other than their names.
Input Arguments
Bus information, specified as a cell array of cell arrays. Each
subordinate cell array must contain this Simulink.Bus
object information:
Bus name
Header file
Description
Data scope
Alignment
Preserve element dimensions
Elements
The elements field must contain arrays or cell arrays with this
information for each of the Simulink.BusElement
objects
that the Simulink.Bus
object references:
Element name
Dimensions
Data type
Sample time (optional) — If you specify a sample time, specify an inherited sample time (
-1
). A noninherited sample time causes an error during model compilation. For more information, see Simulink.BusElement objects no longer support the SampleTime property.Complexity
Sampling mode
The elements field arrays or cell arrays can also contain this information:
Dimensions mode
Minimum
Maximum
Units
Description
Data dictionary, specified as a Simulink.data.Dictionary
object. Before you use this argument, represent the dictionary with a
Simulink.data.Dictionary
object by using, for example, the Simulink.data.dictionary.create
or Simulink.data.dictionary.open
function.
If scope
is empty, the function uses the MATLAB base workspace as the source of the
Simulink.Bus
objects.
Tips
The inverse function is Simulink.Bus.objectToCell
.
Version History
Introduced before R2006aThe SampleTime
property of Simulink.BusElement
objects is no longer supported.
BusElement
objects that specify a sample time cause an error during
compile. To remove the sample time specification from a BusElement
object,
set its SampleTime
to -1
.
Simulink.Bus.cellToObject
continues to accept cell arrays that
specify sample time for bus elements. Simulink.Bus.objectToCell
,
Simulink.Bus.save
, and Simulink.Bus.createObject
continue to return cell arrays or arrays that include the sample time when it is noninherited.
When the sample time is inherited (-1
), they omit it. Similarly, the
Type Editor and Model Explorer omit the sample time when it is
inherited.
To specify the sample time for an element of a bus, use the
SampleTime
block parameter of corresponding blocks. For example,
you can use In Bus Element, Out Bus Element, and Signal
Specification blocks to specify sample time.
The SamplingMode
property of Simulink.BusElement
objects has been removed. Scripts that use the SamplingMode
property of
Simulink.BusElement
objects continue to work. The
Simulink.Bus.cellToObject
function continues to require the
SamplingMode
field. The
Simulink.Bus.objectToCell
function continues to include the
sampling mode in the output cell arrays. When you save Simulink.Bus
object
definitions to functions that use cell arrays, the cell arrays continue to include the
sampling mode.
In a future release, support for the SamplingMode
property will be
removed.
To specify whether a signal is sample-based or frame-based, define the sampling mode of input signals at the block level instead of at the signal level.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)