По умолчанию Simulink ® поддерживает сигналы в формах, перечисленных в разделе Формы входных данных. Чтобы импортировать типы файлов, содержащие сигналы неподдерживаемого формата, создайте и зарегистрируйте собственное устройство чтения файлов пользовательского типа. Simulink поддерживает средства чтения файлов пользовательского типа, написанные с помощьюSimulink.io.FileType.
Simulink предоставляет файлы этих типов.
Simulink.io.SignalBuilderSpreadsheet - Тип файла построителя сигналов
Примеры типов файлов
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.
Проверьте, зарегистрирован ли ваш класс. На вкладке «Редактор сигналов» выберите «Открыть» > «Импорт» и в диалоговом окне «Импорт» нажмите кнопку «Обзор».
Пользовательский файл, содержащий сигналы, например 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 содержит соответствующие имена сигналов.
Вернитесь в редактор сигналов 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. 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