Создание хранилища данных имитационного ансамбля, представляющего машину, работающую в условиях отказа, путем моделирования модели машины 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- Simulink.SimulationInput , который использовался для настройки модели для генерации данных в файле. Это можно использовать для извлечения информации об условиях (например, неисправных или исправных), при которых выполнялось моделирование.
logsout - A Dataset объект, содержащий все данные, которые модель Simulink сконфигурирована для регистрации.
PMSignalLogName - имя переменной, содержащей записанные данные ('logsout' в этом примере). simulationEnsembleDatastore использует это имя для синтаксического анализа данных в файле.
SimulationMetadata - другая информация о моделировании, которое сгенерировало данные, зарегистрированные в файле.
Теперь можно создать хранилище данных ансамбля моделирования с использованием созданных данных. Получающееся 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 для чтения и анализа сгенерированных данных в хранилище данных ансамбля. Посмотрите simulationEnsembleDatastore для получения дополнительной информации.