Доступ к данным для выполнения Данные Моделирования Inspector
возвращает run
= Simulink.sdi.getRun(runID
)Simulink.sdi.Run
объект, который обеспечивает доступ к данным в запуск, соответствующей runID
. Инспектор Данных моделирования присваивает идентификаторы запуска при создании запуска. Вы можете получить идентификатор запуска для своего запуска, используя Simulink.sdi.getAllRunIDs
или Simulink.sdi.getRunIDByIndex
.
Многие задачи, выполненные с использованием программного интерфейса Данные Моделирования Inspector, начинаются с доступа к Simulink.sdi.Run
объект, который соответствует записанным или импортированным данным, которые необходимо проанализировать. Для примера можно использовать Run
объект для доступа к Simulink.sdi.Signal
объекты, которые соответствуют отдельным сигналам в запуске.
В этом примере показано, как получить доступ к Run
объекты при помощи Simulink.sdi.Run.getLatest
function, the Simulink.sdi.getCurrentSimulationRun
function, или Simulink.sdi.getRun
функция.
Создайте запуск
Модель sldemo_fuelsys
уже настроен для логгирования. Когда вы моделируете модель, Данные моделирования Inspector автоматически создают запуск и присваивает ей идентификатор запуска.
load_system('sldemo_fuelsys') sim('sldemo_fuelsys')
Получите объект запуска с использованием Simulink.sdi.Run.getLatest
В этом примере запуска, созданная при моделировании модели, является последней созданным запуском в Данные моделирования Inspector. Когда необходимо получить доступ к последнему созданному запуску, используйте Simulink.sdi.Run.getLatest
функция.
fuelsysRun = Simulink.sdi.Run.getLatest;
Получите объект запуска с использованием Simulink.sdi.getCurrentSimulationRun
Возможно, запуски, к которым вы хотите получить доступ, не является последним созданным запуском в Данные моделирования Inspector. Если запуск соответствует самой последней симуляции модели, можно использовать Simulink.sdi.getCurrentSimulationRun
функция для доступа к Run
объект. Можно также использовать Simulink.sdi.getCurrentSimulationRun
функция для доступа к данным для текущего симуляции, когда симуляция передает данные в Данные моделирования Inspector. Эта функция может быть полезной, когда вы работаете с несколькими моделями.
В этом примере запуск, созданный при моделировании модели, является текущим запуском симуляции для sldemo_fuelsys
модель.
fuelsysRun = Simulink.sdi.getCurrentSimulationRun('sldemo_fuelsys');
Получите объект запуска из идентификатора выполнения
Когда ваша задача также требует идентификатора запуска, можно использовать Simulink.sdi.getRun
функция для получения соответствующей Simulink.sdi.Run
объект, который содержит запуски и метаданные.
runIDs = Simulink.sdi.getAllRunIDs; runID = runIDs(end); fuelsysRun = Simulink.sdi.getRun(runID);
Этот пример демонстрирует, как получить доступ к Simulink.sdi.Run
объект для запуска Данные Моделирования Inspector, созданный с помощью сигналов регистрации. Из Simulink.sdi.Run
объект, который можно получить Simulink.sdi.Signal
объекты, которые содержат записанные в журнал данные о сигнале и метаданные. Можно использовать Signal
объекты и plotOnSubPlot
функция для построения графика данных в Данные моделирования Inspector.
Создайте прогон симуляции и получите доступ к Run
Объект
The ex_vdp
модель регистрирует два сигнала. Чтобы создать запуск симуляции, содержащий записанные данные, моделируйте модель.
sim('ex_vdp');
Инспектор Данных моделирования отслеживает запуски, присваивая уникальный числовой идентификатор прогона каждому прогону, созданному путем моделирования, импорта данных или открытия сеанса. Чтобы получить доступ к объекту запуска для только что выполненного симуляции, используйте Simulink.sdi.getAllRunIDs
и взять последний идентификатор запуска в возвращаемом векторе.
runIDs = Simulink.sdi.getAllRunIDs; runID = runIDs(end);
Если у вас есть идентификатор запуска для запуска, можно использовать Simulink.sdi.getRun
функция для получения Simulink.sdi.Run
объект, который соответствует запуску. Можно использовать Run
объект для проверки метаданных, связанных с запуском, включая количество сигналов в запуске.
vdpRun = Simulink.sdi.getRun(runID); vdpRun.SignalCount
ans = int32
2
Постройте график данных с помощью Signal
Объекты
Используйте getSignalByIndex
функция для доступа к сигналам от Run
объект, fuelRun
.
signal1 = getSignalByIndex(vdpRun,1); signal2 = getSignalByIndex(vdpRun,2);
Используйте Simulink.sdi.setSubPlotLayout
функция для задания размещения 3 на 1.
Simulink.sdi.setSubPlotLayout(2,1)
Перед построением графика данных используйте Simulink.sdi.clearAllSubPlots
функция для очистки всех данных, которые уже нанесены на график.
Simulink.sdi.clearAllSubPlots
Постройте график по одному сигналу на каждом подграфике. Чтобы построить сигналы на первом подграфике, можно задать checked
свойство для сигнала. Чтобы построить график сигналов на подграфиках, отличных от первого подграфа, используйте plotOnSubPlot
функция.
signal1.Checked = true; plotOnSubPlot(signal2,2,1,true);
Просмотр нанесенных на график данных
Чтобы просмотреть только что созданные графики, откройте Данные моделирования Inspector с помощью Simulink.sdi.view
функция.
runID
- Численный идентификатор запускаЗапустите идентификатор для запуска, который вы хотите Simulink.sdi.Run
объект for. Инспектор Данных моделирования присваивает идентификаторы запуска при создании запусков. Вы можете получить идентификатор запуска для запуска, используя Simulink.sdi.getAllRunIDs
или Simulink.sdi.getRunIDByIndex
.
run
— Simulink.sdi.Run
объектSimulink.sdi.Run
'Simulink.sdi.Run
объект для запуска, соответствующей идентификатору запуска.
Simulink.sdi.createRun
| Simulink.sdi.getAllRunIDs
| Simulink.sdi.getCurrentSimulationRun
| Simulink.sdi.getRunIDByIndex
| Simulink.sdi.Run
| Simulink.sdi.Run.getLatest
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.