有几个原因转换一个模型中使用的总线阵列(见公共汽车的数组的好处)。例如:
该模型的Simulink开发前万博1manbetx®万博1manbetx总线的支持的阵列(R2010b中引入的),并且模型包含执行相同种类的处理的许多子系统。
该模型中不断发展的复杂性。
以下是用于将包含总线到使用总线的阵列的模型的模型的通用方法。您使用的方法取决于你的模型。有关这些技术的详细信息,请参阅结合公共汽车到公交车的数组和公交车的使用数组中的模型。
此工作流程指的是程式化的示例模型。该示例示出了原始模型图案和使用总线的阵列的新的建模图案。
在原来的造型图案:
要转换的目标总线被命名MainBus
,它有三个元素,每种类型的BusObject
。
该ScalarAlgorithm1
,ScalarAlgorithm2
和ScalarAlgorithm3
子系统封装了在每个总线元件的操作的算法。该子系统都具有相同的内容。
一个总线选择块挑选出的每个元素MainBus
驱动子系统。
在原来的造型图案的结构是低效的,原因有二:
封装所述算法子系统的副本用于要被处理的总线中的每个元素。
加入一个新元素MainBus
涉及改变总线
对象定义和总线选择块,并添加子系统。所有这些变化的是错误的潜在来源。
原来的造型图案转换为使用公共汽车的数组:
确定目标总线,并且要转换相关的算法。通常,目标总线是总线的一个总线,其中每个元素总线是相同的类型。
你转换总线必须是一个非虚拟总线。如果目标总线的所有元素具有相同的采样时间(或者,如果采样时间继承),您可以在虚拟总线转换成非虚拟总线。
目标总线不能具有基于帧的可变尺寸和元素。
用一个CONCATENATE块到总线信号的原始总线转换成总线的阵列。
在这个例子中,新的造型图案使用矢量CONCATENATE块以替换公交车造物主阻止创建MainBus
信号。的输出矢量CONCATENATE块是总线的阵列,其中所述总线的类型是BusObject
。新模式消除了包装总线(MainBus
)。
与单个对于封装标量的算法的每个子系统替换算法子系统的所有相同的副本。连接总线的阵列信号到每个子系统。
新模式消除了总线选择该分离出的元件块MainBus
在原始模型信号。
配置每个子系统块遍历总线信号的输入阵列和串联输出总线。
内的每个子系统标算法不能有连续状态。有关其他限制,请参见每个子系统块文档。