exponenta event banner

MATLABFunctionConfiguration

MATLAB Конфигурирование свойств функционального блока

Описание

MATLABFunctionConfiguration объект управляет свойствами блока MATLAB Function, такими как описание, время выборки и сценарий функции.

Совет

Функциональный блок MATLAB ® можно также сконфигурировать программно с помощью Stateflow.EMChart объект. Этот объект обеспечивает доступ к входам, выходам и свойствам блока функции MATLAB. Дополнительные сведения см. в разделе Программная настройка функционального блока MATLAB.

Создание

Каждый функциональный блок MATLAB имеет свой собственный MATLABFunctionConfiguration объект. Для доступа к этому объекту используйте get_param функция. Например, если модель myModel содержит функциональный блок MATLAB с именем MATLAB Function, введите:

config = get_param('myModel/MATLAB Function', ...
    'MATLABFunctionConfiguration');

Свойства

развернуть все

Путь блока MATLAB Function относительно модели, заданный как символьный вектор.

Типы данных: char

Код для блока MATLAB Function, заданного как символьный вектор.

Типы данных: char

Метод обновления для функционального блока MATLAB, указанный как одно из следующих значений:

  • Inherited - Входной сигнал в порту триггера определяет, когда блок обновляется во время моделирования. Сигнал от подключенного блока Simulink ® запускает порт. ЕслиUpdateMethod изменено на 'Inherited', Sample Time автоматически устанавливается в значение -1.

  • Discrete - модель Simulink генерирует неявное событие через регулярные интервалы времени для пробуждения блока со скоростью, указанной в SampleTime собственность. Другие блоки в модели могут иметь разное время выборки.

  • Continuous - Функциональный блок MATLAB обновляется только на основных временных шагах, хотя он вычисляет выходные и локальные непрерывные переменные во время малых и основных временных шагов. Если UpdateMethod изменено на 'Continuous', Sample Time автоматически устанавливается в значение 0.

При установке UpdateMethod кому Inherited или Continuous и попытаться изменить SampleTime, Simulink отображает предупреждение и игнорирует время входной выборки.

Использование пользовательского интерфейса

В диспетчере портов и данных установите метод Update на Inherited, Discrete, или Continuous

Типы данных: enumerated

Время выборки функционального блока MATLAB, заданного как символьный вектор. Время выборки допустимо только тогда, когда UpdateMethod имеет значение Discrete. Если UpdateMethod имеет значение Continuous или Inheritedлюбые изменения времени выборки игнорируются.

Использование пользовательского интерфейса

В Диспетчере портов и данных введите значение параметра Sample Time.

Типы данных: char

Описание функционального блока MATLAB, заданного как символьный вектор.

Использование пользовательского интерфейса

В окне «Ports and Data Manager» введите описание в поле «Description».

Типы данных: char

Ссылка на документацию для функционального блока MATLAB, заданного как символьный вектор.

Использование пользовательского интерфейса

В окне «Ports and Data Manager» введите ссылку в поле «Document link».

Типы данных: char

Поддерживает ли функциональный блок MATLAB данные переменного размера, указанные как числовые или логические 1 (true) или 0 (false).

Использование пользовательского интерфейса

В окне «Ports and Data Manager» выберите «Support variable-size arrays» (Поддержка массивов переменного размера), чтобы включить этот параметр.

Типы данных: logical

Поддерживает ли функциональный блок MATLAB семантику прямого прохождения, заданную как числовой или логический 1 (true) или 0 (false). Считается, что блок имеет прямой проход, если выход блока напрямую зависит от входа блока. Блок не имеет прямого прохода, если выходы блока зависят от внутренних состояний и свойств, а не от входа блока.

Использование пользовательского интерфейса

В окне «Ports and Data Manager» (Управление портами и данными) выберите «Allow direct feedthrough» (Разрешить прямой проход), чтобы включить этот параметр.

Типы данных: logical

