getsignalid

Индекс сигнала с иерархического имени сигнала

Синтаксис

signal_index = getsignalid(target_object, signal_name)

Описание

пример

signal_index = getsignalid(target_object, signal_name) возвращает индекс сигнала из списка сигнала, на основе имени сигнала. Имя сигнала выведено от пути до блока.

Примечание

Доступ сигнала индексом сигнала будет удален в будущем релизе. Доступ к сигналам именем сигнала вместо этого.

Для signal_name введите скорректированное имя, которое программное обеспечение Simulink® Coder™ использует для генерации кода. Определить скорректированное имя:

  • Если у вас нет специальных символов в вашей модели, используйте функцию gcb.

  • Если блоки интереса имеют специальные символы, получают скорректированное имя при помощи tg.showsignals='on'.

    Например, если возврат каретки, '\n' является частью блока path, скорректированное имя, возвращается с возвратами каретки, замененными пробелами.

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

Примеры

свернуть все

Получите индекс сигнала для одного вывода блока Gain1.

tg = slrt;
getsignalid(tg, 'Gain1')
ans = 

6

Получите индекс сигнала для одного вывода блока Feedback/Gain1.

tg = slrt;
getsignalid(tg, 'Feedback/Gain1')
ans = 

6

Получите индекс сигнала второго элемента широкого выходного сигнала блока Byte Packing.

tg = slrt;
signal_index = getsignalid(tg,'Byte Packing /s2')
signal_index =

           1

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

свернуть все

Объект, который представляет целевой компьютер. Прежде, чем вызвать эту функцию, убедитесь, что вы запускаете целевой компьютер с ядра Simulink Real-Time™ и применяете необходимые настройки подключения Ethernet.

Пример: tg

Имя сигнала относится к блоку path блока, вывод которого является заданным сигналом. Программное обеспечение создает имя согласно этим правилам:

  • Если блок имеет больше чем один выходной порт, '/pn' добавлен к имени сигнала. n является номером порта (запускающийся в 1).

  • Если выходной порт не является скаляром, '/sn' добавлен к имени сигнала. Номер n является индексом signal_index сигнала в векторе или матрице. С этой целью сигналы сглажены к одной размерности. Например, сигналы /s1, /s2, /s3 и /s4 представляют матрицу 2 x 2.

Для блока subsystem/path/to/block эти правила приводят к поведению, перечисленному в этой таблице.

Выходной портИмя сигнала
  • Один выходной порт.

  • Порт является скалярным портом.

subsystem/path/to/block

  • Один выходной порт.

  • Порт является векторным портом.

  • signal_index обращается к второму элементу в том векторе.

subsystem/path/to/block/s2

  • Три выходных порта.

  • Второй порт является скалярным портом.

  • signal_index относится к выводу от второго порта.

subsystem/path/to/block/p2

  • Три выходных порта.

  • Второй выходной порт является векторным портом.

  • signal_index обращается к седьмому элементу в том векторе.

subsystem/path/to/block/p2/s7

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

свернуть все

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

Примечание

Доступ сигнала индексом сигнала будет удален в будущем релизе. Доступ к сигналам именем сигнала вместо этого.

Введенный в R2014a