Main Content

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

创建和编辑信号数据

使用信号编辑器可创建和编辑输入信号并组织它们以用于多个仿真。您随后可以将信号数据保存到 MAT 文件以进行仿真或映射到根级端口。默认情况下,信号编辑器以 timeseries 格式创建信号数据。您可以通过以下方式访问信号编辑器:

  • signalEditor 函数 -信号编辑器从命令行启动。

  • 根输入端口映射器 - 要为新信号数据创建 MAT 文件,请选择信号 > 新建 MAT 文件。要链入现有场景中的现有信号数据文件并编辑该文件中的信号,请使用信号 > 编辑 MAT 文件

  • Signal Editor 模块

信号编辑器仅适用于 MAT 文件。

您可以通过下列方式来操作信号:

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

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

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

  • 创建和编辑多维信号。

  • 编辑作为注册的自定义文件类型导入的信号。有关详细信息,请参阅Import Custom File Type

在编辑信号数据时:

  • 使用表格编辑或 MATLAB 修改信号数据。

  • 使用鼠标或多点触控编辑以图形方式修改信号数据。

  • 修改信号属性,例如名称、插值和单位属性。

  • 拖放信号以更改总线和数据集的信号层次结构。

  • 使用信号符号和变量来替换信号数据。

您也可以从外部源导入数据并在信号编辑器中编辑它们。有关详细信息,请参阅Link in Signal Data from Signal Builder Block and Simulink Design Verifier Environment

要以图形方式创建和编辑信号数据,请参阅Create Freehand Signal Data Using Mouse or Multi-Touch Gestures

根输入端口映射器信号编辑器与其他信号编辑器之间的差异

通常,无论您如何访问信号编辑器,其用户界面都是相同的。以下是根输入端口映射器信号编辑器的不同之处:

  • “文件”部分的保存并同步保存命令保存并同步到根输入端口映射器。

  • 插入部分的场景命令始终具有来自模型的场景选项。

如果使用模型名称来启动 signalEditor 函数,信号编辑器用户界面将在插入部分中显示来自模型的场景选项。

表编辑数据支持

信号编辑器用户界面支持 Simulink® 支持的和可编辑的所有信号数据类型。

鼠标、键盘和触摸屏快捷方式

编辑操作:

操作键盘鼠标多点触控

插入点

Ctrl+P

点击

点击

插入行

Ctrl+L

点击

平移和捏合手指

绘制

Ctrl+D

点击和绘制

平移

选择点

Ctrl+T

点击 ,然后点击并选择点或区域

要选择所有区域,请双击

平移和捏合手指

要选择所有区域,请双击

移动点

Ctrl+M

点击 并拖动

点击并移动

更改点数据 

点击

 
连续删除线上的点 

点击 Eraser icon

 
  

点击鼠标三次

点击三次

沿 x 轴展开 

Ctrl+鼠标平移

对 x 轴进行 PRY 操作

沿 y 轴展开 

Shift+鼠标平移

对 y 轴进行 PRY 操作

缩放操作:

缩放或平移的类型要点击的按钮

沿 T 和 Y 轴放大。

沿时间轴放大。选择图标后,在图上拖动鼠标以选择要放大的区域。

沿数据值轴放大。选择图标后,在图上拖动鼠标以选择要放大的区域。

在放大 xy 时仅放大 x。

在按下 Ctrl 的同时放大 xy

在放大 xy 时仅放大 y。

在按下 Shift 的同时放大 xy

缩小绘图。

使绘图适合图形。选择图标后,点击图窗以放大绘图,使之填满图窗。

向上、向下、向左或向右平移图。选择图标。在图上按住鼠标左键,并将鼠标移至要查看的图区域。

更改信号名称和层次结构顺序

场景和信号部分中,您可以更改信号名称和层次结构顺序、创建信号副本以及删除信号。Simulink 会忽略信号名称中的前导和尾部空白。

  • 要更改信号名称,请双击该名称并进行更改。

  • 要更改信号的单位或插值,请点击加号,然后点击单位插值复选框。

    窗格随即更新,增加单位插值列。

    • 单位列中,输入适当的单位表达式。有关建议的单位表达式列表,请参阅允许的单位

    • 插值列中,从下拉列表中选择“线性”或“零阶保持”。

      注意

      插值仅影响信号编辑器用户界面中的信号绘制。

  • 要更改层次结构中信号的顺序,请拖放该信号。例如,您可以将信号拖放到总线中。

    或者,使用调整部分中的上移下移按钮。

  • 要复制信号并将其粘贴到原始信号下,请右键点击信号并选择复制信号

    或者,使用调整部分中的生成副本按钮。您还可以调整所复制信号的默认属性。有关详细信息,请参阅创建具有相同属性的信号

  • 要复制信号并将其粘贴到层次结构中的其他位置,请选择复制,然后选择粘贴

创建具有相同属性的信号

要创建具有相同预定义类型的信号,请使用调整部分中的生成副本按钮。要更改预定义信号类型,请点击默认值图标 。系统随即显示插入的默认属性对话框。

