add_block
R2026b向模型中添加模块
描述
示例
假设您有一个名为 myModel 的模型。从 Customizable Blocks 库中将一个 Circular Gauge 模块添加到模型中。将新模块命名为 myBlock。确保名称是唯一的。例如,如果已存在名为 myBlock 的模块,则将模块命名为 myBlock1。
查找库模块的路径。首先,打开包含该模块的库。
您可以使用快速插入菜单来执行此操作。通过双击模型画布打开快速插入菜单。然后,输入模块名称。使用箭头键导航到所需的搜索结果。在右侧的详细信息窗格中,点击库的名称。

在打开的库中,选择 Circular Gauge 模块。
通过在 MATLAB® 命令行窗口中输入以下命令来获取模块路径。
libBlockPath = gcb
libBlockPath =
'simulink_hmi_customizable_blocks/Circular Gauge'将模块添加到 myModel 并命名为 myBlock。为确保名称唯一,将 MakeNameUnique 设置为 "on"。
add_block(libBlockPath,"myModel/myBlock,"MakeNameUnique="on")
假设您有一个名为 myModel 的模型,它包含一个名为 myBlock 的模块。
创建模块的一个副本。将副本命名为 myBlock1。
add_block("myModel/myBlock","myModel/myBlock1");
假设您有一个名为 myModel 的模型。
向模型添加值为 0.1 的 Constant 模块。将新模块命名为 myBlock 并确保名称唯一。
add_block("simulink/Sources/Constant","myModel/myBlock",MakeNameUnique="on",Value="0.1");
如何为端口添加模块取决于您的目标。您可以为新端口或现有端口添加模块。您也可以复制与输入端口对应的模块。
为新端口添加模块
创建并打开名为 PortBlockCreation 的模型。
mdl = "PortBlockCreation";
new_system(mdl);
open_system(mdl);要创建由端口号标识的端口,请添加 In1 和 Out1 模块。默认情况下,添加 In1 或 Out1 模块会创建一个端口。
add_block("simulink/Ports & Subsystems/In1",... "PortBlockCreation/In1") add_block("simulink/Ports & Subsystems/Out1",... "PortBlockCreation/Out1")
要创建由端口名称标识的端口,请添加 In Bus Element 和 Out Bus Element 模块。默认情况下,新的 In Bus Element 和 Out Bus Element 模块分别对应名为 InBus 和 OutBus 的端口。这些端口也有端口号。(可选)使用 PortName 模块参数为端口指定自定义名称。
add_block("simulink/Ports & Subsystems/In Bus Element",... "PortBlockCreation/InBusElement") add_block("simulink/Ports & Subsystems/Out Bus Element",... "PortBlockCreation/OutBusElement")
要在添加 In Bus Element 或 Out Bus Element 模块时创建一个端口,请将 CreateNewPort 设置为 "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")
如果 CreateNewPort 未设置为 "on",行为会有所不同。
假设您有名为
InBus和OutBus的端口。添加的模块对应于这些端口之一。如果在添加模块时指定端口名称,软件会将InBus或OutBus端口重命名为使用指定的端口名称。假设您只有自定义名称的端口。添加的模块对应于新端口。如果在添加模块时指定端口名称,新端口将使用指定的端口名称。
为新端口元素添加模块
In Bus Element 和 Out Bus Element 模块允许您从一个输入端口选择多个元素,并将多个元素连接到一个输出端口。
要向 In Bus Element 模块添加元素,请复制与该端口对应的现有模块,并为新元素指定唯一名称。
add_block("PortBlockCreation/InBusElement",... "PortBlockCreation/InBusElement2",Element="signal2")
要向 Out Bus Element 模块添加元素,请复制与该端口对应的现有模块。(可选)指定唯一元素名称。
add_block("PortBlockCreation/OutBusElement",... "PortBlockCreation/OutBusElement2")
为输入端口复制模块
一个模块图中的多个模块可以使用来自输入端口的相同输入。复制与输入端口对应的模块可以简化布线。
要复制 In1 模块,请从模块图中复制该模块,并将 CopyOption 设置为 "duplicate"。
add_block("PortBlockCreation/In1",... "PortBlockCreation/In1Dup",CopyOption="duplicate")
要复制 In Bus Element 模块,请复制该模块。
add_block("PortBlockCreation/InBusElement",... "PortBlockCreation/InBusElementDup")
复制的模块使用与原始模块相同的端口号。对于基于名称的端口,该模块从同一端口选择与原始模块相同的元素。
输入参数
要添加的模块的路径,指定为字符串或字符向量。该模块可以是库模块,也可以是模型中的模块。您添加的模块与您指定的源模块具有相同的参数值。
要从内置库中获取模块的路径,请执行以下步骤:
打开您要从中添加模块的库。
您可以使用快速插入菜单来执行此操作。通过双击模型画布打开快速插入菜单。然后,输入模块名称。使用箭头键导航到所需的搜索结果。在右侧的详细信息窗格中,点击库的名称。库将打开。
选择您要添加的库模块。
通过在 MATLAB 命令行窗口中输入以下命令来获取模块路径。
gcb
有关获取模块路径的详细信息,请参阅Get Handles and Paths。
要创建一个具有特定模块类型的模块,请将模块类型指定为 'built-in/,其中 blocktype' 是编程模块名称。要获取模块的 blocktypeBlockType 参数值,请参阅通用模块属性。使用 'built-in/ 添加的模块可以具有与库模块不同的配置。blocktype'
许多库模块采用 SubSystem 作为 BlockType。当将源模块指定为 "built-in/SubSystem" 时,新模块表示具有一个输入和一个输出的子系统。对于其他子系统和封装模块,请使用库模块路径而不是 BlockType 值。
示例: "simulink/Math Operations/Gain"
示例: "built-in/Gain"
示例: "myModel/myOriginalBlock"
数据类型: string | character vector
新模块的路径,指定为字符串。
有关获取模块路径的信息,请参阅Get Handles and Paths。
示例: "myModel/myNewBlock"
数据类型: string | character vector
名称-值参数
将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
示例: add_block("simulink/Math Operations/Gain","myModel/myNewBlock",Gain="5") 添加名为 myBlock、增益值为 5 的 Gain 模块。
对于 add_block 函数,将模块参数和属性值指定为名称-值参量。有关模块参数和属性的信息,请参阅以编程方式指定模块参数和属性。
以唯一名称添加模块的选项,指定为 "off" 或 "on"。当该选项启用且指定的模块名称存在时,软件会在模块名称末尾追加数字或递增末尾的数字。
示例: add_block("simulink/Math Operations/Gain","myModel/myNewBlock",MakeNameUnique="on")
数据类型: string | character vector
复制选项,指定为 ""、"nolink" 或 "duplicate"。
"nolink"- 新模块不链接到包含源模块的自定义库。"duplicate"- 新模块复制输入端口模块,并具有与源模块相同的端口号。要从输入端口创建分支信号而不创建端口或添加信号线,请复制与输入端口对应的模块。有关详细信息,请参阅创建重复 Inport 模块。
示例: add_block("myLibrary/CustomBlock","myModel/CustomBlock",CopyOption="nolink")
示例: add_block("myModel/mySubsystem/Inport","myModel/mySubsystem/InportDup",CopyOption="duplicate")
数据类型: string | character vector
为新总线元素端口添加模块的选项,指定为 "off" 或 "on"。源模块必须为 In Bus Element 或 Out Bus Element 模块。
当您开启该选项时,您可以选择使用 PortName 参数指定新端口的名称。默认情况下,新端口的名称是所复制模块的端口名称和数字的组合。如果所复制模块的端口名称已以数字结尾,则该数字会递增以确保唯一性。
将 CreateNewPort 设置为 "off" 不会阻止端口创建。例如,您添加到模型中的第一个 In Bus Element 或 Out Bus Element 模块会创建一个端口。添加模块并使用 PortName 指定唯一端口名称也可以创建端口。
当将 CreateNewPort 设置为 "off" 时,允许添加的模块对应于现有端口。例如,当从模型中复制 In Bus Element 或 Out Bus Element 模块时,您可以通过使用 Element 参数指定元素名称,使新模块表示端口的新元素。
有关如何以编程方式创建总线元素端口的详细信息,请参阅Programmatically Create Bus Element Ports。
示例: add_block("simulink/Ports & Subsystems/In Bus Element","myModel/InBusElement1",CreateNewPort="on")
数据类型: string | character vector
输出参量
新模块,返回为句柄。
提示
要防止模块重叠,请使用 Position 模块属性指定新模块的位置。有关详细信息,请参阅以编程方式指定模块参数和属性。
版本历史记录
在 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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)