Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

总线编辑器

创建、修改和管理 Simulink.Bus 对象

说明

要以交互方式创建 Simulink.Bus 对象及其中包含的 Simulink.BusElement 对象,请使用 Simulink®总线编辑器。

您使用总线编辑器创建的 Bus 对象存储在 MATLAB® 基础工作区中。要对使用 Bus 对象的模块进行仿真,Bus 对象必须位于基础工作区或数据字典中。

要使用总线编辑器保存 Bus 对象定义,请将 Bus 对象从基础工作区导出到 MATLAB 代码文件或 MAT 文件中。如果您将 Bus 对象保存在 MATLAB 代码文件中,您可以通过编程方式对其进行编辑。有关详细信息,请参阅以编程方式创建总线对象

您可以使用总线编辑器来更改和删除现有 Bus 对象和总线元素。总线编辑器显示基础工作区中的所有 Bus 对象。创建、重新排序或删除实体等更改会立即在基础工作区中生效。

注意

总线编辑器不提供撤消功能。对属性的更改会在应用这些更改时生效。

有关 Bus 对象的详细信息,请参阅使用 Simulink.Bus 对象数据类型指定总线属性

打开 总线编辑器

  • 在 Simulink 工具条中,在 Modeling 选项卡的 Design 库中,点击 Bus Editor

  • 在 MATLAB 命令提示符下,输入 buseditor

  • 在模型资源管理器中,在 Bus 对象对话框中,点击 Launch Bus Editor 按钮。

示例

全部展开

此示例说明如何创建一个 Bus 对象,该对象对应于 ex_bus_object_tutorial 模型中的 control 总线。此总线包含两个信号作为元素。

  1. 在总线编辑器中,点击 Add Bus 按钮

    左窗格中显示具有默认名称的 Bus 对象,其默认属性显示在 Simulink.Bus 对话框窗格中。

  2. 使用 Name 属性指定 Bus 对象的名称。为了便于识别,请使用反映与总线对象相关联的总线的名称。因为合并阀门输入的总线名为 control,所以可将 Bus 对象命名为 CONTROL

    提示

    编辑属性后,点击 Apply,或选择在点击其他对象时自动应用更改。

  3. 点击 Add/Insert BusElement 按钮

    将在 CONTROL Bus 对象中创建一个具有默认名称和默认属性的总线元素。该总线元素出现在左窗格中,嵌套在 CONTROL Bus 对象下。

  4. Simulink.BusElement 对话框窗格中,将 Name 设置为 VALVE1,这会反映总线中对应信号的名称。

  5. 要确定 BusElement 对象 VALVE1 的信号属性,请打开 Constant 模块的 Block Parameters 对话框。

    Signal Attributes 选项卡上的属性与默认的 BusElement 对象属性匹配,因此不需要更改。

  6. 同样,创建名为 VALVE2BusElement 对象,该对象对应于 valve2 元素。

  7. 要确定 BusElement 对象 VALVE2 的信号属性,请打开 Constant1 模块的 Block Parameters 对话框。

    Constant1 模块指定的 Output data type 是 “int8”,它与默认的 BusElement 对象属性不匹配。将 BusElement 对象 VALVE2DataType 属性设置为 “int8”。

总线中的任何信号都可以是另一条总线,而这些总线又可以包含下级总线,可以达到任意深度。使用 Bus 对象描述嵌套总线需要嵌套 Bus 对象定义。

模型 ex_bus_object_tutorial 有两条总线,一条总线嵌套在另一条总线内。

此示例说明如何将对应于 control 总线的 Bus 对象嵌套在对应于 main 总线的 Bus 对象中。

  1. 创建名为 CONTROLBus 对象,用以完全指定 control 总线。

  2. 创建名为 MAINBus 对象,用以完全指定 main 总线,并临时使用 BusElement 对象的默认值指定嵌套 control 总线。

    要标识此 BusElement 对象对应于嵌套总线,您可以将其命名为 VALVES_BUS

  3. VALVES_BUSSimulink.BusElement 对话框窗格中,将 Data type 参数设置为 “Bus: <object name>”,其中 “<object name>” 是 control 总线的 Bus 对象的名称。

    提示

    Bus 对象无法直接或间接引用自身。如果您定义循环结构,总线编辑器会发出警告,并将可能已完成循环的元素的数据类型设置为 double

要编辑 Bus 对象或 BusElement 对象,请执行以下操作:

  1. 在左窗格中,选择要编辑的对象。

  2. Simulink.BusSimulink.BusElement 对话框窗格中,编辑对象属性。

  3. 点击 Apply

当您选择 Bus 对象时,您可以在中间窗格中编辑其 BusElement 对象。

要对多个 BusElement 对象中的属性进行相同的编辑,请使用中间窗格。在选择多个总线元素对象时按住 Ctrl 键,并在所选总线元素对象之一的属性中输入新值。更改将应用于所有所选 BusElement 对象。

