Simulink.MSFcnRunTimeBlock

Получите информацию о Блоке Level-2 MATLAB S-function во время выполнения

Описание

Этот класс позволяет использовать Level-2 MATLAB® S-функция или другая программа MATLAB для получения информации от Simulink® программное обеспечение и предоставление информации программному обеспечению Simulink о Блок Level-2 MATLAB S-function. Программа Simulink создает образец этого класса для каждого Блок Level-2 MATLAB S-function в модели. Программное обеспечение Simulink передает объект в методы коллбэка Level-2 MATLAB S-функций, когда он обновляет или имитирует модель, позволяя методам коллбэка получать и предоставлять информацию, связанную с блоками, программному обеспечению Simulink. Смотрите Запись Level-2 MATLAB S-Functions для получения дополнительной информации.

Можно также использовать образцы этого класса в программах MATLAB, чтобы получить информацию о Блоки Level-2 MATLAB S-function во время симуляции. Для получения дополнительной информации смотрите Access Block Data во время симуляции.

Шаблон Level-2 S-функции MATLAB matlabroot/toolbox/simulink/blocks/msfuntmpl.m показывает, как использовать несколько следующих методов.

Родительский класс

Simulink.RunTimeBlock

Производные классы

Ничего

Сводные данные свойств

Имя

Описание

AllowSignalsWithMoreThan2D

включите Level-2 S-функцию MATLAB для использования многомерных сигналов.

DialogPrmsTunable

Определяет, какие из диалоговых параметров S-функции являются настраиваемыми.

NextTimeHit

Время следующего попадания выборки для переменного шага расчета S-функций.

Сводные данные по методам

Имя

Описание

AutoRegRuntimePrms

Зарегистрируйте параметры диалогового окна этого блока как параметры во время выполнения.

AutoUpdateRuntimePrms

Обновите параметры во время выполнения этого блока.

IsDoingConstantOutput

Определите, является ли текущий этап симуляции постоянным этапом шага расчета.

IsMajorTimeStep

Определите, является ли текущий временной шаг симуляции основным временным шагом.

IsSampleHit

Определите, является ли текущее время симуляции временем, в котором активна задача, обрабатываемая этим блоком.

IsSpecialSampleHit

Определите, является ли текущее время симуляции таким, при котором несколько задач, обрабатываемых этим блоком, активны.

RegBlockMethod

Зарегистрируйте метод коллбэка для этого блока.

RegisterDataTypeFxpBinaryPoint

Зарегистрируйте тип данных с фиксированной точкой с двоичным масштабированием только для точки.

RegisterDataTypeFxpFSlopeFixexpBias

Регистрируйте тип данных с фиксированной точкой с масштабированием [Slope Bias], заданным с точки зрения дробного наклона, фиксированной экспоненты и смещения.

RegisterDataTypeFxpSlopeBias

Зарегистрируйте тип данных с масштабированием [Смещение уклона].

SetAccelRunOnTLC

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

SetPreCompInpPortInfoToDynamic

Установите предварительно скомпилированные атрибуты входных портов этого блока, которые будут унаследованы.

SetPreCompOutPortInfoToDynamic

Установите предварительно скомпилированные атрибуты выходных портов этого блока, которые будут унаследованы.

SetPreCompPortInfoToDefaults

Установите предварительно скомпилированные атрибуты портов этого блока на значения по умолчанию.

SetSimViewingDevice

Укажите, является ли блок средством просмотра.

SupportsMultipleExecInstances

 

WriteRTWParam

Запись информации о пользовательских параметрах в файл Simulink Coder™.

Свойства

AllowSignalsWithMoreThan2D

Описание

Разрешите Level-2 S-функциям MATLAB использовать многомерные сигналы. Вы должны задать AllowSignalsWithMoreThan2D свойство в setup способ.

Тип данных

Булев

Доступ

RW

DialogPrmsTunable

