主要内容

为导入信号编辑器创建自定义文件类型

缺省情况下,为Simul金宝appink®金宝app支持中所列表单中的信号输入数据的形式.要导入包含不支持格式的信号的文件类型,请创建并注册您自己的自定义文件类型读取器。金宝app金宝appSimu金宝applink支持自定义文件类型读取器金宝appSimulink.io.FileType

金宝appSimulink提供了这些文件类型。

  • 金宝appSimulink.io.SignalBuilderSpreadsheet-信号生成器文件类型

  • 文件类型示例

    • 金宝appSimulink.io.MySignalMatFile

    • 金宝appSimulink.io.CreateSignals

创建文件阅读器需要熟悉面向对象编程。它是为高级读者准备的。

  1. 要包含您的包文件夹,请创建一个文件夹并将该文件夹路径添加到MATLAB®路径。

  2. 在该文件夹中添加包含信号的自定义文件,例如mySignals.mat

    在该文件夹中创建一个+金宝app仿真软件文件夹,并在该文件夹中创建+输入输出文件夹中。

  3. 类中继承的类金宝appSimulink.io.FileType

    classdefMyFileType < 金宝appSimulink.io.FileType
  4. 将这个类保存为yourfolder/ 金宝app+仿真软件/ + io

  5. 要注册和与信号编辑器交互,实现这些静态方法:

  6. 实现这些公共方法:

    • validateFileNameImpl

    • whosImpl

      在运行时调用whosImpl通过当你运行金宝appSimulink.io.FileType对象。具有相同的语法whosImpl

  7. 检查你的班级是否已经注册。在信号编辑器选项卡上,选择开放>进口,而在进口对话框窗口,单击浏览

    包含您的信号的自定义文件,例如custompath/ mySignals.mat,显示在文件浏览器中。

  8. 选择包含自定义信号的自定义文件。

  9. 返回到类文件并实现这些额外的公共方法:

    • loadAVariableImpl

    • loadImpl

      在运行时,调用loadImpl通过负载当你运行金宝appSimulink.io.FileType对象。负载具有相同的语法loadImpl

  10. 要导入自定义信号,请使用进口方法。

    dataOnFile=进口(读者,在那里读者读取器的文件类型对象是否指定为金宝appSimulink.io.FileType对象。输出,dataOnFile,是一个带场的结构结构. data,这是一个信号的单元阵列,以及结构. name,它是对应信号名称的单元格数组。例如,dataOnFile. data是蜂窝阵列的信号和吗dataOnFile. name包含相应的信号名称。

  11. 返回到信号编辑器开放>进口然后再尝试导入。

成功导入自定义信号后,可以在信号编辑器中操作它们。完成后,如果您已经实现了exportImpl方法,则可以通过调用出口方法在运行时为您的阅读器提供。的导出对话框导出信号到自定义注册文件类型

例如实现,参见:

定义新的文件类型使用的对象金宝app

一个文件类型object是一个组件,您可以使用它来为当前不支持的格式存在的信号创建读取器。金宝app金宝app用MATLAB编写读卡器,并使用信号编辑器开放>进口选项注册阅读器并导入自定义格式文件。

请注意

在导入之前,检查自定义文件类型类文件的所有编辑器是否已关闭。在尝试将自定义文件类型类文件作为读取器导入时编辑它会导致意外行为。

定义文件类型对象

  1. 创建一个文件类型对象,以便在Simulink中使用。金宝app本例为自定义格式的信号创建一个读取器。

  2. 创建一个类定义文本文件来定义您的文件类型对象。

  3. 在类定义文件的第一行,指定您的文件类型和从的子类金宝appSimulink.io.FileType.的金宝appSimulink.io.FileType基类使您能够使用所有的基本类文件类型对象的方法。

  4. 对于你的班级:

    1. 添加适当的基础文件类型对象方法来注册信号编辑器并与之交互。

    2. 验证信号格式。

    3. 确定信号文件的内容。

    4. 从信号文件加载变量。

    5. 导入信号。

    请参阅每个方法的参考页面以及下面每个方法的实现的完整类定义文件。要查看自定义信号读取器的完整类定义,请运行:打开(“Si金宝appmulink.io.MySignalMatFile”)

另请参阅

||||||||

相关的话题