По умолчанию Simulink® поддерживает сигналы в формах, перечисленных в Формах Входных Данных. Чтобы импортировать типы файлов, содержащие сигналы, которые не имеют поддерживаемого формата, создайте и зарегистрируйте свою собственную программу чтения пользовательских типов файлов. Simulink поддерживает пользовательские программы чтения типов файлов, написанные с Simulink.io.FileType
.
Simulink предоставляет эти типы файлов.
Simulink.io.SignalBuilderSpreadsheet
- Тип файла Signal Builder
Примеры типов файлов
Simulink.io.MySignalMatFile
Simulink.io.CreateSignals
Создание программы чтения файлов требует, чтобы вы были знакомы с объектно-ориентированным программированием. Он предназначен для продвинутой аудитории.
Чтобы содержать папки пакета, создайте папку и добавьте этот путь к 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 является объектом типа файла для reader, заданным как Simulink.io.FileType
объект. Выходы, dataOnFile, являются структурой с полями structure.Data
, который является массивом ячеек сигналов и structure.Name
, который является массивом ячеек из соответствующих имен сигналов. Для примера, dataOnFile.Data
- массив ячеек сигналов и dataOnFile.Name
содержит соответствующие имена сигналов.
Вернитесь к Редактору Signal Open > Import и повторите попытку импорта.
После успешного импорта пользовательских сигналов можно управлять ими в Редактор. Когда сделано, и если вы реализовали exportImpl
метод, можно экспортировать результаты путем вызова export
метод для вашего читателя во время исполнения. Кроме того, можно использовать диалоговое окно экспорта из параметра «Экспорт сигналов в пользовательские типы зарегистрированных файлов».
Для примера реализации смотрите:
open('Simulink.io.CreateSignals')
- Реализация способа создания сигналов
open('Simulink.io.MySignalMatFile')
- Реализация способа регистрации пользовательских типов файлов для импорта в Simulink.
FileType
Объект для использования в SimulinkA FileType
объект является компонентом, который можно использовать для создания считывателей сигналов, существующих в форматах, не поддерживаемых в настоящее время в Simulink. Запишите ридер в MATLAB и используйте опцию Signal Editor Open > Import, чтобы зарегистрировать ридер и импортировать пользовательский файл формата.
Примечание
Перед импортом проверьте, что все редактора файла класса пользовательского типа файлов закрыты. Изменение файла класса пользовательского типа файлов при попытке импортировать его как средство чтения приводит к неожиданному поведению.
FileType
ОбъектСоздайте FileType
объект для использования в Simulink. Этот пример создает считыватель для сигналов с пользовательским форматом.
Создайте текстовый файл определения класса, чтобы задать ваши FileType
объект.
В первой линии файла определения класса укажите имя своего FileType
и подкласс из Simulink.io.FileType
. The Simulink.io.FileType
базовый класс позволяет использовать все основные FileType
методы объекта.
Для вашего класса:
Добавьте соответствующий базовый FileType
объектные методы для регистрации и взаимодействия с Редактор.
Проверьте форматы сигналов.
Определите содержимое файла сигнала.
Загрузите переменные из файла сигнала.
Импортируйте сигналы.
Для реализации каждого из этих методов см. страницы с описанием по каждому методу и полный файл определения класса ниже. Чтобы увидеть полное определение класса для пользовательского устройства чтения сигналов, запустите: open('Simulink.io.MySignalMatFile')
.
exportImpl
| getFileTypeDescription
| loadAVariableImpl
| loadImpl
| Simulink.io.FileType
| Simulink.io.FileType.isFileSupported
| Simulink.io.SignalBuilderSpreadsheet
| validateFileNameImpl
| whosImpl