Будут ли данные в блоке MATLAB Function насыщаться при целочисленном переполнении, указанном как числовой или логический 1 (true) или 0 (false). Если для этого параметра установлено значение trueпереполнения насыщаются минимальным или максимальным значением, которое может представлять тип данных. Если параметр имеет значение falseпереполнение переносится на соответствующее значение, которое может представлять тип данных. Если в модели возможно переполнение и необходимо применить защиту от насыщения в созданном коде, рекомендуется включить этот параметр. Если у вас есть ограничения по производительности или вы не связаны с переполнением целых чисел, вы можете отключить этот параметр.

Использование пользовательского интерфейса

В окне «Ports and Data Manager» выберите «Saturate on integer overflow», чтобы включить этот параметр.

Типы данных: logical

Унаследованные сигналы Simulink для обработки как Designer™ с фиксированной точкой fi объекты, указанные как одно из следующих значений:

  • 'FixedPoint' - Функциональный блок MATLAB рассматривает все вводы с фиксированной точкой как fi объекты.

  • 'FixedPointAndInteger' - Функциональный блок MATLAB рассматривает все фиксированные и целочисленные входы как fi объекты.

Дополнительные сведения fi объекты, см. fi Свойства объекта (Конструктор фиксированных точек).

Использование пользовательского интерфейса

В окне «Ports and Data Manager» (Порты и диспетчер данных) установите для параметра «Treat these inherit Simulink signal types» (Обрабатывать наследуемые типы сигналов sim Fixed-point или Fixed-point and & Integer.

Типы данных: enumerated

Дефолт fimath свойства блока MATLAB Function, указанные как одно из следующих значений:

  • 'SameAsMATLAB' - Использовать то же самое fimath свойства в качестве текущего значения по умолчанию fimath объект.

  • 'UserSpecified' - Использовать Fimath свойство для указания значения по умолчанию fimath объект.

Дополнительные сведения о математике с фиксированной точкой см. в разделе fimath (Конструктор фиксированных точек).

Использование пользовательского интерфейса

В диспетчере портов и данных установите для параметра MATLAB Fimath значение Same as MATLAB или Specify Other.

Типы данных: enumerated

Дефолт fimath объект, указанный как символьный вектор. Когда FimathMode свойство для функционального блока MATLAB 'UserSpecified', это свойство можно использовать для:

  • Введите выражение, которое создает fimath объект.

  • Введите имя переменной для fimath в рабочей области MATLAB или модели.

Дополнительные сведения fimath свойства объекта см. в разделе Свойства объекта fimath (Конструктор фиксированных точек).

Использование пользовательского интерфейса

В диспетчере портов и данных установите для параметра MATLAB Fimath значение Specify Other и введите fimath выражение.

Типы данных: char

Функции объекта

openReportОткрыть функциональный отчет MATLAB
closeReportЗакрытие отчета о функциях MATLAB
getReportСоздание отчета о функциях MATLAB

Примеры

свернуть все

Доступ к MATLABFunctionConfiguration объект для функционального блока MATLAB в модели call_stats_block1 описано в разделе Создание пользовательской функциональности с использованием функционального блока MATLAB.

config = get_param('call_stats_block1/MATLAB Function', ...
    'MATLABFunctionConfiguration');

Установка значения Description собственность.

config.Description = 'Calculate the mean and standard deviation for a vector of values.';

Доступ к MATLABFunctionConfiguration объект для функционального блока MATLAB в модели call_stats_block1 описано в разделе Создание пользовательской функциональности с использованием функционального блока MATLAB.

config = get_param('call_stats_block1/MATLAB Function', ...
    'MATLABFunctionConfiguration');

Создать MATLABFunctionReport объект для функционального блока MATLAB.

report = getReport(config);

Доступ к coder.Function объектов в отчете.

functions = report.Functions;

Создайте пользовательский отчет, в котором перечислены функции и переменные в блоке MATLAB Function.

for i = 1:numel(functions)
    fprintf('Function %s uses these variables:\n',functions(i).Name)
    variables = functions(i).Variables;
    for j = 1:numel(variables)
        fprintf('%d. %s -- %s\n',j,variables(j).Name,variables(j).Scope)
    end
    fprintf('\n')
end
Function stats uses these variables:
1. mean -- Output
2. stdev -- Output
3. vals -- Input
4. len -- Local

Function avg uses these variables:
1. mean -- Output
2. array -- Input
3. size -- Input
Представлен в R2019b