信号选项卡:

  • 数据类型 - 从下拉列表中选择信号数据类型。

    枚举 - 选择“枚举”数据类型时,将显示此参数。输入枚举的类名称。

    如果多次定义一个包含相同整数值的枚举类,例如:

    classdef(Enumeration) hEnumColors_duplicateValues < Simulink.IntEnumType
      enumeration
        Red(118)
        Yellow(-14)
        Blue(90)
        Green(87)
        White(-14)
        Black(198)
        Brown(90)
        Pink(118)
        Purple(90)
      end
      methods (Static = true)
        function retVal = getDefaultValue()
          retVal = hEnumColors_duplicateValues.Blue;
        end
      end
    end
    

    则信号编辑器会将第一个枚举值 (Red (118)) 视为标准值,并将同一基础整数 118 的所有后续实例视为等同于枚举名称 Red。换言之:Pink 等于 Red

  • 插值 - 从下拉列表中选择“线性”或“零阶保持”。

  • 单位 - 输入适当的单位表达式。有关建议的单位表达式列表,请参阅允许的单位

  • 维度 - 输入信号的维数。

  • 信号类型 - 从列表中选择“实部”或“复数”。

  • 变量类型 - 从下拉列表中,选择 “Timeseries”(默认值)、“Timetable”、“Logged timeseries”、“Logged timetable”。

    Logged timeseries 和 Logged timetables 对象是 Simulink.SimulationData.Signal 对象,其 Value 属性的数据类型为 timeseriestimetable

总线选项卡:

  • 总线对象 - 从下拉列表中,选择要为其定义维度的总线对象。如果将总线对象参数保留为默认 <object name>,则信号编辑器会添加空总线。

  • 维度 - 输入总线对象的维数。

常量选项卡:

  • - 输入要输出的常量值。

  • 时间 - 输入采样时间。

阶跃选项卡:

  • 初始值 - 输入阶跃之前的输出值。

  • 最终值 - 输入阶跃之后的输出值。

  • 开始时间 - 输入阶跃发生的时间。

  • 阶跃时间 - 输入阶跃持续的时间。

  • 阶跃最终值时间 - 输入最终阶跃时间。

脉冲选项卡:

  • 初始值 - 输入信号的初始默认值。

  • 触发值 - 输入脉冲触发时的信号值。

  • 脉冲持续时间 - 输入脉冲的时间长度。

  • 阶跃时间 - 输入阶跃持续的时间。

  • 触发时间 - 输入脉冲触发发生的时间。

添加和编辑多维信号

要添加多维信号,请使用以下任一选项:

  • 在“插入的默认属性”对话框中更改维度属性,然后使用插入 > 空白信号插入新空白信号。对于多维空白信号,请输入大于 1 的维度。

  • 在“创建和插入”对话框的数据参数中输入多维信号数据,例如 [(1:10)' (1:10)']

点击信号的绘图/编辑复选框时,表格区域将显示信号及其每个维度的列。您可以在表格区域中单独编辑数据,或点击替换按钮 以使用 MATLAB 表达式替换信号。使用“创建和替换信号数据”对话框替换信号数据的过程与使用“创建和插入”对话框插入新表达式一样。有关详细信息,请参阅Create Signals with MATLAB Expressions and Variables

提示

替换信号时,新信号的信号维度和复/实性必须与被替换的信号相同。

例如,要创建具有两列且时间从 1 到 10 的信号数据,请执行下列操作:

  1. 在信号编辑器中,选择信号 > 创建信号

  2. 输入具有两列且时间从 1 到 10 的信号数据:

    • 时间 - [1:10]

    • 数据[(1:10)' (1:10)']

  3. 点击插入信号

    层次结构将用新信号数据进行更新。

  4. 展开新信号,然后点击新信号数据的绘图/编辑复选框。随即可以看到与信号关联的图和表格数据。

    提示

    如果数据未按预期绘制,请使用缩放和平移部分中的适应窗口大小按钮。对于多维信号,还需要确保为所编辑的列数据选择了正确的绘图。

  5. 您可以直接在表中编辑数据。

    您也可以通过点击替换按钮并在“创建和替换信号数据”对话框中输入新时间范围和数据,用新表达式完全替换数据。

处理信号中的数据

此示例说明如何为链接场景中的信号添加和删除数据。要创建要使用的模型和数据,请参阅Add Signals to Scenarios

  1. 在信号编辑器的场景和信号部分中,点击信号 ts 的绘图复选框。

  2. 将一些数据添加到信号 ts

    1. 点击添加行图标 并添加一些信号。要在其他信号之间添加信号行,请点击位于前面的信号,然后点击添加行图标。

    2. 完成后,点击应用。点击应用会更新绘图。

  3. 从信号中删除时间为 20 的行。选择 20,然后点击

  4. 或者,如果要将 ts 的所有信号数据替换为使用信号符号定义的信号,请点击替换按钮 并使用“创建和替换信号数据”对话框定义新数据。

使用“与网格对齐”功能绘制斜坡以确保准确度

此示例说明如何通过选择画布中的一些点来创建斜坡信号。

  1. 在“信号编辑器”选项卡中,选择信号 > 绘制信号

  2. 要沿水平线和垂直线排列信号数据值,请选择将 X 与网格对齐将 Y 与网格对齐

    移动和缩放也遵循对齐网格设置。

  3. 在画布中,添加三个点:

    • 两个点水平对齐

    • 另一个点放在这两个点的右侧,并与之呈一定角度

  4. 在“信号属性”部分,在名称中,将信号名称更改为 Ramp,然后按 Enter

  5. 要将信号添加到信号编辑器,请在插入部分中,点击

  6. 要返回信号编辑器主窗口并检查信号是否已添加,请点击

  7. 要在信号编辑器中观察绘制的信号数据,请点击层次结构中 Ramp 信号名称的绘图/编辑复选框。

保存更改并将其发送给根输入端口映射器工具

添加和修改完信号和场景后,使用保存并同步按钮将更改保存到 MAT 文件。信号编辑器还会将数据发送到根输入端口映射器工具:

  • 如果根输入端口映射器工具已加载场景,则根输入端口映射器工具将使用新数据进行更新。

  • 如果根输入端口映射器工具已映射场景且您的更改影响了映射,则根输入端口映射器工具将取消场景的映射。

另请参阅

| | |

相关主题