При регистрации данных с помощью блока Record можно записывать данные в рабочую область, в файл или в рабочую область и в файл. При необходимости можно изменить настройки записи для блока Record between simulations. В этом примере показано, как получить доступ к данным в рабочей области и в файле после симуляции, как сконфигурировать свойства блока Record и как изменить визуализацию данных в блоке Record. Модель для примера проста: блок Record регистрирует данные из блока Sine Wave, блока Chirp Signal и блока Square Wave Generator.
open_system('RecordWorkspaceAndFile');
Чтобы записать данные в рабочую область и в файл MLDATX, моделируйте модель.
out = sim('RecordWorkspaceAndFile');
По умолчанию симуляции модели возвращают все записанные данные в одном Simulink.SimulationOutput
объект, использующий переменную out
. Тип out
в Командном окне, чтобы увидеть содержимое Simulink.SimulationOutput
объект.
out
out = Simulink.SimulationOutput: recordout: [1x1 Simulink.SimulationData.Dataset] tout: [51x1 double] SimulationMetadata: [1x1 Simulink.SimulationMetadata] ErrorMessage: [0x0 char]
Записанные данные рабочей области для блока Record находятся внутри out
переменная рабочей области, сохраненная в Simulink.SimulationData.Dataset
recordout объекта
. Тип out.recordout
в Командном окне, чтобы просмотреть содержимое recordout
Dataset
объект.
out.recordout
ans = Simulink.SimulationData.Dataset 'Run 1: RecordWorkspaceAndFile' with 3 elements Name PropagatedName BlockPath ____ ______________ _____________________________ 1 [1x1 Signal] '' Sine Wave RecordWorkspaceAndFile/Record 2 [1x1 Signal] '' Chirp Signal RecordWorkspaceAndFile/Record 3 [1x1 Signal] '' Square Wave RecordWorkspaceAndFile/Record - Use braces { } to access, modify, or add elements using index.
Данные для каждого сигнала, соединенного с блоком Record, сохраняются в Simulink.SimulationData.Signal
объект. Данные и значения времени для сигнала сохраняются как timeseries
объект в свойстве Values Signal
объект. Доступ к данным для Square Wave
сигнал.
recorddata = out.recordout; sqsignal = get(recorddata,3); sqts = sqsignal.Values; sqWaveData = sqts.Data;
Вы также можете получить доступ к данным, объединив все шаги в одну строку кода.
sqWaveData = get(out.recordout,3).Values.Data;
Этот пример регистрирует данные в файле в рабочей директории. После симуляции модели вы видите recording.mldatx
файл на панели Текущая папка окна MATLAB ®. Просмотреть данные в файле MLDATX можно с помощью Данных моделирования Inspector. Дважды кликните файл или откройте файл с помощью open
функция.
open('recording.mldatx');
В Данные Моделирования Inspector можно просмотреть данные сигнала с помощью курсоров или элементов управления воспроизведением, и можно создать пользовательскую визуализацию. Можно использовать программный интерфейс Данные Моделирования Inspector для доступа к данным из файла MLDATX в рабочей области или скрипте, и можно экспортировать данные в рабочую область, файл MAT или файл Excel ®.
Можно также настроить блок Record для регистрации данных в файле MAT или файле Excel. Для доступа и анализа данных, записанных в файл MAT, можно загрузить данные в базовое рабочее пространство, или можно импортировать данные в Данные моделирования Inspector. Вы можете получить доступ и проанализировать данные, записанные в файл Excel в Excel, путем чтения данных в базовое рабочее пространство или путем импорта данных в Данные моделирования Inspector.
Просмотрите и измените параметры записи для блока Record с помощью Property Inspector. Чтобы отобразить Property Inspector, на вкладке Modeling, в разделе Design, выберите Property Inspector. Чтобы просмотреть параметры блока Record в модели, выберите блок Record. Блок Record в этом примере сконфигурирован для регистрации данных в рабочей области с помощью переменной recordout
и для регистрации данных в файле recording.mldatx
. Используя настройки записи, можно отключить логгирование в рабочей области или логгирование в файл, а также можно изменить параметр File Type, чтобы логгировать данные в MAT файл или файл Excel и указать местоположение для записанного файла.
Блок Record также визуализирует подключенные сигналы. Чтобы просмотреть данные подключенного сигнала, дважды кликните блок Record. По умолчанию блок Record отображает каждый подключенный сигнал как спарклайн.
Вы можете изменить размещение и отобразить данные о других типах визуализаций, включая график XY, карту и временные графики. Для примера измените визуализацию на график времени. На вкладке Simulation, в разделе Prepare, выберите Sparklines, а затем Time Plot. Когда вы переходите на другую визуализацию, нанесенные на график сигналы удаляются из подграфика. Затем измените размещение, включив в него три подграфика. В меню « Размещения» выберите опцию «Справа от столбца».
Чтобы построить график сигналов на графиках, разверните таблицу сигналов, нажав Показать сигналы в верхнем левом углу. Установите флажок рядом с сигналом, который вы хотите построить на выбранном подграфике, обозначенном синим цветом. Для примера постройте график Sine Wave
сигнал в первой подграфике. Затем выберите другой подграфик и постройте график Chirp
сигнал. Выберите конечный подграфик и постройте график Square Wave
сигнал.
При сохранении модели обновленная визуализация сохраняется в блоке Record. Когда вы моделируете модель, блок Record обновляет графики данными текущей симуляции.
Simulink.SimulationData.Dataset
| Simulink.SimulationData.Signal
| Simulink.SimulationOutput
| timeseries