exponenta event banner

Создание пользовательского типа файла для импорта в редактор сигналов

По умолчанию Simulink ® поддерживает сигналы в формах, перечисленных в разделе Формы входных данных. Чтобы импортировать типы файлов, содержащие сигналы неподдерживаемого формата, создайте и зарегистрируйте собственное устройство чтения файлов пользовательского типа. Simulink поддерживает средства чтения файлов пользовательского типа, написанные с помощьюSimulink.io.FileType.

Simulink предоставляет файлы этих типов.

  • Simulink.io.SignalBuilderSpreadsheet - Тип файла построителя сигналов

  • Примеры типов файлов

    • Simulink.io.MySignalMatFile

    • Simulink.io.CreateSignals

Для создания модуля чтения файлов необходимо ознакомиться с объектно-ориентированным программированием. Он предназначен для продвинутой аудитории.

  1. Чтобы содержать папки пакета, создайте папку и добавьте этот путь к пути MATLAB ®.

  2. В эту папку добавьте пользовательский файл, содержащий сигналы, например mySignals.mat.

    В этой папке создайте +Simulink и внутри этой папки создайте +io папка.

  3. Создание класса, наследующего от Simulink.io.FileType.

    classdef MyFileType < Simulink.io.FileType
  4. Сохранить этот класс в yourfolder/+Simulink/+io.

  5. Для регистрации и взаимодействия с редактором сигналов реализуйте следующие статические методы:

  6. Внедрить следующие общедоступные методы:

    • validateFileNameImpl

    • whosImpl

      Во время выполнения звоните whosImpl через whos при запуске Simulink.io.FileType объект. whos имеет тот же синтаксис, что и whosImpl.

  7. Проверьте, зарегистрирован ли ваш класс. На вкладке «Редактор сигналов» выберите «Открыть» > «Импорт» и в диалоговом окне «Импорт» нажмите кнопку «Обзор».

    Пользовательский файл, содержащий сигналы, например custompath/mySignals.mat, отображается в браузере файлов.

  8. Выберите пользовательский файл, содержащий пользовательские сигналы.

  9. Вернитесь к файлу класса и реализуйте следующие дополнительные общедоступные методы:

    • loadAVariableImpl

    • loadImpl

      Во время выполнения вызов loadImpl через load при запуске Simulink.io.FileType объект. load имеет тот же синтаксис, что и loadImpl.

  10. Для импорта пользовательских сигналов используйте import способ.

    dataOnFile = import(reader), где reader - объект типа файла для reader, указанный как Simulink.io.FileType объект. Выходные данные dataOnFile представляют собой структуру с полями structure.Data, который является массивом ячеек сигналов, и structure.Name, который является массивом ячеек соответствующих имен сигналов. Например, dataOnFile.Data - массив ячеек сигналов и dataOnFile.Name содержит соответствующие имена сигналов.

  11. Вернитесь в редактор сигналов Open > Import и повторите попытку импорта.

После успешного импорта пользовательских сигналов ими можно управлять в редакторе сигналов. Когда это сделано, и если вы внедрили exportImpl , можно экспортировать результаты, вызвав export метод для читателя во время выполнения. Также можно использовать диалоговое окно экспорта из окна «Экспорт сигналов в пользовательские зарегистрированные типы файлов».

Например, реализации см.:

Определить новое FileType Объект для использования в Simulink

A FileType объект - это компонент, который можно использовать для создания считывателей сигналов, существующих в форматах, не поддерживаемых в настоящее время в Simulink. Запишите устройство чтения в MATLAB и используйте опцию Signal Editor Open > Import для регистрации устройства чтения и импорта файла пользовательского формата.

Примечание

Перед импортом убедитесь, что все редакторы файла класса пользовательского типа файлов закрыты. Редактирование файла класса пользовательского типа файлов при попытке импортировать его в качестве средства чтения приводит к непредвиденному поведению.

Определить FileType Объект

  1. Создать FileType для использования в Simulink. В этом примере создается считывающее устройство для сигналов с пользовательским форматом.

  2. Создание текстового файла определения класса для определения FileType объект.

  3. В первой строке файла определения класса укажите имя FileType и подкласс из Simulink.io.FileType. Simulink.io.FileType базовый класс позволяет использовать все основные FileType объектные методы.

  4. Для вашего класса:

    1. Добавить соответствующий базовый FileType объектные методы для регистрации и взаимодействия с редактором сигналов.

    2. Проверьте форматы сигналов.

    3. Определите содержимое файла сигнала.

    4. Загрузите переменные из файла сигнала.

    5. Импортируйте сигналы.

    Для реализации каждого из этих методов см. страницы ссылок для каждого метода и полный файл определения класса ниже. Чтобы просмотреть полное определение класса для пользовательского устройства чтения сигналов, выполните следующее: open('Simulink.io.MySignalMatFile').

См. также

| | | | | | | |

Связанные темы