getRootInportMap

Создайте пользовательский объект, чтобы сопоставить сигналы с импортом корневого уровня

Синтаксис

сопоставьте = getRootInportMap ('Пустой');
сопоставьте = getRootInportMap (модель, mdl, Имя, Значение);
сопоставьте = getRootInportMap (inputmap, карта, Имя, Значение);

Описание

map = getRootInportMap('Empty'); создает пустой объект карты, карту. Используйте этот объект карты настроить пустой пользовательский объект отображения. Загрузите модель перед использованием этой функции. Если вы не загружаете модель сначала, функция загружает модель, чтобы сделать отображение и затем закрывает модель впоследствии.

map = getRootInportMap(model,mdl,Name,Value); создает объект карты для model, mdl, с именами блока и заданными именами сигнала. Загрузите модель перед использованием этой функции. Если вы не загружаете модель сначала, функция загружает модель, чтобы сделать отображение и затем закрывает модель впоследствии. Чтобы создать список, разделенный запятыми переменных, чтобы сопоставить от этого объекта, используйте функцию getInputString.

map = getRootInportMap(inputmap,map,Name,Value); заменяет объект отображения с заданным свойством. Можно заменить только свойства model, blockName и signalName. Загрузите модель перед использованием этой функции. Если вы не загружаете модель сначала, функция загружает модель, чтобы сделать отображение и затем закрывает модель впоследствии. Чтобы создать список, разделенный запятыми переменных, чтобы сопоставить от этого объекта, используйте функцию getInputString.

Используйте функцию getRootInportMap при создании пользовательского режима отображения, чтобы сопоставить данные с импортом корневого уровня. Смотрите файл в качестве примера BlockNameIgnorePrefixMap.m, расположенный в matlabroot/help/toolbox/simulink/examples, для примера пользовательского алгоритма отображения.

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

Пустой

Создайте пустой объект карты.

Значение по умолчанию: 'none'

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'model'

Имя модели, чтобы сопоставить с корневой картой импорта.

Значение по умолчанию: 'none'

'blockName'

Имена блока входных портов корневого уровня. Инструмент присваивает данные портам согласно имени корневого-inport блока. Если инструмент находит элемент данных, имя которого совпадает с именем корневого-inport блока, это сопоставляет данные с соответствующим портом.

Значение для этого аргумента может быть:

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

Значение по умолчанию: 'none'

'signalName'

Сигнал называет, чтобы быть сопоставленным. Инструмент присваивает данные портам согласно имени сигнала на порте. Если инструмент находит элемент данных, имя которого совпадает с именем сигнала в порте, это сопоставляет данные с соответствующим портом.

Значение для этого аргумента может быть:

Имя сигнала, которое будет сопоставлено.
Массив ячеек, содержащий несколько имен сигнала сигналов, которые будут сопоставлены.

Значение по умолчанию: 'none'

'inputmap'

Имя отображения объекта заменить.

Значение по умолчанию: 'none'

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

map

Пользовательский объект, который можно использовать, чтобы сопоставить данные с входным портом корневого уровня. Чтобы создать список, разделенный запятыми переменных, чтобы сопоставить от этого объекта, используйте функцию getInputString.

Примеры

свернуть все

Создайте пустой пользовательский объект отображения.

map = getRootInportMap('Empty')
map = 

  1x0 InputMap array with properties:

    Type
    DataSourceName
    Destination

Создайте простой объект отображения использование объекта MATLAB® временных рядов.

Создайте объект временных рядов, signalIn1.

signalIn1 = timeseries((1:10)')
Common Properties:
            Name: 'unnamed'
            Time: [10x1 double]
        TimeInfo: [1x1 tsdata.timemetadata]
            Data: [10x1 double]
        DataInfo: [1x1 tsdata.datametadata]

Создайте объект отображения для объекта временных рядов для модели, ex_minportsOnlyModel.

modelFile = fullfile(matlabroot,'help','toolbox','simulink',...
'examples','ex_minportsOnlyModel');
load_system(modelFile);
map = getRootInportMap('model','ex_minportsOnlyModel',...
'blockName','In1','signalname','signalIn1')
map = 

  InputMap with properties:

              Type: 'Inport'
    DataSourceName: 'signalIn1'
       Destination: [1x1 Simulink.iospecification.Destination]

Создайте объект отображения использование векторов имен блока и имен сигнала для образцового ex_minportsOnlyModel.

Создайте объект отображения векторов.

modelFile = fullfile(matlabroot,'help','toolbox','simulink',...
'examples','ex_minportsOnlyModel');
load_system(modelFile);
map = getRootInportMap('model','ex_minportsOnlyModel',...
'blockName',{'In1' 'In2'}, ...
'signalname',{'signalIn1' 'signalIn2'})
map = 

  1x2 InputMap array with properties:

    Type
    DataSourceName
    Destination

Создайте объект отображения, который содержит сигнал var2, затем замените var2 с var1.

Создайте объект отображения векторов.

% Load the model and define variables
modelFile = fullfile(matlabroot,'help','toolbox','simulink',...
'examples','ex_minportsOnlyModel');
load_system(modelFile);
modelValue = 'ex_minportsOnlyModel';
blockNameValue = 'In1';
signalNameValue = 'var2';
portType = 'Inport';

% Define var1 and override var2 with var1
signalNameToOverload = 'var1';
mapToOverload = getRootInportMap('model',modelValue,...
'blockName',blockNameValue,...
 'signalName',signalNameToOverload)
mapToOverload = 

  InputMap with properties:

              Type: 'Inport'
    DataSourceName: 'var1'
       Destination: [1x1 Simulink.iospecification.Destination]

Советы

  • Загрузите модель прежде, чем запустить эту функцию.

  • Если ваш пользовательский режим отображения, подобный существующему режиму отображения Simulink®, рассмотрите использование функции getSlRootInportMap вместо этого.

Представленный в R2012b

Была ли эта тема полезной?