您可以使用总线编辑器复制并粘贴 Bus 对象或 BusElement 对象。右键点击对象,然后使用上下文菜单复制并粘贴 Bus 对象。复制 Bus 对象会同时复制其 BusElement 对象。复制的对象具有与原始对象相同的属性值。

要更改 Bus 对象中总线元素的顺序,请在左窗格中选择总线元素,并使用 Move Element Up Move Element Down 按钮

要删除 Bus 对象,请在左窗格中选择 Bus 对象,然后点击 Delete 按钮或按 Delete 键。删除 Bus 对象会删除其 BusElement 对象。

如果您删除了 Bus 对象,请在 Simulink Editor 中更新使用该 Bus 对象的任何模块。要查找总线对象在模型中的使用位置,请参阅查找使用特定变量的模块

当您在基础工作区创建 Bus 对象时,在关闭 MATLAB 之前,请保存 Bus 对象以供将来使用。

您可以将 Bus 对象保存到以下位置之一:

  • 数据字典

  • MATLAB 代码文件

  • MAT 文件

  • 数据库或其他外部文件

总线编辑器可以将 Bus 对象保存在 MAT 文件或 MATLAB 代码文件中。要在其他位置保存 Bus 对象,请参阅保存 Simulink.Bus 对象

提示

要在关闭总线编辑器之前显示保存 Bus 对象的提醒,请选择 Options > Always Warn Before Closing

  1. 选择要导出的 Bus 对象。

    • 要导出在总线编辑器中可见的所有 Bus 对象,请选择 File > Export to File。筛选器隐藏的总线对象不会导出。

    • 要仅导出所选 Bus 对象,请右键点击 Bus 对象,然后选择 Export to File

    • 要包括所选 Bus 对象使用的嵌套 Bus 对象,请选择 Export with Dependent Bus Objects to File

  2. 在 Export 对话框中,指定导出文件的名称。

  3. Save as type 设置为 “MATLAB files (*.m)” 或 “MAT-files (*.mat)”。

  4. 点击 Save

  5. 对于 MATLAB 代码文件,请在出现的其他对话框中,选择导出格式。

    • Cell” - 以压缩格式存储 Bus 对象。

    • Object” - 以 Simulink.Bus 对象格式存储 Bus 对象,该格式便于阅读和编辑。

默认情况下,总线编辑器按字母顺序显示基础工作区中存在的所有 Bus 对象。当您要减少显示的 Bus 对象的数量时,可以应用筛选器。

总线编辑器只显示符合以下条件的 Bus 对象:

  • 名称与给定搜索词或正则表达式匹配

  • 具有与指定的 Bus 对象的指定关系

您可以使用在筛选后的显示中可见的任何 Bus 对象,就像在未筛选的显示中一样。如果更改对象的名称或依存关系,使其不再通过当前筛选器,该对象将从显示中消失。相反,如果总线编辑器之外的某些活动更改了已筛选的对象,使其通过当前筛选器,则该对象立即变得可见。

提示

从总线编辑器外部创建或导入的总线对象不可见,直到重新打开总线编辑器后它们才可见。

在左窗格中对基础工作区执行的操作仅影响可见对象。筛选器隐藏的对象不受操作的影响。要对所有现有 Bus 对象进行操作,请清除筛选器。

在本例中,总线编辑器显示基础工作区中的 Bus 对象。

这些 Bus 对象形成两个层次结构。A1_TopA2_Mid 的父级,而后者又是 A3_Bot 的父级。类似地,B1_TopB2_Mid 的父级,后者又是 B3_Bot 的父级。

要按名称筛选,请从列表中选择 “by Bus Name”,并键入筛选项。有关 MATLAB 正则表达式语法的完整信息,请参阅正则表达式

在您键入时,总线编辑器会动态更新,以仅显示名称与筛选器表达式匹配的 Bus 对象。这种比较区分大小写。例如,键入 A 会仅显示名称包含大写字母 A 的 Bus 对象。

要按关系筛选,请从列表中选择 “by Bus Object Dependency”。在出现的第二个列表中,选择要显示的关系的类型。

  • Bus Object and Parents” - 显示层次结构中的指定总线对象和所有上级 Bus 对象(默认值)。

  • Bus Object and Dependents” - 显示层次结构中指定的 Bus 对象和所有下级 Bus 对象。

  • Bus Object and Related Objects” - 显示指定的 Bus 对象以及所有上级和下级 Bus 对象。

按名称键入 Bus 对象,或从列表中选择现有 Bus 对象名称。

例如,如果您选择 “Bus Object and Dependents” 并键入 B2,则总线编辑器仅显示包含 B2 Bus 对象的 Bus 对象层次结构。

您可以使用总线编辑器将 MAT 文件或 MATLAB 代码文件中的定义导入基础工作区。导入将加载文件的完整内容,而不仅仅是 Bus 对象。

  1. 选择 File > Import into Base Workspace

  2. 使用 Open File 对话框导航到所需文件并将其导入。

在 R2006a 之前推出