Описание

Определяет, является ли диалоговый параметр S-функции настраиваемым. Настраиваемые параметры регистрируются как параметры во время выполнения при вызове метода AutoRegRuntimePrms. Обратите внимание, что SimOnlyTunable параметры не регистрируются как параметры во время выполнения. Например, следующие линии инициализируют три диалоговых параметра, где первый настраивается, второй в не настраивается, а третий настраивается только во время симуляции.

block.NumDialogPrms     = 3;
block.DialogPrmsTunable = {'Tunable','Nontunable','SimOnlyTunable'};

Тип данных

массив

Доступ

RW

NextTimeHit

Описание

Время следующего попадания выборки для переменных S-функций шаг расчета.

Тип данных

дважды

Доступ

RW

Методы

AutoRegRuntimePrms

Цель

Зарегистрируйте настраиваемые параметры диалогового окна блока как параметры во время выполнения.

Синтаксис

AutoRegRuntimePrms;

Описание

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

AutoUpdateRuntimePrms

Цель

Обновите параметры во время выполнения блока.

Синтаксис

AutoUpdateRuntimePrms;

Описание

Автоматическое обновление значений параметров во время выполнения во время вызова ProcessParameters.

Смотрите S-функцию matlabroot/toolbox/simulink/simdemos/simfeatures/adapt_lms.m в модели Simulink sldemo_msfcn_lms например, пример.

IsDoingConstantOutput

Цель

Определите, находится ли это в стадии постоянного шага расчета симуляции.

Синтаксис

bVal = IsDoingConstantOutput;

Описание

Возвраты true, если это постоянная ступень шага расчета симуляции, т.е. стадия в начале симуляции, где программное обеспечение Simulink вычисляет значения выходов блоков, которые не могут измениться во время симуляции (см. «Постоянный Шаг расчета»). Используйте этот метод в Outputs метод S-функции с основанными на портах шагами расчета, чтобы избежать ненужных вычислений выходов портов, которые имеют постоянный шаг расчета, т.е. [inf, 0].

function Outputs(block)
.
.
  if block.IsDoingConstantOutput
    ts = block.OutputPort(1).SampleTime;
    if ts(1) == Inf
    %% Compute port's output.
    end
  end
.
.
%% end of Outputs

Дополнительные сведения см. в разделе «Определение шагов расчета на основе портов».

IsMajorTimeStep

Цель.

Определите, является ли текущий временной шаг основным или незначительным временным шагом.

Синтаксис

bVal = IsMajorTimeStep;

Описание

Возвращает true, если текущий временной шаг является основным временным шагом; false, если это незначительный временной шаг. Этот метод можно вызвать только из Outputs или Update методы.

IsSampleHit

Цель

Определите, является ли текущее время симуляции временем, в котором активна задача, обрабатываемая этим блоком.

Синтаксис

bVal = IsSampleHit(stIdx);

Аргументы
stIdx

Глобальный индекс запрашиваемого шага расчета.

Описание

Использование в Outputs или Update блокировать методы, когда S-функция MATLAB имеет несколько шагов расчета, чтобы определить, произошло ли попадание выборки в stIdx. Индекс шага расчета stIdx - глобальный индекс для модели Simulink. Например, рассмотрим модель, которая содержит три частоты дискретизации 0,1, 0,2 и 0,5 и блок S-функции MATLAB, который содержит две скорости 0,2 и 0,5. В S-функции MATLAB, block.IsSampleHit(0) возвращает true для скорости 0.1, а не для скорости 0.2.

Этот метод блока похож на ssIsSampleHit однако для S-функций C-MeX ssIsSampleHit возвращает значения, основанные только на шагах расчета, содержащихся в S-функции. Для примера, если описанная выше модель содержала S-функцию C-MeX со скоростями дискретизации 0,2 и 0,5, ssIsSampleHit(S,0,tid) возвращает true для скорости 0,2.

