add_block
Hinzufügen von Blöcken zu einem Modell
Beschreibung
spezifiziert Optionen unter Verwendung eines oder mehrerer Name-Wert-Argumente zusätzlich zu den Eingabeargumenten in der vorherigen Syntax. Um beispielsweise einen Gain-Block hinzuzufügen, der die Eingabe mit 5 multipliziert, setzen Sie h = add_block(___,Name=Value)Gain auf "5".
Beispiele
Sie können einen Block aus einer Bibliothek hinzufügen, indem Sie die Funktion add_block und die folgenden Eingangsargumente verwenden:
Der Pfad des Bibliotheksblocks von der obersten Ebene der Bibliotheksbrowser-Baumhierarchie zu dem Bibliotheksblock, den Sie hinzufügen möchten, z. B.
"Simulink/Math Operations/Gain"Der vollständige Blockpfad von der obersten Ebene der Modellhierarchie bis zu der Stelle, an der Sie den neuen Block hinzufügen möchten, z. B.
"myModel/mySubsystem/myblock"
Beide Pfade müssen mit einem Blocknamen enden.
In diesem Beispiel fügen Sie dem Subsystem Controller im Modell f14 eine anpassbare Skalenanzeige hinzu.
Öffnen Sie das Beispiel. Laden oder öffnen Sie daraufhin das Zielmodell.
open_system("f14")Nehmen wir an, dass Sie den genauen Namen des für diese Aufgabe benötigten Blocks oder die Position des Blocks in der Library Browser-Baumstruktur nicht kennen. Um den Pfad des Bibliotheksblocks zu ermitteln, führen Sie eine Suche im Library Browser durch. Öffnen Sie den Library Browser. Geben Sie im Suchfeld den Text gauge ein und drücken Sie die Eingabetaste.

