exponenta event banner

getAllSignalIDs

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

Описание

пример

sigIDs = getAllSignalIDs(runObj) возвращает массив, sigIDs, который содержит идентификаторы сигналов для всех сигналов в Simulink.sdi.Run объект runObj. Используйте getAllSignalIDs при необходимости работы со многими или всеми сигналами в прогоне. При необходимости анализа только определенного сигнала можно получить доступ к одному сигналу. Signal с использованием getSignalIDsByName функции или getSignalIDByIndex функция.

Примеры

свернуть все

Вы можете использовать getAllSignalIDs для доступа к массиву, содержащему идентификаторы сигналов для всех сигналов в прогоне. В этом примере моделируется slexAircraftExample модель для создания данных прогона, а затем показывает, как получить идентификаторы сигналов в прогоне и использовать идентификаторы для сравнения сигналов.

Создание прогона

В этом примере создается прогон в инспекторе данных моделирования путем моделирования модели, регистрирующей данные. Загрузить slexAircraftExample модель и пометить Stick и alpha, rad сигналы для регистрации.

load_system('slexAircraftExample')

Simulink.sdi.markSignalForStreaming('slexAircraftExample/Pilot',1,'on')
Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',4,'on')

Моделирование модели.

out = sim('slexAircraftExample');

Доступ к данным и идентификаторам сигналов

Используйте Simulink.sdi.getCurrentSimulationRun для доступа к прогону, созданному при моделировании slexAircraftExample модель.

airRun = Simulink.sdi.getCurrentSimulationRun('slexAircraftExample');

Получение массива идентификаторов сигналов для зарегистрированных сигналов с помощью getAllSignalIDs функция.

sigIDs = getAllSignalIDs(airRun);

Сравнение зарегистрированных сигналов

Для сравнения зарегистрированных сигналов можно использовать идентификаторы сигналов. Используйте Simulink.sdi.getSignal для получения функции Simulink.sdi.Signal объект с первым идентификатором в массиве sigIDs. Проверьте Name свойство для возвращенного Signal объект.

sigID1 = sigIDs(1);
sig1 = Simulink.sdi.getSignal(sigID1);
sig1.Name
ans = 
'alpha, rad'

Используйте входной сигнал, Stick, в качестве базового сигнала при сравнении сигналов.

sigID2 = sigIDs(2);
DSR = Simulink.sdi.compareSignals(sigID2,sigID1);
DSR.Status
ans = 
OutOfTolerance

Сигналы не совпадают. Можно использовать свойства допуска Signal объекты для программного анализа данных или можно открыть инспектор данных моделирования с помощью Simulink.sdi.view для просмотра и анализа результатов сравнения с помощью пользовательского интерфейса.

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

свернуть все

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

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

свернуть все

Идентификаторы сигналов в прогоне, возвращаемые в виде массива.

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