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

Симулируйте модель, чтобы создать запуск, которая содержит записанные данные в Данных моделирования Inspector.
out = sim('ex_pulse_counter');Сигналы доступа в Данные моделирования Inspector
Для доступа к записанным данным используйте программный интерфейс Данные Моделирования Inspector. The 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'
The 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 объект. The Children значение свойства содержит два Signal объекты, которые соответствуют сигналам на следующем уровне иерархии в OUT шина.
outSig.Name
ans = 'OUT'
outChildren = outSig.Children; size(outChildren)
ans = 1×2
1 2
Потому что Signal outSig объекта соответствует составному сигналу, вы не можете построить график данных сигнала в Данные моделирования Inspector с помощью 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.