主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

信号编辑器

显示、创建、编辑和切换可互换场景。

  • Signal Editor block

库:
Simulink / Sources

描述

可以使用 Signal Editor 模块显示、创建和编辑包含信号的可互换场景。信号可以是:

  • MATLAB® timeseries 对象。timeseries 对象不能有空的 Data 属性。

  • timetable 对象。timetable 对象不能表示多个变量。

  • MATLAB timeseriestimetable 对象的结构体。

  • 二维矩阵。

该模块为每个信号创建一个端口。

要创建和编辑场景以及场景中包含的信号,请点击打开信号编辑器 ()。您也可以使用 Signal Editor 模块切换模型的场景。

Signal Editor 模块支持包含作为一个或多个标量 Simulink.SimulationData.Dataset 对象的信号的 MAT 文件。

创建和编辑场景和信号

要创建和编辑场景及其中包含的信号,请点击 打开信号编辑器工具。信号编辑器工具使您能够以下列方式轻松操作信号:

  • 创建和编辑多个数据集的多个信号。默认情况下,信号编辑器会创建时间序列格式数据。

  • 使用信号符号通过 MATLAB 表达式创建更复杂的信号。您可以使用创建和插入对话框,或在表格区域中手动输入简单的 MATLAB 表达式。

  • 使用现有场景获取现有数据集以便对其编辑和创建信号。

  • 创建和编辑多维信号。

有关信号编辑器工具的详细信息,请参阅创建和编辑信号数据

编程交互

要以编程方式获取 Signal Editor 模块中的场景和信号的总数,请将 get_param 函数分别与 NumberOfScenariosNumberOfSignals 参数结合使用。这些只读参数包含字符向量形式的值。要将这些值转换为双精度值,请使用 str2double 函数。

要以编程方式启用 Signal Editor 模块来标记输出信号线,请使用 set_param 函数将 PreserveSignalName 设置为 'on'(默认值)。

set_param(gcb,'PreserveSignalName','on')

有关编程交互的详细信息,请参阅参数替换 signalbuilder 的程序化使用

导入和导出

信号编辑器通过允许您执行以下操作来支持自定义文件类型(如 Microsoft® Excel®):

从 Signal Builder 模块迁移

您可以使用 signalBuilderToSignalEditor 函数将 Signal Builder 模块配置移到 Signal Editor 模块。有关详细信息,请参阅用 Signal Editor 模块替换信号生成器模块从信号生成器模块迁移到 Signal Editor 模块

快速重启

Signal Editor 模块支持快速重启。启用快速重启后,您仍可以:

  • 更改激活场景。

  • 更改活动信号。

    虽然您可以更改活动信号,但无法编辑模块中的信号属性。

  • 打开信号编辑器并编辑数据。

示例

限制

Signal Editor 模块不支持:

  • 函数调用

  • 接地信号

Signal Editor 模块支持动态字符串。它不支持具有最大长度的字符串。此外,Signal Editor 模块中的字符串无法输出:

  • 非标量 MATLAB 字符串。

  • 包含缺失值的字符串数据。

  • 包含非 ASCII 字符的字符串数据。

端口

输出参量

全部展开

一个或多个信号,以标量、向量、矩阵、数组、总线或总线数组 (自 R2021a 起)形式返回。该模块为每个信号创建一个端口。

端口标签取决于数据集 MAT 文件中相关联的变量。

在快速加速模式下,当插值数据参数处于选中状态时,Signal Editor 模块不支持 int64uint64 数据类型。有关详细信息,请参阅总线数组支持

数据类型: single | double | half | int | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus

参数

全部展开

要打开信号编辑器,请点击打开信号编辑器 ()。信号编辑器会打开,且绘制了所有激活场景信号。

要查看信号编辑器工具中的信号数据更改,请点击信号编辑器工具工具条中的保存按钮。

编程用法

要打开信号编辑器,请使用 signalEditor 函数。有关详细信息,请参阅信号编辑器

数据集文件,指定为字符向量,包含一个或多个标量 Simulink.SimulationData.Dataset 对象。不要将一个区域设置中的文件名用于其他区域设置。当在多个平台上使用该模块时,考虑只指定 MAT 文件名并使 MAT 文件位于 MATLAB 路径中。

要创建 MAT 文件,请点击 。此按钮打开信号编辑器,让您可以创建和编辑场景 MAT 文件。

编程用法

模块参数Filename
类型:字符向量
:字符向量
默认值'untitled.mat'

激活场景,指定为字符向量。您可以根据需要切换激活场景。

如果使用 signalBuilderToSignalEditor 函数或检查 Signal Builder 模块的模型升级顾问检查项来创建此模块以将 Signal Builder 模块转换为 Signal Editor 模块,则激活场景名称是 MAT 文件中的数据集变量名称。但是,如果您将鼠标在此参数上暂停,将显示原始的 Signal Builder 组名称。

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

编程用法

模块参数ActiveScenario
类型:字符向量 | 数值
:字符向量 | 索引值
默认值'Scenario'

要配置的信号,指定为信号名称。此信号被视为活动信号。

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

将信号属性应用于所有信号参数处于选中状态时,此参数不起作用。

编程用法

模块参数ActiveSignal
类型:字符向量 | 数值
:字符向量 | 索引向量
默认值'Signal 1'

不要使用 set_param 函数将 ActiveSignalSignal Editor 模块的另一个名称-值参量一起设置。

用于应用指定的信号属性的选项。

  • on - 将指定的信号属性应用于所有场景中的活动信号。

  • off - 仅在当前激活场景中应用信号属性。

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

