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

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

Simulink обеспечивает эти типы файлов.

  • Simulink.io.SignalBuilderSpreadsheet — Тип файла Signal Builder

  • Типы файлов в качестве примера

    • 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. Проверяйте, указан ли ваш класс. Во вкладке Signal Editor выберите Open> Import, и в окне диалогового окна Import, нажмите Browse.

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

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

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

    • loadAVariableImpl

    • loadImpl

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

  10. Чтобы импортировать пользовательские сигналы, используйте import метод.

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

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

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

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

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

FileType объект является компонентом, который можно использовать, чтобы создать читателей для сигналов, которые существуют в форматах, не в настоящее время поддержанных в Simulink. Напишите читателю в MATLAB и используйте Редактор Сигнала 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').

Смотрите также

| | | | | | | |

Похожие темы