Используйте основанные на портах шаги расчета, чтобы избежать использования глобального индекса расчета для многоскоростных систем (см Simulink.BlockPortData).

IsSpecialSampleHit

Цель

Определите, является ли текущее время симуляции таким, при котором несколько задач, реализованных этим блоком, активны.

Синтаксис

bVal = IsSpecialSampleHit(stIdx1,stIdx1);

Аргументы
stIdx1

Индекс шага расчета первой запрашиваемой задачи.

stIdx2

Индекс шага расчета второй запрашиваемой задачи.

Описание

Использование в Outputs или Update блочные методы для обеспечения валидности данных, совместно используемых несколькими задачами, выполняемыми с различными скоростями. Возвраты true, если выборка столкновение произошла в stIdx1 и выборка столкновение также произошла в stIdx2 в этом же временном шаге (аналогично ssIsSpecialSampleHit для S-функций C-Mex).

При использовании IsSpecialSampleHit макрос, более медленный шаг расчета должно быть целым числом, кратным более быстрому шагу расчета.

RegBlockMethod

Цель

Зарегистрируйте метод блока коллбэка.

Синтаксис

RegBlockMethod(methName, methHandle);

Аргументы
methName

Имя метода, подлежащего регистрации.

methHandle

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

Описание

Регистрирует блок коллбэка метод, заданный methName и methHandle. Используйте этот метод в setup функция Level-2 S-функции MATLAB для определения методов коллбэка блоков, которые реализует S-функция.

RegisterDataTypeFxpBinaryPoint

Цель

Зарегистрируйте тип данных с фиксированной точкой с двоичным масштабированием только для точки.

Синтаксис

dtID = RegisterDataTypeFxpBinaryPoint(isSigned, wordLength, fractionalLength, obeyDataTypeOverride);

Аргументы
isSigned

true если тип данных подписан.

false если тип данных не подписан.

wordLength

Общее количество битов в типе данных, включая любой бит знака.

fractionalLength

Количество бит в типе данных справа от двоичной точки.

obeyDataTypeOverride

true указывает, что необходимо соблюдать параметр «Переопределение типа данных» для подсистемы. В зависимости от значения переопределения типа данных, полученный тип данных может быть Double, Single, ScaledDoubleили тип данных с фиксированной точкой, заданный другими аргументами функции.

false указывает, что параметр «Переопределение типа данных» следует игнорировать.

Описание

Этот метод регистрирует тип данных с фиксированной точкой в программном обеспечении Simulink и возвращает идентификатор типа данных. Идентификатор типа данных может использоваться, чтобы задать типы данных входов и выходных портов, параметры выполнения и состояния DWork. Он также может использоваться со всеми стандартными методами доступа к типам данных, определенными для образцов этого класса, такими как DatypeSize.

Используйте эту функцию, если вы хотите зарегистрировать тип данных с фиксированной точкой с двоичным масштабированием только для точки. Кроме того, можно использовать одну из других функций регистрации с фиксированной точкой:

  • Используйте RegisterDataTypeFxpFSlopeFixexpBias, чтобы зарегистрировать тип данных с масштабированием [Смещение уклона] путем определения размера слова, дробного наклона, фиксированной экспоненты и смещения.

  • Используйте RegisterDataTypeFxpSlopeBias, чтобы зарегистрировать тип данных с масштабированием [Смещение уклона].

Если зарегистрированный тип данных не является одним из встроенных типов данных Simulink, выдается лицензия Fixed-Point Designer™.

RegisterDataTypeFxpFSlopeFixexpBias

Цель

Регистрируйте тип данных с фиксированной точкой с масштабированием [Slope Bias], заданным с точки зрения дробного наклона, фиксированной экспоненты и смещения

Синтаксис

dtID = RegisterDataTypeFxpFSlopeFixexpBias(isSigned, wordLength, fractionalSlope, fixedexponent, bias, obeyDataTypeOverride);

