exponenta event banner

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');

Инспектор данных моделирования отслеживает выполнение, присваивая уникальный числовой идентификатор выполнения каждому выполнению, созданному путем моделирования, импорта данных или открытия сеанса. Для доступа к объекту прогона только что выполненного моделирования используйте 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);

Просмотр выводимых на печать данных

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

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

свернуть все

Прогон, содержащий сигнал, к которому требуется получить доступ, указанный как Simulink.sdi.Run объект.

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

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

свернуть все

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

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