exponenta event banner

Simulink. MSFcnRunTimeBlock

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

Описание

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

Вы можете также использовать случаи этого класса в программах MATLAB, чтобы получить информацию об Уровне 2 MATLAB S-Function blocks во время моделирования. Дополнительные сведения см. в разделе Доступ к данным блоков во время моделирования.

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

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

Simulink.RunTimeBlock

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

Ничего

Сводка по свойствам

Имя

Описание

AllowSignalsWithMoreThan2D

позвольте Уровню 2 MATLAB S-function использовать многомерные сигналы.

DialogPrmsTunable

Указывает, какие параметры диалогового окна S-функции можно настроить.

NextTimeHit

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

Сводка по методу

Имя

Описание

AutoRegRuntimePrms

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

AutoUpdateRuntimePrms

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

IsDoingConstantOutput

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

IsMajorTimeStep

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

IsSampleHit

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

IsSpecialSampleHit

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

RegBlockMethod

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

RegisterDataTypeFxpBinaryPoint

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

RegisterDataTypeFxpFSlopeFixexpBias

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

RegisterDataTypeFxpSlopeBias

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

SetAccelRunOnTLC

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

SetPreCompInpPortInfoToDynamic

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

SetPreCompOutPortInfoToDynamic

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

SetPreCompPortInfoToDefaults

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

SetSimViewingDevice

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

SupportsMultipleExecInstances

 

WriteRTWParam

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

Свойства

AllowSignalsWithMoreThan2D

Описание

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

Тип данных

Булев

Доступ

RW

DialogPrmsTunable

Описание

Указывает, является ли параметр диалогового окна S-функции настраиваемым. Настраиваемые параметры регистрируются как параметры времени выполнения при вызове метода AutoRegRuntivePrms. Обратите внимание, что 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-функции. Например, если описанная выше модель содержала C-MEX S-функцию со скоростями выборки 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 для C-Mex S-функций).

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

RegBlockMethod

Цель

Зарегистрируйте метод блочного обратного вызова.

Синтаксис

RegBlockMethod(methName, methHandle);

Аргументы
methName

Имя регистрируемого метода.

methHandle

Дескриптор функции MATLAB регистрируемого метода обратного вызова.

Описание

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

RegisterDataTypeFxpBinaryPoint

Цель

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

Синтаксис

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

Аргументы
isSigned

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

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

wordLength

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

fractionalLength

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

obeyDataTypeOverride

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

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

Описание

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

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

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

  • Используйте RegisterDataTypeFxpSlopesBias для регистрации типа данных с масштабированием [Уклон смещения].

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

RegisterDataTypeFxpFSlopeFixexpBias

Цель

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

Синтаксис

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

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

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

  • Используйте RegisterDataTypeFxpSlopesBias для регистрации типа данных с масштабированием [Уклон смещения].

Если зарегистрированный тип данных не является одним из встроенных типов данных 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. Он также может использоваться со всеми стандартными методами доступа типа данных, определенными для экземпляров этого класса, такими как DatataseSize.

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

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

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

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

SetAccelRunOnTLC

Цель

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

Синтаксис

SetAccelRunOnTLC(bVal);

Аргументы
bVal

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

Описание

Укажите, должен ли блок использовать свой файл TLC для создания кода, запускаемого с ускорителем. Если этот параметр '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

Цель

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

Синтаксис

SupportsMultipleExecInstances(bVal);

Аргументы
bVal

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

Описание

Укажите, может ли S-функция работать в каждой подсистеме.

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