一个一系列公共汽车是一个数组,其元素是非宽恕的总线。
使用一系列总线:
通过用于处理多个总线的集中算法来减少维护。
例如,通过使用具有总线数组的每个子系统使用A相同类型的多个总线的迭代处理。
更改正在处理的总线数,而无需重新构建使用公共汽车数组的模型的部分。
使用内置块,如任务或者选择器块,以操纵公共汽车阵列,就像任何其他类型的阵列一样。使用一系列总线避免了需要创建自定义S函数以管理包装和解包结构信号。
生成具有C结构数组的代码,您可以与使用结构数组的传统C代码集成。此方法简化了索引到Simulink的数组中万博1manbetx®计算,使用a为了
循环索引结构。
例如,您可以模拟多通道系统,例如通信系统,作为总线数组。所有通道都具有相同的数据类型,每个通道都可以具有不同的值。
对于演示多种使用一系列公共汽车的方法的模型,请参阅型公交车阵列。
所有公共汽车都必须进入一系列公共汽车必须:
是非凡的
指定相同万博1manbetxsimulink.bus.
对象数据类型(即相同的名称,层次结构和总线元素属性)
没有可变尺寸的信号或基于帧的信号
有关创建非Virtual Buses的信息,请参阅创建非视频巴士。
有关块支持公共汽车阵列的信息,请参阅万博1manbetx便携式的块。
您可以使用向量串联或矩阵连接块将非视频总线组分成一系列总线。万博1manbetxSimulink将非virtual总线视为标量。因此,无论总线元素数据类型如何,您都可以使用这些块中的任何一个。
使用其中一个块创建一系列总线:
定义一个万博1manbetxsimulink.bus.
对象数据类型为您想要在公共汽车数组中进行组的所有非宽容总线。
在矢量连接或矩阵连接块的“块参数”对话框中,设置输入数量到您想要的公共汽车数量。块图标显示您指定的输入端口数。
将非视频总线连接到块输入。
块输出是总线数组。
打开并编译示例模型。要编译模型,请造型Simulink To万博1manbetxolStrip的选项卡,单击更新模型或者跑步。编译模型更新线型,您可以使用它来直观地识别公共汽车数组。
要演示如何从非维速总线创建公共汽车阵列,模型使用:
要演示如何从总线数组中选择元素,模型使用:
这信号尺寸信息覆盖显示,总线数组包含两个总线。启用信号尺寸叠加,在Simulink Too万博1manbetxlStrip中,在调试选项卡,选择信息覆盖>信号尺寸。
您可以使用常量块紧凑地表示具有恒值总线元素的总线数组。该技术可以减少模型中的线路数和模型使用的变量数,尤其是当模型重复具有不同参数值的算法时。
在常量块上,指定:
恒定价值作为Matlab结构的阵列或一个万博1manbetxSimulink.Parameter.
指定MATLAB结构数组的对象
输出数据类型作为一个万博1manbetxsimulink.bus.
目的
当输出数据类型为a时,常量块仅支持MATL万博1manbetxAB®结构公共汽车
目的。
定义名为的结构数组const_struct_array
。撰写相同元素的每个结构:抵消
那获得
, 和临界点
。
const_struct_array(1).offset = 197;const_struct_array(1).gain = 4.32;const_struct_array(1).thresholdold = 795.68;const_struct_array(2).offset = 158;const_struct_array(2).gain = 3.83;const_struct_array(2).threshold = 1039.77;
要为具有许多元素的总线层次结构创建一系列结构,请考虑使用使用万博1manbetxsimulink.bus.creatematlabstruct.
功能。
定义相应的公共汽车
对象数据类型。
万博1manbetxsimulink.bus.createobject(const_struct_array)
新的公共汽车
对象使用默认名称SLBUS1.
。
打开并模拟示例模型,其中包含常量块恒定价值调成const_struct_array
和输出数据类型调成总线:SLBUS1.
。
Open_System('ArrayofbusesfromstructModel')sim('ArrayofbusesfromstructModel');
常量块的输出是一系列总线。
对于每个子系统块迭代地处理阵列中的每个非横向总线的常量值。子系统内容显示非传真总线而不是连接到端口的总线数组。