Аргументы
isSigned

true если тип данных подписан.

false если тип данных не подписан.

wordLength

Общее количество битов в типе данных, включая любой бит знака.

fractionalSlope

Дробный уклон типа данных.

fixedexponent

экспонента наклона типа данных.

bias

Смещение масштабирования типа данных.

obeyDataTypeOverride

true указывает, что необходимо соблюдать параметр «Переопределение типа данных» для подсистемы. В зависимости от значения переопределения типа данных, полученный тип данных может быть True Doubles, True Singles, ScaledDoubleили тип данных с фиксированной точкой, заданный другими аргументами функции.

false указывает, что параметр «Переопределение типа данных» следует игнорировать.

Описание

Этот метод регистрирует тип данных с фиксированной точкой в программном обеспечении Simulink и возвращает идентификатор типа данных. Идентификатор типа данных может использоваться, чтобы задать типы данных входов и выходных портов, параметры выполнения и состояния DWork. Он также может использоваться со всеми стандартными методами доступа к типам данных, определенными для образцов этого класса, такими как DatypeSize.

Используйте эту функцию, если вы хотите зарегистрировать тип данных с фиксированной точкой, задав размер слова, дробный наклон, фиксированную экспоненту и смещение. Кроме того, можно использовать одну из других функций регистрации с фиксированной точкой:

  • Используйте RegisterDataTypeFxpBinaryPoint, чтобы зарегистрировать тип данных с двоичным масштабированием только по точке.

  • Используйте RegisterDataTypeFxpSlopeBias, чтобы зарегистрировать тип данных с масштабированием [Смещение уклона].

Если зарегистрированный тип данных не является одним из встроенных типов данных Simulink, выдается лицензия Fixed-Point Designer.

RegisterDataTypeFxpSlopeBias

Цель

Зарегистрируйте тип данных с масштабированием [Смещение уклона].

Синтаксис

dtID = RegisterDataTypeFxpSlopeBias(isSigned, wordLength, totalSlope, bias, obeyDataTypeOverride);

Аргументы
isSigned

true если тип данных подписан.

false если тип данных не подписан.

wordLength

Общее количество битов в типе данных, включая любой бит знака.

totalSlope

Общий наклон масштабирования типа данных.

bias

Смещение масштабирования типа данных.

obeyDataTypeOverride

true указывает, что необходимо соблюдать параметр «Переопределение типа данных» для подсистемы. В зависимости от значения переопределения типа данных, полученный тип данных может быть True Doubles, True Singles, ScaledDoubleили тип данных с фиксированной точкой, заданный другими аргументами функции.

false указывает, что параметр «Переопределение типа данных» следует игнорировать.

Описание

Этот метод регистрирует тип данных с фиксированной точкой в программном обеспечении Simulink и возвращает идентификатор типа данных. Идентификатор типа данных может использоваться, чтобы задать типы данных входов и выходных портов, параметры выполнения и состояния DWork. Он также может использоваться со всеми стандартными методами доступа к типам данных, определенными для образцов этого класса, такими как DatypeSize.

Используйте эту функцию, если необходимо зарегистрировать тип данных с фиксированной точкой с масштабированием [Смещение уклона]. Кроме того, можно использовать одну из других функций регистрации с фиксированной точкой:

  • Используйте RegisterDataTypeFxpBinaryPoint, чтобы зарегистрировать тип данных с двоичным масштабированием только по точке.

  • Используйте RegisterDataTypeFxpFSlopeFixexpBias для регистрации типа данных путем определения размера слова, дробного наклона, фиксированной экспоненты и смещения

Если зарегистрированный тип данных не является одним из встроенных типов данных Simulink, выдается лицензия Fixed-Point Designer.

SetAccelRunOnTLC

Цель

Укажите, использовать ли файл блока для генерации кода для режима Accelerator программного обеспечения Simulink.

