主要内容

创建Nonvirtual公交车

nonvirtual总线类似于C代码的结构。使用nonvirtual巴士:

  • 构造一个数组的公交车。

  • 总线数据交叉MATLAB®函数块或Stateflow®图的边界。

  • 包总线数据结构生成的C代码。

  • 通过一个功能接口与外部代码。

  • 减少函数参数传递给子组件生成的代码。

一个金宝appSimulink.Bus对象数据类型必须定义公共汽车你想让nonvirtual。公共汽车成为nonvirtual当您选择一块参数等输出作为nonvirtual总线。使总线nonvirtual导致模拟和代码生成应用定义的结构公共汽车对象。当公共汽车是虚拟的,公共汽车对象只有验证属性的公共汽车。

模拟的模型包含nonvirtual巴士,被引用的公共汽车对象必须在基本工作空间或使用的数据字典模型。有关更多信息,请参见指定总线属性模型。金宝app总线对象数据类型

Nonvirtual巴士还要求所有元素的巴士有相同的样品时间。有关更多信息,请参见修改样品时间Nonvirtual公交车

的方式来创建nonvirtual公交车不同基于总线和块的位置创建总线:

专注于基本的步骤,这些例子很简单。然而,公共汽车是最有用的,当你有很多信号结合。

在一个组件中创建Nonvirtual巴士

您可以使用总线的创造者块创建nonvirtual公交车内部组件。

开放和编译示例模型,它使用总线创造者块创建一个层次结构的虚拟巴士。编译模式,建模仿真软件将来发布的选项金宝app卡,单击更新模型运行。编译模型更新的线条样式,您可以使用视觉识别的公交车。

创建这个模型中,看到的在一个组件组信号线路

虚拟公共汽车在这个模型中没有定义金宝appSimulink.Bus对象。改变总线创造者的输出块nonvirtual巴士,你必须有公共汽车总线匹配的对象的层次结构。

创建公共汽车对应的对象TopBusNestedBus,可以使用金宝appSimulink.Bus.createObject函数。在MATLAB命令窗口中,输入:

金宝appSimulink.Bus.createObject (“NonvirtualBusCreationModel”,…“NonvirtualBusCreationModel /总线Creator1”);

这个函数创建公共汽车对象对应于指定的块的输出总线。如果输出总线包含嵌套的公交车,还创建的函数公共汽车嵌套对象对应的公交车。在这个示例中,创建了两个函数公共汽车对象命名相应的公交车,TopBusNestedBus

查看公共汽车对象,打开式编辑器。在MATLAB命令窗口中,输入:

typeeditor

现在您已经公共汽车对象对应nonvirtual公交车你想创建,创建nonvirtual公交车。在模型编辑器中金宝app,双击总线创造者块命名总线Creator1。在块参数对话框中,设置输出数据类型总线:TopBus,选择输出作为nonvirtual总线复选框,然后单击好吧TopBus现在是nonvirtual总线,而NestedBus仍然是一个虚拟的汽车。识别nonvirtual总线通过线条样式,编译模型。

双击块命名总线的创造者。在块参数对话框中,设置输出数据类型总线:NestedBus,选择输出作为nonvirtual总线复选框,然后单击好吧NestedBus现在是一个nonvirtual总线。更新它的线条样式,编译模型。

如果您不保存公共汽车对象,那么你必须重新创建公共汽车当你打开模型中的对象。如何保存的信息公共汽车对象,看到指定总线属性模型。金宝app总线对象数据类型

在接口创建Nonvirtual巴士

创建一个nonvirtual总线接口,公共汽车元素连接到总线元素块和指定输出总线是nonvirtual。

打开示例模型,它使用三个公共汽车元素块来创建一个虚拟总线输出端口,OutBus

创建这个模型中,看到的多个输出信号连接到端口

Nonvirtual巴士需要金宝appSimulink.Bus对象的数据类型。创建公共汽车对象对应输出总线。

  1. 在仿真软件将来金宝app发布,建模选项卡,设计画廊,选择式编辑器

  2. 式编辑器,创建两个公共汽车对象。在将来发布,点击公共汽车两次。

  3. 的名字公共汽车对象。选择一个公共汽车对象,并设置的名字OutBus。选择其他的公共汽车对象,并设置的名字NestedBus

  4. 为每一个公共汽车对象,创建金宝appSimulink.BusElement对象对应的元素的公交车。选择NestedBus在将来发布,点击公共汽车元素两次。名称的元素正弦一步。选择OutBus,然后单击公共汽车元素两次。名称的元素尖声地说NestedBus

  5. 指定一个公共汽车对象数据类型为任何嵌套的公交车。与NestedBus对象选择,设置数据类型总线:NestedBus

