Сгенерируйте datastore ансамбля симуляции данных, представляющих машину, действующую при условиях отказа путем симуляции модели Simulink® машины при варьировании параметра отказа.
Загрузите модель Simulink. Эта модель является упрощенной версией модели коробки передач, описанной в Использовании Simulink, чтобы Сгенерировать Данные об Отказе. В данном примере только один режим отказа моделируется, отказ зуба механизма.
Отказ зуба механизма моделируется как воздействие в подсистеме Gear Tooth fault
. Значением воздействия управляет образцовая переменная ToothFaultGain
, где ToothFaultGain = 0
не соответствует никакому отказу зуба механизма (здоровая операция). Чтобы сгенерировать ансамбль данных об отказе, вы используете generateSimulationEnsemble
, чтобы моделировать модель в различных значениях ToothFaultGain
, в пределах от-2, чтобы обнулить. Эта функция использует массив объектов Simulink.SimulationInput
сконфигурировать модель Simulink для каждого участника в ансамбле. Каждая симуляция генерирует отдельного члена ансамбля в его собственном файле данных. Создайте такой массив и используйте setVariable
, чтобы присвоить значение усиления зубного отказа для каждого выполнения.
В данном примере модель уже сконфигурирована, чтобы регистрировать определенные значения сигналов, Vibration
и Tacho
(см., что Данные сигнала Экспорта Используют Сигнал, Регистрирующий (Simulink)). generateSimulationEnsemble
далее конфигурирует модель к:
Сохраните записанные данные в файлы в папке, которую вы задаете.
Используйте формат timetable
для журналирования сигнала.
Храните каждый объект Simulink.SimulationInput
в сохраненном файле с соответствующими записанными данными.
Задайте местоположение для сгенерированных данных. В данном примере сохраните данные к папке под названием Data
в вашей текущей папке. Индикатором status
является 1 (TRUE)
, если все симуляции завершаются без ошибки.
[22-Feb-2019 01:55:22] Running simulations...
[22-Feb-2019 01:55:29] Completed 1 of 5 simulation runs
[22-Feb-2019 01:55:35] Completed 2 of 5 simulation runs
[22-Feb-2019 01:55:41] Completed 3 of 5 simulation runs
[22-Feb-2019 01:55:48] Completed 4 of 5 simulation runs
[22-Feb-2019 01:55:54] Completed 5 of 5 simulation runs
В папке Data
исследуйте один из файлов. Каждым файлом является MAT-файл, содержащий следующие переменные MATLAB®:
Объект SimulationInput
— The Simulink.SimulationInput
, который использовался, чтобы сконфигурировать модель для генерации данных в файле. Можно использовать это, чтобы извлечь информацию об условиях (такой как дефектный или здоровый), под которым была запущена эта симуляция.
Объект logsout
— A Dataset
, содержащий все данные, которые модель Simulink сконфигурирована, чтобы регистрировать.
PMSignalLogName
— Имя переменной, которая содержит записанные данные ('logsout'
в этом примере). Команда simulationEnsembleDatastore
использует это имя, чтобы проанализировать данные в файле.
SimulationMetadata
— Другая информация о симуляции, которая сгенерировала данные, вошла в систему файл.
Теперь можно создать datastore ансамбля симуляции с помощью сгенерированных данных. Получившийся объект simulationEnsembleDatastore
указывает на сгенерированные данные. Списки объектов переменные данных в ансамбле, и по умолчанию все переменные выбраны для чтения. Исследуйте свойства DataVariables
и SelectedVariables
ансамбля подтвердить эти обозначения.
ensemble =
simulationEnsembleDatastore with properties:
DataVariables: [4x1 string]
IndependentVariables: [0x0 string]
ConditionVariables: [0x0 string]
SelectedVariables: [4x1 string]
ReadSize: 1
NumMembers: 5
LastMemberRead: [0x0 string]
Files: [5x1 string]
ans = 4x1 string array
"SimulationInput"
"SimulationMetadata"
"Tacho"
"Vibration"
ans = 4x1 string array
"SimulationInput"
"SimulationMetadata"
"Tacho"
"Vibration"
Можно теперь использовать ensemble
, чтобы считать и анализировать сгенерированные данные в datastore ансамбля. Смотрите simulationEnsembleDatastore
для получения дополнительной информации.