Синтаксис

SetAccelRunOnTLC(bVal);

Аргументы
bVal

Может быть 'true' (используйте TLC-файл) или 'false' (выполните блок в интерпретированном режиме).

Описание

Укажите, должен ли блок использовать свой файл TLC для генерации кода, который запускается с Accelerator. Если эта опция 'false'блок запускается в интерпретированном режиме. Смотрите S-функцию msfcn_times_two.m в модели Simulink msfcndemo_timestwo например, пример.

Примечание

Режим JIT Accelerator по умолчанию не поддерживает вставку пользовательских функций TLC S-Functions. Для получения дополнительной информации см. раздел «Как работают режимы ускорения и управление выполнением S-функций».

SetPreCompInpPortInfoToDynamic

Цель

Установите предварительно скомпилированные атрибуты входных портов этого блока, которые будут унаследованы.

Синтаксис

SetPreCompInpPortInfoToDynamic;

Описание

Инициализируйте скомпилированную информацию (размерности, тип данных, сложность и режим дискретизации) входных портов этого блока, которые будут унаследованы. Смотрите S-функцию matlabroot/toolbox/simulink/simdemos/simfeatures/adapt_lms.m в модели Simulink sldemo_msfcn_lms например, пример.

SetPreCompOutPortInfoToDynamic

Цель

Установите предварительно скомпилированные атрибуты выходных портов этого блока, которые будут унаследованы.

Синтаксис

SetPreCompOutPortInfoToDynamic;

Описание

Инициализируйте скомпилированную информацию (размерности, тип данных, сложность и режим дискретизации) выходных портов блока, которые будут унаследованы. Смотрите S-функцию matlabroot/toolbox/simulink/simdemos/simfeatures/adapt_lms.m в модели Simulink sldemo_msfcn_lms например, пример.

SetPreCompPortInfoToDefaults

Цель

Установите предварительно скомпилированные атрибуты портов этого блока на значения по умолчанию.

Синтаксис

SetPreCompPortInfoToDefaults;

Описание

Инициализируйте скомпилированную информацию (размерности, тип данных, сложность и режим дискретизации) портов блока до значений по умолчанию. По умолчанию порт принимает действительный скалярный дискретизированный сигнал с типом данных double.

SetSimViewingDevice

Цель

Укажите, является ли этот блок средством просмотра.

Синтаксис

SetSimViewingDevice(bVal);

Аргументы
bVal

Может быть 'true' (является средством просмотра) или 'false' (не является средством просмотра).

Описание

Укажите, является ли блок средством просмотра/областью видимости. Если этот флаг задан, блок будет использоваться только во время симуляции и автоматически упирается в сгенерированный код.

SupportsMultipleExecInstances

Цель

Укажите, поддерживает ли Подсистема For Each S-функцию внутри нее.

Синтаксис

SupportsMultipleExecInstances(bVal);

Аргументы
bVal

Может быть 'true' (S-функция поддерживается) или 'false' (S-функция не поддерживается).

Описание

Задайте, может ли S-функция работать в рамках For Each Subsystem.

WriteRTWParam

Цель

Запишите пользовательский параметр в информационный файл Simulink Coder, используемый для генерации кода.

Синтаксис

WriteRTWParam(pType, pName, pVal)

Аргументы
pType

Тип записываемого параметра. Допустимые значения 'string' и 'matrix'.

pName

Имя записываемого параметра.

pVal

Значение параметра, который будет записан.

Описание

Использование в WriteRTW метод S-функции MATLAB для записи пользовательских параметров. Эти параметры обычно являются настройками, используемыми для определения того, как код должен быть сгенерирован в файле TLC для S-функции. Смотрите S-функцию matlabroot/toolbox/simulink/simdemos/simfeatures/adapt_lms.m в модели Simulink sldemo_msfcn_lms например, пример.

Представлено до R2006a