По умолчанию Simulink® поддерживает сигналы в формах, перечисленных в Формах Входных данных. Чтобы импортировать типы файлов, содержащие сигналы, которые не имеют поддерживаемого формата, создайте и укажите своего собственного читателя типа файла. Simulink поддерживает пользовательские средства чтения типа файла, записанные с Simulink.io.FileType
.
Создание средства чтения файлов требует, чтобы вы были знакомы с объектно-ориентированным программированием. Это предназначается для усовершенствованной аудитории.
Чтобы содержать ваши папки пакета, создайте папку и добавьте что путь к папке к пути MATLAB®.
К той папке добавьте пользовательский файл, который содержит ваши сигналы, такие как mySignals.mat
.
В той папке создайте +Simulink
папка, и в той папке, создает +io
папка.
Создайте класс, который наследовался Simulink.io.FileType
.
classdef MyFileType < Simulink.io.FileType
Сохраните этот класс в yourfolder/+Simulink/+io
.
Чтобы указать и взаимодействовать с Редактором Сигнала, реализуйте эти статические методы:
Реализуйте эти открытые методы:
Во время выполнения вызовите whosImpl
через whos
когда вы запускаете Simulink.io.FileType
объект. whos
имеет тот же синтаксис как whosImpl
.
Проверяйте, указан ли ваш класс. Во вкладке Signal Editor выберите Open> Import, и в окне диалогового окна Import, нажмите Browse.
Пользовательский файл, который содержит ваши сигналы, такой custompath/mySignals.mat
, появляется в файловом браузере.
Возвратитесь к файлу класса и реализуйте эти дополнительные открытые методы:
Во времени выполнения вызовите loadImpl
через load
когда вы запускаете Simulink.io.FileType
объект. load
имеет тот же синтаксис как loadImpl
.
Чтобы импортировать пользовательские сигналы, используйте import
метод.
dataOnFile = import(reader)
, где reader является объектом типа файла для читателя в виде Simulink.io.FileType
объект. Выход, dataOnFile, является структурой с полями structure.Data
, который является массивом ячеек сигналов и structure.Name
, который является массивом ячеек соответствующих имен сигнала. Например, dataOnFile.Data
массив ячеек сигналов и dataOnFile.Name
содержит соответствующие имена сигнала.
Возвратите в Редактор Сигнала Open> Import и попытайтесь импортировать снова.
После того, как вы успешно импортируете свои пользовательские сигналы, можно управлять ими в Редакторе Сигнала. Когда сделано, и если вы реализовали exportImpl
метод, можно экспортировать результаты путем вызова export
метод для вашего читателя во время выполнения.
Например, реализации, см.:
open('Simulink.io.CreateSignals')
— Реализация того, как создать сигналы
open('Simulink.io.MySignalMatFile')
— Реализация того, как указать пользовательские типы файлов, чтобы импортировать в Simulink.
FileType
Объект для использования в SimulinkFileType
объект является компонентом, который можно использовать, чтобы создать читателей для сигналов, которые существуют в форматах, не в настоящее время поддержанных в Simulink. Напишите читателю в MATLAB и используйте Редактор Сигнала Open> опция Import, чтобы указать читателя и импортировать пользовательский файл формата.
Перед импортом проверяйте, что все редакторы для пользовательского файла класса типа файла закрываются. При редактировании пользовательского файла класса типа файла при попытке импортировать его, когда читатель вызывает неожиданное поведение.
FileType
ОбъектСоздайте FileType
объект для использования в Simulink. Этот пример создает читателя для сигналов с пользовательским форматом.
Создайте текстовый файл определения класса, чтобы задать ваш FileType
объект.
На первой линии файла определения класса задайте имя своего FileType
и разделите на подклассы от Simulink.io.FileType
. Simulink.io.FileType
базовый класс позволяет вам использовать весь основной FileType
методы объекта.
Поскольку вы классифицируете:
Добавьте соответствующий основной FileType
методы объекта указать и взаимодействовать с Редактором Сигнала.
Подтвердите форматы сигнала.
Определите содержимое файла сигнала.
Загрузите переменные из файла сигнала.
Импортируйте сигналы.
Смотрите страницы с описанием для каждого метода и полного файла определения класса ниже для реализации каждого из этих методов. Видеть полное определение класса для пользовательского читателя сигнала, запуск: open('Simulink.io.MySignalMatFile')
.
Simulink.io.FileType
| Simulink.io.FileType.isFileSupported
| Simulink.io.SignalBuilderSpreadsheet
| exportImpl
| getFileTypeDescription
| loadAVariableImpl
| loadImpl
| validateFileNameImpl
| whosImpl