Сигналы доступа в Simulink.sdi.Run объект с использованием имени сигнала
возвращает один или несколько sigs = getSignalsByName(runObj,name)Simulink.sdi.Signal объекты с именем, указанным name.
Simulink.sdi.Signal Объекты по имениДля доступа к программному интерфейсу Simulation Data Inspector можно использовать Simulink.sdi.Signal объекты, которые соответствуют зарегистрированным или импортированным данным. Использование getSignalsByName , вы можете указать имя сигнала, который вы хотите получить от Simulink.sdi.Run объект. Можно получить доступ к данным для отдельных сигналов и составных сигналов.
Создание данных в инспекторе расчетных данных
В этом примере используется модель счетчика импульсов для создания данных моделирования в инспекторе данных моделирования. Модель содержит два входных сигнала, определяющих верхний и нижний пределы счетчика, и один входной импульсный сигнал с импульсами для подсчета. Модель использует шины для отправки данных в Bus Counter и из нее в блок Outport. Модель сконфигурирована для регистрации импульсного сигнала, inputи выход, соединенный с блоком Outport.

Смоделировать модель для создания прогона, содержащего записанные данные в инспекторе расчетных данных.
out = sim('ex_pulse_counter');Доступ к сигналам в инспекторе данных моделирования
Для доступа к записанным данным используйте программный интерфейс Simulation Data Inspector. Simulink.sdi.Run.getLatest функция возвращает Simulink.sdi.Run объект, соответствующий последнему созданному прогону.
countRun = Simulink.sdi.Run.getLatest;
Используйте getSignalsByName для доступа к input сигнал. Проверьте Name свойство возвращенного Simulink.sdi.Signal объект.
inSig = getSignalsByName(countRun,'input');
inSig.Nameans = 'input'
input сигнал не является составным сигналом, поэтому Children имущества Signal пуст объект.
inChildren = inSig.Children; size(inChildren)
ans = 1×2
0 0
Теперь используйте getSignalsByName функция доступа к выходному сигналу, OUT. OUT - сигнал шины, который содержит выходной сигнал от счетчика, outputи предельные сигналы счетчика, upper_limit и lower_limit, во вложенной шине с именем LIMITBUS.
outSig = getSignalsByName(countRun,'OUT');Проверьте Name и Children свойства для возвращенного Signal объект. Children значение свойства содержит два Signal объекты, которые соответствуют сигналам на следующем уровне иерархии в OUT автобус.
outSig.Name
ans = 'OUT'
outChildren = outSig.Children; size(outChildren)
ans = 1×2
1 2
Потому что Signal объект outSig соответствует составному сигналу, невозможно построить график данных сигнала в инспекторе данных моделирования с помощью Checked свойство или plotOnSubPlot функция. Для построения графика данных в составном сигнале необходимо получить доступ к индивидуальному Signal объекты.
Сигналы доступа внутри составного сигнала
Вы можете получить доступ к сигналам внутри OUT автобус и LIMITBUS путем индексации в Children свойство соответствующего Signal объект. Например, можно получить доступ к output сигнал от OUT автобус Signal объект.
outChildren = outSig.Children; outputSig = outChildren(1); outputSig.Name
ans = 'OUT.output'
Вы также можете получить Signal объект для output путем указания пути к сигналу через шинную иерархию.
outputSig = getSignalsByName(countRun,'OUT.output');
outputSig.Nameans = 'OUT.output'
Для доступа к upper_limit , укажите полный путь к сигналу в пределах шины.
upper_limitSig = getSignalsByName(countRun,'OUT.LIMITBUS.upper_limit');
upper_limitSig.Nameans = 'OUT.LIMITBUS.upper_limit'
runObj - Запуск, содержащий сигналы, к которым требуется получить доступSimulink.sdi.Run объектЗапуск, содержащий сигналы, к которым требуется получить доступ, указанные как Simulink.sdi.Run объект.
name - имя сигнала, к которому требуется получить доступ;Имя сигнала, к которому требуется получить доступ, указанное как символьный вектор или строка.
Модель может использовать одно и то же имя сигнала для нескольких сигналов. В этом случае, когда требуется получить доступ к определенному сигналу, можно включить путь блока, который генерирует сигнал, в name аргумент. Например, укажите name как 'slexAircraftExample.Pilot.Stick' для доступа к сигналу с именем Stick это выходной сигнал Pilot блок в slexAircraftExample модель.
Для доступа к сигналам внутри составных сигналов укажите путь к сигналу через иерархию составного сигнала. Например, укажите name как 'COUNTERBUS.LIMITBUS.lower_limit' для доступа к lower_limit сигнал внутри шины LIMITBUS которая вложена в шину COUNTERBUS.
Типы данных: char | string
sigs - Сигналы, соответствующие указанному имениSimulink.sdi.Signal объект | массив Simulink.sdi.Signal объектыОдин или несколько сигналов, соответствующих указанному имени, возвращенному как Simulink.sdi.Signal объект или массив Simulink.sdi.Signal объекты.
getSignalIDsByName | Simulink.sdi.compareSignals | Simulink.sdi.deleteSignal | Simulink.sdi.getSignal
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.