Сгенерируйте 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 для получения дополнительной информации.