getSignalIDsByName

Получите идентификаторы сигнала для сигналов в Simulink.sdi.Run объект с помощью имени сигнала

Описание

sigIDs = getSignalIDsByName(runObj,name) возвращает один или несколько идентификаторов сигнала для сигналов в Simulink.sdi.Run объект с указанным именем, name.

Примеры

свернуть все

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

В этом примере показано, как использовать getSignalIDsByName функционируйте, чтобы получить доступ к сигналу с помощью его имени или его блока path и как получить доступ к ID сигнала для сигнала, содержавшего в шине.

Создайте данные в инспекторе данных моделирования

Этот пример использует модель импульса в противоречии с, создают данные моделирования в Инспекторе Данных моделирования. Модель имеет два входных сигнала, которые задают верхнее и нижние пределы для счетчика и один входной сигнал импульса с импульсами, чтобы рассчитать. Модель использует шины, чтобы отправить данные в Bus Counter подсистема и из него с блоком Outport. Модель сконфигурирована, чтобы регистрировать импульсный сигнал, input, и выходной сигнал, OUT, который соединяется с блоком Outport.

Симулируйте модель, чтобы создать запуск, который содержит записанные данные в Инспекторе Данных моделирования.

out = sim('ex_pulse_counter');

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

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

countRun = Simulink.sdi.Run.getLatest;

Используйте getSignalIDsByName функционируйте, чтобы получить доступ к ID сигнала для input сигнал.

inSigID = getSignalIDsByName(countRun,'input');

В более сложной модели несколько сигналов могут иметь то же имя. В этом случае, с помощью только имя сигнала с getSignalIDsByName функционируйте результаты в массиве идентификаторов сигнала для всех регистрируемых сигналов в модели то использование то имя. Чтобы избежать дублирующихся результатов, можно задать блок path и предупредить об имени вместе. Используйте точки, чтобы разделить элементы блока path вместо наклонных черт. Например, чтобы получить доступ к ID сигнала для input сигнал, вы могли также задать имя как 'ex_pulse_counter.Pulse Generator.input'.

inSigID = getSignalIDsByName(countRun,'ex_pulse_counter.Pulse Generator.input');

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

Выход вошел в систему ex_pulse_counter модель является сигналом шины. Можно получить доступ к ID сигнала, который соответствует главному сигналу шины, OUT, вложенная шина, LIMITBUS, и индивидуум предупреждает в шине: output, upper_limit, и lower_limit.

Чтобы получить доступ к ID сигнала для лучшей шины, задайте имя сигнала, OUT.

OUTSigID = getSignalIDsByName(countRun,'OUT');

Чтобы получить доступ к ID сигнала для вложенной шины, задайте путь к сигналу в иерархии шины.

LIMITBUSSigID = getSignalIDsByName(countRun,'OUT.LIMITBUS');

Чтобы получить доступ к ID сигнала для одного из отдельных сигналов, задайте путь к сигналу в иерархии шины. Вы не можете получить доступ к сигналу с помощью только имя сигнала. Name свойство Signal объект включает иерархию шины.

upper_limitSigID = getSignalIDsByName(countRun,'OUT.LIMITBUS.upper_limit');
upper_limitSig = Simulink.sdi.getSignal(upper_limitSigID);
upper_limitSig.Name
ans = 
'OUT.LIMITBUS.upper_limit'

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

свернуть все

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

Имя сигнала с ID сигнала вы хотите получить доступ в виде вектора символов или строки.

Модель может использовать то же имя сигнала больше чем в одном сигнале. В этом случае, когда это необходимо, чтобы получить доступ к ID сигнала для определенного сигнала, можно включать блок path для блока, который производит сигнал в name аргумент. Например, задайте name как 'slexAircraftExample.Pilot.Stick' получить доступ к ID сигнала для сигнала под названием Stick это - выход Pilot блокируйтесь в slexAircraftExample модель.

К сигналам доступа в составных сигналах задайте путь к сигналу через иерархию составного сигнала. Например, задайте name как 'COUNTERBUS.LIMITBUS.lower_limit' получить доступ к ID сигнала для lower_limit предупредите в шине о LIMITBUS это вкладывается в шине COUNTERBUS.

Типы данных: char | string

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

свернуть все

Один или несколько идентификаторов сигнала для сигналов с указанным именем, возвращенным как скаляр или массив.

Введенный в R2020a