Pausieren Sie in den Suchergebnissen beim Skalenanzeigen-Symbol. In einem Tooltip wird der Pfad des Bibliotheksblocks angezeigt.
Fügen Sie den Circular-Gauge-Block dem Subsystem Controller hinzu. Nennen Sie den Block myGauge.
Der Pfad zum Bibliotheksblock ist
"simulink_hmi_customizable_blocks/Circular Gauge".Der vollständige Pfad des Blocks lautet
"f14/Controller/myGauge".
add_block("simulink_hmi_customizable_blocks/Circular Gauge","f14/Controller/myGauge");
Um den Block im Modell f14 anzuzeigen, navigieren Sie zum Subsystem Controller.
open_system("f14/Controller")Fügen Sie eine Kopie eines Blocks aus dem f14-Modell dem vdp-Modell hinzu.
Laden oder öffnen Sie das Zielmodell.
open_system("vdp");Fügen Sie den Actuator Model-Block aus dem f14-Modell dem vdp-Modell hinzu.
add_block("f14/Actuator Model","vdp/Actuator Model");
Fügen Sie einen Scope-Block aus der Simulink®-Bibliothek dem vdp-Modell hinzu. Da das vdp-Modell bereits einen Block namens „Scope“ enthält, verwenden Sie die Option MakeNameUnique, um einen eindeutigen Namen für den neuen Block zu erstellen.
Laden oder öffnen Sie das Zielmodell.
open_system("vdp");Fügen Sie den Scope-Block aus der Simulink®-Sinks-Bibliothek zum vdp-Modell hinzu. Stellen Sie MakeNameUnique auf "on".
add_block("simulink/Sinks/Scope","vdp/Scope",MakeNameUnique="on")
Fügen Sie einen Block aus einer Bibliothek einem Modell hinzu und legen Sie Parameter mithilfe eines Namen-Wert-Arguments fest.
Laden oder öffnen Sie das Zielmodell.
open_system("vdp");Fügen Sie dem vdp-Modell einen Gain-Block aus der Bibliothek hinzu. Setzen Sie daraufhin den Gain-Wert auf 5.
add_block("simulink/Math Operations/Gain","vdp/Five",Gain="5")
Wie Sie einen Block für einen Port hinzufügen, hängt vom jeweiligen Zweck ab. Sie können einen Block für einen neuen oder vorhandenen Port hinzufügen. Sie können auch einen Block duplizieren, der einem Eingangsport entspricht.
Blöcke für neue Ports hinzufügen
Erstellen und öffnen Sie ein Modell mit dem Namen PortBlockCreation.
mdl = "PortBlockCreation";
new_system(mdl);
open_system(mdl);Um Ports zu erstellen, die durch eine Portnummer identifiziert werden, fügen Sie die Blöcke „In1“ und „Out1“ hinzu. Standardmäßig wird durch das Hinzufügen eines „In1“- oder „Out1“-Blocks ein Port erstellt.
add_block("simulink/Ports & Subsystems/In1",... "PortBlockCreation/In1") add_block("simulink/Ports & Subsystems/Out1",... "PortBlockCreation/Out1")
Um Ports zu erstellen, die durch den Portnamen identifiziert werden, fügen Sie die Blöcke „In Bus Element“ und „Out Bus Element“ hinzu. Standardmäßig entsprechen neue „In Bus Element“- und „Out Bus Element“-Blöcke den Ports mit den Namen InBus bzw. OutBus. Diese Ports haben auch eine Portnummer. Optional können Sie mit dem Block-Parameter PortName einen benutzerdefinierten Namen für den Port angeben.
add_block("simulink/Ports & Subsystems/In Bus Element",... "PortBlockCreation/InBusElement") add_block("simulink/Ports & Subsystems/Out Bus Element",... "PortBlockCreation/OutBusElement")
Um beim Hinzufügen eines „In Bus Element“ oder „Out Bus Element“ einen Port zu erstellen, setzen Sie CreateNewPort auf "on".
add_block("simulink/Ports & Subsystems/In Bus Element",... "PortBlockCreation/InBusElement1",CreateNewPort="on") add_block("simulink/Ports & Subsystems/Out Bus Element",... "PortBlockCreation/OutBusElement1",CreateNewPort="on")
Wenn Sie CreateNewPort nicht auf "on" setzen, variiert das Verhalten.
Angenommen, Sie haben Ports mit den Namen
InBusundOutBus. Der hinzugefügte Block entspricht einem dieser Ports. Wenn Sie beim Hinzufügen des Blocks einen Portnamen angeben, benennt die Software den PortInBusoderOutBusum, um den angegebenen Portnamen zu verwenden.Angenommen, Sie haben nur benutzerdefinierte Ports. Der hinzugefügte Block entspricht einem neuen Port. Wenn Sie beim Hinzufügen des Blocks einen Portnamen angeben, verwendet der neue Port den angegebenen Portnamen.
Hinzufügen von Blöcken für neue Port-Elemente
„In Bus Element“- und „Out Bus Element“-Blöcken können Sie mehrere Elemente aus einem Eingabeport auswählen und mehrere Elemente mit einem Ausgabeport verbinden.
Um einem „In Bus Element“-Block ein Element hinzuzufügen, kopieren Sie einen vorhandenen Block, der dem Port entspricht, und geben Sie einen eindeutigen Namen für das neue Element an.
add_block("PortBlockCreation/InBusElement",... "PortBlockCreation/InBusElement2",Element="signal2")
Um einem „Out Bus Element“-Block ein Element hinzuzufügen, kopieren Sie einen vorhandenen Block, der dem Port entspricht. Optional können Sie einen eindeutigen Elementnamen angeben.
add_block("PortBlockCreation/OutBusElement",... "PortBlockCreation/OutBusElement2")
Duplizieren von Blöcken für Eingabeports
Mehrere Blöcke in einem Blockdiagramm können dieselbe Eingabe von einem Eingabeport verwenden. Das Duplizieren eines Blocks, der mit einer Eingabe übereinstimmt, kann das Routing vereinfachen.
Um einen „In1“-Block zu duplizieren, kopieren Sie den Block aus dem Blockdiagramm und setzen Sie CopyOption auf "duplicate".
add_block("PortBlockCreation/In1",... "PortBlockCreation/In1Dup",CopyOption="duplicate")
Um einen „In Bus Element“-Block zu duplizieren, kopieren Sie den Block.
add_block("PortBlockCreation/InBusElement",... "PortBlockCreation/InBusElementDup")
Die duplizierten Blöcke verwenden dieselbe Portnummer wie die Originalblöcke. Bei namenbasierten Ports wählt der Block dasselbe Element aus demselben Port wie der Originalblock aus.
Eingabeargumente
Zu kopierender Block, der als Blockpfad angegeben ist. Weitere Informationen zu Blockpfaden finden Sie unter Get Handles and Paths.
Um einen Block von einem Modell zu kopieren, geben Sie den Blockpfad an. Der neue Block hat die gleichen Parametereinstellungen.
Beispiel: add_block("vdp/Mu","mymodel/Mu")
Um einen Block aus einer Bibliothek zu kopieren, geben Sie den Pfad des Bibliotheksblocks an. Um den Pfad des Bibliotheksblocks zu erhalten, pausieren Sie im Bibliotheksbrowser auf dem Block. Alternativ können Sie die Bibliothek öffnen, den Block auswählen und gcb in die Befehlszeile eingeben. Um die Bibliothek zu öffnen, rechtsklicken Sie im Library Browser auf den Namen der Bibliothek in der Bibliotheksliste und wählen Sie Open library_name library.
Beispiel: add_block("simulink/Math Operations/Gain","mymodel/Gain")
Um einen Block mit einem bestimmten Blocktyp zu erstellen, geben Sie den Blocktyp als 'built-in/ an, wobei blocktype' der programmatische Blockname ist. Um den Wert des Parameters blocktypeBlockType für einen Block zu erhalten, siehe Common Block Properties. Mit 'built-in/ hinzugefügte Blöcke können andere Konfigurationen aufweisen als Bibliotheksblöcke.blocktype'
Beispiel: add_block("built-in/Gain","mymodel/Gain")
Mehrere Bibliotheksblöcke haben SubSystem als BlockType. Wenn Sie den Quellblock als "built-in/SubSystem" angeben, stellt der neue Block ein Subsystem mit einer Eingabe und einer Ausgabe dar. Verwenden Sie für andere Subsysteme und maskierte Blöcke anstelle des Werts BlockType den Bibliotheksblockpfad.
Name und Position des neuen Blocks, angegeben als Blockpfad.
Beispiel: add_block("simulink/Math Operations/Gain","f14/Controller/MyNewBlock")
Name-Wert-Argumente
Geben Sie optionale Argumentpaare als Name1=Value1,...,NameN=ValueN an, wobei Name der Argumentname und Value der entsprechende Wert ist. Name-Wert-Argumente müssen nach anderen Argumenten aufgeführt werden, aber die Reihenfolge der Paare spielt keine Rolle.
Beispiel: add_block("simulink/Math Operations/Gain","mymodel/Gain",Gain="5") fügt einen Gain-Block hinzu, der seine Eingabe mit 5 multipliziert.
Geben Sie für die Funktion add_block Blockparameter und Eigenschaftswerte als Name-Wert-Argumente an. Informationen zu Blockparametern und -eigenschaften finden Sie unter Programmatically Specify Block Parameters and Properties.
Eindeutiger Blockname, angegeben als "off" oder "on".
Um einen eindeutigen Blocknamen für den hinzugefügten Block zu erstellen, setzen Sie MakeNameUnique auf "on". Wenn der angegebene Blockname vorhanden ist, hängt die Software eine Zahl an das Ende des Blocknamens an oder erhöht die Zahl am Ende des Blocknamens.
Beispiel: add_block("simulink/Math Operations/Gain","mymodel/Gain",MakeNameUnique="on")
Kopieroption, angegeben als "", "nolink" oder "duplicate".
"nolink"– Der neue Block ist nicht mit der benutzerdefinierten Bibliothek verknüpft, die den Quellblock enthält."duplicate"– Der neue Block dupliziert einen Block für die Eingabe und hat dieselbe Portnummer wie der Quellblock. Um ein Signal von einem Eingabeport abzuzweigen, ohne einen Port zu erstellen oder Zeilen hinzuzufügen, duplizieren Sie den Block, der dem Eingabeport entspricht. Weitere Informationen finden Sie unter Create Duplicate Inport Blocks.
Beispiel: add_block("myLibrary/CustomBlock","myModel/CustomBlock",CopyOption="nolink")
Beispiel: add_block("myModel/mySubsystem/Inport","myModel/mySubsystem/InportDup",CopyOption="duplicate")
Neuer Bus-Element-Port, angegeben als "off" oder "on". Der Quellblock muss ein In Bus Element- oder Out Bus Element-Block sein.
Um einen Block für einen neuen Port hinzuzufügen, setzen Sie CreateNewPort auf "on". Optional können Sie den Namen des neuen Ports mit dem Parameter PortName angeben. Standardmäßig ist der Name des neuen Ports eine Kombination aus dem Portnamen des kopierten Blocks und einer Zahl. Wenn der Name des Ports aus dem kopierten Block bereits mit einer Zahl endet, wird die Zahl zur Gewährleistung der Eindeutigkeit erhöht.
Die Einstellung von CreateNewPort auf "off" verhindert nicht die Erstellung von Ports. Zum Beispiel wird durch den ersten In Bus Element- oder Out Bus Element-Block, den Sie Ihrem Modell hinzufügen, ein Port erstellt. Durch Hinzufügen eines Blocks und Angabe eines eindeutigen Portnamens mit PortName kann ebenfalls ein Port erstellt werden.
Wenn Sie CreateNewPort auf "off" setzen, erlauben Sie dem hinzugefügten Block, mit einem vorhandenen Port zu korrespondieren. Wenn Sie beispielsweise einen In Bus Element- oder Out Bus Element-Block aus Ihrem Modell kopieren, können Sie den neuen Block als neues Element des Ports darstellen, indem Sie den Elementnamen mit dem Parameter Element angeben.
Weitere Informationen zum programmgesteuerten Erstellen von Bus-Element-Ports finden Sie unter Programmatically Create Bus Element Ports.
Beispiel: add_block("simulink/Ports & Subsystems/In Bus Element","myModel/InBusElement1",CreateNewPort="on")
Ausgabeargumente
Neuer Block, ausgegeben als Handle.
Weitere Informationen zu Block-Handles finden Sie unter Get Handles and Paths.
Tipps
Um überlappende Blöcke zu vermeiden, geben Sie die Position des neuen Blocks mit der Blockeigenschaft Position an. Weitere Informationen finden Sie unter Programmatically Specify Block Parameters and Properties.
Versionsverlauf
Eingeführt vor R2006a
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)