指定输出nonvirtual总线公共汽车对象数据类型和总线虚拟世界。

  1. 打开对话框的端口通过双击一个总线块元素。

  2. 在对话框的树层次结构,暂停OutBus旁边的铅笔图标,然后单击出现OutBus

  3. 指定公共汽车对象的数据类型。集数据类型总线:OutBus

  4. 树层次结构的对话框中,单击旁边的信号属性,现在看来OutBus

  5. 指定总线虚拟世界。集总线虚拟世界nonvirtual,然后关闭对话框。

模型的输出是一个nonvirtual总线。看到nonvirtual总线,参考模型在另一个模型或移动公交元素块到一个子系统。行样式更新当你编译模型。编译模式,建模仿真软件将来发布的选项金宝app卡,单击更新模型运行

如果您不保存公共汽车对象,那么你必须重新创建公共汽车当你打开模型中的对象。如何保存的信息公共汽车对象,看到指定总线属性模型。金宝app总线对象数据类型

根(顶级)轮廓尺寸外港块也可以创建nonvirtual公交车在接口。指定总线虚拟:

  • 根尺寸块上信号的属性对话框的选项卡中,选择输出作为nonvirtual总线

  • 根外港块上信号的属性对话框的选项卡中,选择输出作为nonvirtual总线在家长模式

在公共汽车元素块使用总线虚拟世界参数以确定他们是否继承或定义总线虚拟世界。如果块定义了输入总线的总线虚拟世界和虚拟世界不匹配,编译模型产生一个错误。

将虚拟总线Nonvirtual总线

你能将一个虚拟总线nonvirtual总线模型内任何地方使用信号转换块。

开放和编译示例模型,其中包含一个虚拟总线结构由总线创造者块。编译模式,建模仿真软件将来发布的选项金宝app卡,单击更新模型运行。编译模型更新的线条样式,您可以使用视觉识别的公交车。

定义公共汽车和支持转换nonvirtual巴士,金宝app巴士造物主指定块金宝appSimulink.Bus对象的数据类型。创建公共汽车基本工作空间中的对象时,加载模型,该模型使用PreLoadFcn回调。

查看回调,在仿真软件将来发布,金宝app建模选项卡上,单击模型设置>模型属性。在模型中属性对话框,打开回调选项卡并选择PreLoadFcn回调模型。

将一个虚拟总线nonvirtual总线,使用nonvirtual总线块,这是一个预配置的版本信号转换块,输出设置为Nonvirtual总线

在示例模型:

  1. Nonvirtual总线块添加到模型中。

  2. 将总线Nonvirtual块拖到总线Creator1和范围块之间的界线。当你将块拖到线,阻止连接到线两端。

假设总线的数据类型没有指定你想要转换的公共汽车对象。您需要执行这些额外的操作:

  1. 创建相应的公共汽车对象。

  2. 指定公共汽车为总线对象数据类型。例如,设置数据类型参数Nonvirtual总线阻止的公共汽车对象对应于输入总线。

Nonvirtual总线的输入块是一个虚拟的汽车,和输出是一个Nonvirtual总线。看到nonvirtual总线风格,编译模型。

从MATLAB结构创建Nonvirtual总线

您可以使用一个常数块紧代表nonvirtual总线与constant-valued元素。

在恒定的块,指定:

  • 一个MATLAB结构恒定值

  • 一个金宝appSimulink.Bus对象作为输出数据类型

常数时,只支持MATLAB结构块输出数据类金宝app型公共汽车对象。

例如,定义一个MATLAB结构命名const_param_struct与元素命名抵消,获得,阈值

const_param_struct。抵消= 197;const_param_struct。获得= 4.32;const_param_struct。阈值= 795.68;

定义相应的公共汽车对象的数据类型。

金宝appSimulink.Bus.createObject (const_param_struct)

公共汽车对象使用默认的名称slBus1

开放和模拟模型的例子,其中包含一个常数块恒定值设置为const_param_struct输出数据类型设置为总线:slBus1

open_system (“NonvirtualBusFromStructModel”)sim卡(“NonvirtualBusFromStructModel”);

恒定的输出块nonvirtual总线。

另请参阅

对象

相关的话题