如果将信号属性应用于所有信号参数也处于选中状态,该模块会将信号属性应用于所有场景中的所有信号。

编程用法

模块参数ApplySigPropsToAllScenarios
类型:字符向量
'off' | 'on'
默认值'on'

用于应用指定的信号属性的选项。

  • on - 将指定的信号属性应用于激活场景中的所有信号。没有活动信号的概念。

  • off - 不要将信号属性应用于所有信号。

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

如果将信号属性应用于所有场景参数也处于选中状态,该模块会将信号属性应用于所有场景中的所有信号。

编程用法

模块参数ApplySigPropsToAllSignals
类型:字符向量
'off' | 'on'
默认值'off'

要将信号配置为总线,请选择此参数。

仅当活动信号是字段与现有总线对象相同的 MATLAB 结构体时,或在创建新的匹配总线对象时,才选中此参数。如果对不是 MATLAB 结构体的活动信号选中此参数,仿真将返回错误。

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

编程用法

模块参数IsBus
类型:字符向量
'off' | 'on'
默认值'off'

选择或输入总线对象名称。要使用数据类型助手编辑或创建总线对象,请点击 >>。活动信号必须为 MATLAB 结构体,其字段与此总线对象相同。

依存关系

要启用此参数,请选择输出总线信号

编程用法

模块参数OutputBusObjectStr
类型:字符向量
:总线对象名称
默认值'Bus: BusObject'

指定总线对象名称。如果您没有总线对象,请点击编辑创建一个,这将打开类型编辑器。有关详细信息,请参阅 创建 Simulink 总线对象

信号的物理单位,指定为允许的单位。要指定单位,请在文本框中键入需要的值。随着您的键入,参数将显示可能匹配的单位。有关详细信息,请参阅 Simulink 模型中的单位指定。有关支持的单位列表,请参阅允许使用的单位制

要约束单位制,请点击参数右侧的链接:

  • 如果组件中存在 Unit System Configuration 模块,将打开其对话框。使用该对话框为组件指定允许和不允许使用的单位制。

  • 如果组件中不存在 Unit System Configuration 模块,将显示模型的“配置参数”对话框。使用该对话框为模型指定允许和不允许使用的单位制。

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

编程用法

模块参数Unit
类型:字符向量
'inherit' | 支持的物理单位
默认值'inherit'

采样之间的时间间隔,以秒为单位指定。

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

编程用法

模块参数SampleTime
类型:字符向量
-1 | 采样时间(秒)
默认值'0'

在不存在对应工作区数据的时间点对数据进行线性插值。

  • on - 如果在不存在对应工作区数据的时间点进行线性插值,请选择此选项。

  • off - 当前输出等于存在数据的最近时间的输出。

Signal Editor 模块使用两个对应的工作区样本进行插值。

  • 对于 double 数据,Signal Editor 模块使用两个对应样本进行线性插值。

  • 对于 Boolean 数据,Signal Editor 模块对两个时间值之间的前半部分时间使用 false,对后半部分时间使用 true

  • 对于除 doubleBoolean 之外的内置数据类型,Signal Editor 模块:

    • 将数据向上转换为 double

    • 执行线性内插(如针对 double 数据情形所述)

    • 将插入的值向下转换为原始数据类型

加载枚举、定点、可变大小信号或字符串数据时,请清除数据插值参数。

该模块使用最后一个已知数据点的值作为最后一个已知数据点之后出现的时间点的值。

要确定有可用数据的最后一个时间点之后的模块输出,请结合使用以下参数设置:

  • 数据插值

  • 最终数据值之后的输出

有关详细信息,请参阅最终数据值之后的输出

在快速加速模式下,当插值数据参数处于选中状态时,Signal Editor 模块不支持 int64uint64 数据类型。

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

编程用法

模块参数Interpolate
类型:字符向量
'off' | 'on'
默认值'off'

如果选择启用过零检测Signal Editor 模块会在输入数组包含相同时间值的多个条目时检测过零。例如,假设模块加载以下输入数据。

time:     0 1 2 2 3
signal:   2 3 4 5 6

在时间 2 处,由于输入数据的不连续性而导致发生过零情况。有关详细信息,请参阅过零检测

加载总线的输入数据时,Signal Editor 模块会检测所有叶总线元素的过零点。

此模块仅在使用变步长求解器的仿真中支持过零检测。当使用定步长求解器进行仿真时,软件不会检测或定位此模块的过零点。

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

编程用法

模块参数ZeroCross
类型:字符向量
'off' | 'on'
默认值'off'

要确定有可用工作区数据的最后一个时间点之后的模块输出,请结合使用以下参数设置:

  • 数据插值

  • 最终数据值之后的输出

下表列出了基于两个选项的值的模块输出。

最终数据值之后的输出的设置数据插值的设置最终数据之后的模块输出

外插

On

根据最终数据值外插

关闭

错误

设置为零

On

关闭

保持最终值

On

工作区中的最终值

关闭

工作区中的最终值

例如,如果您执行下列操作,模块将使用最后两个已知数据点对出现在最后一个已知点后的数据点进行外插:

  • 选择数据插值

  • 最终数据值之后的输出设置为外插

依存关系

要启用此参数,请确保指定的 MAT 文件存在。

编程用法

模块参数OutputAfterFinalValue
类型:字符向量
'Setting to zero' | 'Extrapolation' | 'Holding final value'
默认值'Setting to zero'

模块特性

数据类型

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

全部展开

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2017b 中推出

全部展开