exponenta event banner

getRootInportMap

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

Синтаксис

map = getRootInportMap('Empty');
map = getRootInportMap(model,mdl,Name,Value);
map = getRootInportMap(inputmap,map,Name,Value);

Описание

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, для примера пользовательского алгоритма отображения.

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

Empty

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

По умолчанию: нет

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

'model'

Имя модели, которая будет связана с корневой картой ввода.

По умолчанию: Нет

'blockName'

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

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

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

По умолчанию: Нет

'signalName'

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

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

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

По умолчанию: Нет

'inputmap'

Имя объекта сопоставления для переопределения.

По умолчанию: Нет

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

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