Main Content

Toggle Switch

将参数在两个值之间切换

  • Toggle Switch block

库:
Simulink / Dashboard

描述

在仿真过程中,Toggle Switch 模块将连接的模块参数的值在两个值之间切换。例如,可以将 Toggle Switch 模块连接到模型中的 Switch 模块,并在仿真期间更改其状态。将 Toggle Switch 模块与其他 Dashboard 模块结合使用,可以为模型创建交互式控制板。

在仿真期间以及 Toggle Switch 模块处于选中状态时,双击该模块不会打开其对话框。要编辑模块的参数,可以使用属性检查器,或者右键点击模块并从上下文菜单中选择模块参数

连接 Dashboard 模块

Dashboard 模块不使用端口来连接到模型元素。要连接 Dashboard 模块,请使用连接模式。要在未连接的模块上进入连接模式,请将鼠标在要连接的模块上暂停并点击连接按钮 。要在已连接的模块上进入连接模式,请选择该模块,在显示的省略号 (…) 上暂停,然后在展开的操作菜单中点击连接按钮。

要将控制模块连接到模型中的参数或更改控制模块的连接,请进入连接模式。选择要连接到其参数的模块。从出现的列表中,选择要连接的参数。然后,请在 Dashboard 模块上悬停并点击完成连接按钮

在更新模型图之前,控制模块无法连接到由变量定义的参数。要在仿真未运行时连接到由变量定义的参数或修改定义所连接的参数值的变量值,请按 Ctrl+D 更新模型图。

您可以连接到具有标量值的参数,或连接到矩阵或结构体的元素。有关详细信息,请参阅Connect Dashboard Blocks to Simulink Model

您还可以将 Dashboard 模块连接到 Stateflow® 图。有关详细信息,请参阅Connect Dashboard Blocks to Stateflow (Stateflow)

此动画说明如何将 Toggle Switch 模块连接到您的模型。

An unconnected Toggle Switch block connects to the Value parameter of a Constant block.

参数记录

连接到 Dashboard 模块的可调参数数据会记录到仿真数据检查器,您可以在其中查看参数值以及记录的信号数据。您可以通过使用 UI 或 Simulink.sdi.exportRun 函数从仿真数据检查器导出参数数据来访问 MATLAB® 工作区中记录的参数数据。有关使用仿真数据检查器 UI 导出数据的详细信息,请参阅将数据导出到工作区或文件。参数数据存储在 Simulink.SimulationData.Parameter 对象中,可作为导出的 Simulink.SimulationData.Dataset 中的元素来访问。

示例

全部展开

在仿真期间,可以使用 Toggle Switch 模块来更改 Switch 模块的状态。模型 toggleSwitch 包含一个 Toggle Switch 模块,该模块连接到名为 Control Input 的 Constant 模块的 Value 参数。当 Toggle Switch 模块处于启用状态时,Control Input 模块的值为 1,Switch 模块输出值 5。当 Toggle Switch 模块处于关闭状态时,Control Input 模块的值为 0,Switch 模块输出值 0

toggleSwitch 模型进行仿真。要在仿真期间更改 Switch 模块的状态,请点击 Toggle Switch 模块。

Animation of the toggleSwitch model during simulation

限制

  • 除了 Dashboard Scope 模块和 Display 模块之外,Dashboard 模块只能连接到实数标量信号。

  • 您不能在模块对话框中使用连接表将 Dashboard 模块连接到已注释掉的模块。使用连接模式将 Dashboard 模块连接到带注释的模块时,Dashboard 模块在您取消注释模块之前不会显示连接的值。

  • Dashboard 模块无法连接到引用模型中的模型元素。

  • 在仿真模型层次结构时,引用模型内的 Dashboard 模块不会更新。

  • Dashboard 模块不支持快速加速仿真。

  • 当您在仿真期间将 Dashboard 模块连接到变量或参数时,该变量或参数的数据不会记录到仿真数据检查器中。要将变量和参数数据记录到仿真数据检查器,请在仿真之前将 Dashboard 模块连接到该变量或参数。

  • 当您将默认参数行为设置为内联并在外部模式下对模型进行仿真时,Dashboard 模块看起来像是更改了参数和变量值。但是,更改不会传播到仿真。例如,Gain 模块显示使用 Dashboard 模块对增益参数进行的更改,但仿真中使用的增益值不变。

参数

全部展开

Dashboard 模块不使用端口来连接到模型元素。要将 Dashboard 模块连接到模型中的参数值,请使用连接模式、Simulink® 工具条或“模块参数”对话框中的连接表。您可以连接到具有标量值的参数,或连接到矩阵的元素。有关连接模式以及如何使用工具条进行连接的信息,请参阅Connect Dashboard Blocks to Simulink Model

使用连接表将控制模块连接到带标量值的参数,或将控制模块连接更改为带标量值的参数:

  1. 选择模块。

  2. 要连接该模块,请在属性检查器的参数选项卡上点击连接。要更改模块的连接,请改为点击更改

  3. 选择要连接其参数值的模块。

  4. 在表中,选择要连接的参数。

  5. 点击应用

在更新模型图之前,控制模块无法连接到由变量定义的参数。要在仿真未运行时连接到由变量定义的参数或修改定义所连接的参数值的变量值,请按 Ctrl+D 更新模型图。

您还可以将 Dashboard 模块连接到 Stateflow 图。有关详细信息,请参阅Connect Dashboard Blocks to Stateflow (Stateflow)

编程用法

要以编程方式将 Dashboard 模块连接到可调参数或变量,请使用 Simulink.HMI.ParamSourceInfo 对象。Simulink.HMI.ParamSourceInfo 对象包含四个属性。有些属性适用于将 Dashboard 模块连接到由值定义的参数,有些属性适用于将 Dashboard 模块连接到由变量定义的参数。并非所有字段都有连接值,因为一个给定的 Dashboard 模块可以连接到由值定义的参数或由变量定义的参数。

模块参数Binding
类型:Simulink.HMI.SignalSpecification
默认值:[]

对组,包含要赋给所连接的变量或参数的值,以及要在模块上显示的文本。开关有两种状态 - 顶端底端 - 每种状态对应一个开关位置。每种状态包含一个和一个标签

  • - 当开关处于某一位置时,要相应赋给所连接的变量或参数的值。

  • 标签 - 当开关处于某一位置时,要在模块上相应显示的文本。

下表说明模块的默认配置。

位置状态值状态标签
顶端0on
底端1off

编程用法

要以编程方式为模块配置状态,请将 States 参数的值指定为包含两个元素的结构体数组,其中具有字段:

  • Value - 表示状态的双精度标量值。

  • Label - 用作开关位置标签的字符串或字符数组。

topState.Value = 0;
topState.Label = 'Off';
bottomState.Value = 1;
bottomState.Label = 'On';
switchStates = [topState bottomState];
模块参数States
类型:结构体的二元素数组

模块标签的位置。当模块连接到模型中的元素时,标签是所连接的元素的名称。

编程用法

模块参数LabelPosition
类型:字符向量
'Top' | 'Bottom' | 'Hide'
默认值'Top'

模块特性

数据类型

double | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

版本历史记录

在 R2015a 中推出

全部展开