getSignalByIndex

Получите сигнал в Simulink.sdi.Run объект индексом

Описание

пример

sig = getSignalByIndex(runObj,idx) возвращает Simulink.sdi.Signal объект, sig, в индексе, заданном idx в Simulink.sdi.Run объект runObj.

Примеры

свернуть все

Этот пример демонстрирует, как получить доступ к Simulink.sdi.Run объект для Инспектора Данных моделирования, запущенного созданный путем логгирования сигналов. От Simulink.sdi.Run объект можно получить Simulink.sdi.Signal объекты, которые содержат регистрируемые данные сигнала и метаданные. Можно использовать Signal объекты и plotOnSubPlot функция, чтобы отобразить данные на графике в Инспекторе Данных моделирования.

Создайте запущенную симуляцию и доступ к Run Объект

ex_vdp модель регистрирует два сигнала. Чтобы создать симуляцию, запущенную содержащий записанные данные, симулируйте модель.

sim('ex_vdp');

Инспектор Данных моделирования отслеживает запуски путем присвоения уникального числового ID запуска каждому запуску, созданному симуляцией, импортирования данных или открытия сеанса. Чтобы получить доступ к объекту запуска для симуляции, вы только выполнили, используйте Simulink.sdi.getAllRunIDs функционируйте и возьмите последний ID запуска в возвращенном векторе.

runIDs = Simulink.sdi.getAllRunIDs;
runID = runIDs(end);

Если у вас есть ID запуска для запуска, можно использовать 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);

Просмотрите отображенные на графике данные

Чтобы просмотреть графики, вы только создали, откройте Инспектора Данных моделирования, использующего Simulink.sdi.view функция.

Входные параметры

свернуть все

Запуститесь, который содержит сигнал, к которому вы хотите получить доступ в виде Simulink.sdi.Run объект.

Индекс сигнала в рамках запуска в виде целого числа.

Выходные аргументы

свернуть все

Сигнал в заданном индексе в Run объект, возвращенный как Simulink.sdi.Signal объект.

Представленный в R2012b