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

По умолчанию 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 является объектом типа файла для reader, заданным как Simulink.io.FileType объект. Выходы, dataOnFile, являются структурой с полями structure.Data, который является массивом ячеек сигналов и structure.Name, который является массивом ячеек из соответствующих имен сигналов. Для примера, dataOnFile.Data - массив ячеек сигналов и dataOnFile.Name содержит соответствующие имена сигналов.

  11. Вернитесь к Редактору Signal 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. The Simulink.io.FileType базовый класс позволяет использовать все основные FileType методы объекта.

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

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

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

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

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

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

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

См. также

| | | | | | | |

Похожие темы