Сгенерируйте simulation ensemble 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-Apr-2021 20:12:51] Running simulations...
[22-Apr-2021 20:13:12] Completed 1 of 5 simulation runs
[22-Apr-2021 20:13:29] Completed 2 of 5 simulation runs
[22-Apr-2021 20:13:52] Completed 3 of 5 simulation runs
[22-Apr-2021 20:14:24] Completed 4 of 5 simulation runs
[22-Apr-2021 20:14:41] Completed 5 of 5 simulation runs
Внутри Data
папка, исследуйте один из файлов. Каждый файл является MAT-файлом, содержащим следующие переменные MATLAB ® :
SimulationInput
- The Simulink.SimulationInput
объект, который использовался для конфигурирования модели для генерации данных в файле. Вы можете использовать это для извлечения информации о условиях (таких как неисправные или исправные), в которых была запущена эта симуляция.
logsout
- A Dataset
объект, содержащий все данные, для регистрации которых сконфигурирована модель Simulink.
PMSignalLogName
- имя переменной, содержащей записанные в записанные данные ('logsout'
в этом примере). The 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
"SimulationInput"
"SimulationMetadata"
"Tacho"
"Vibration"
ans = 4x1 string
"SimulationInput"
"SimulationMetadata"
"Tacho"
"Vibration"
Теперь можно использовать ensemble
для чтения и анализа сгенерированных данных в ансамбле datastore. См. simulationEnsembleDatastore
для получения дополнительной информации.