Simulink. MSFcnRunTimeBlock

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

Описание

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

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

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

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

Simulink.RunTimeBlock

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

'none'

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

Имя

Описание

AllowSignalsWithMoreThan2D

включите Уровню 2 S-функцию MATLAB, чтобы использовать многомерные сигналы.

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

Описание

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

Тип данных

Булевская переменная

Доступ

RW

DialogPrmsTunable

Описание

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

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

Тип данных

массив

Доступ

RW

NextTimeHit

Описание

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

Тип данных

'double'

Доступ

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, если шаг текущего времени является главным временным шагом; ложь, если это - незначительный временной шаг. Этот метод может быть назван только из методов Update или Outputs.

IsSampleHit

Цель

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

Синтаксис

bVal = IsSampleHit(stIdx);

Аргументы

stIdx

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

Описание

Используйте в методах блока Outputs или Update, когда S-функция MATLAB имеет несколько шагов расчета, чтобы определить, произошел ли демонстрационный хит в stIdx. Индекс шага расчета stIdx является глобальным индексом для модели Simulink. Например, рассмотрите модель, которая содержит три частоты дискретизации из 0,1, 0.2, и 0.5, и Блок s-function 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 Уровня 2 S-функция MATLAB, чтобы задать методы коллбэка блока, которые реализует S-функция.

RegisterDataTypeFxpBinaryPoint

Цель

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

Синтаксис

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

Аргументы

isSigned

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

false, если тип данных без знака.

wordLength

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

fractionalLength

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

obeyDataTypeOverride

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

false указывает, что установка Data Type Override должна быть проигнорирована.

Описание

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

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

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

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

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

RegisterDataTypeFxpFSlopeFixexpBias

Цель

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

Синтаксис

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

Аргументы

isSigned

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

false, если тип данных без знака.

wordLength

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

fractionalSlope

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

fixedexponent

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

bias

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

obeyDataTypeOverride

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

false указывает, что установка Data Type Override должна быть проигнорирована.

Описание

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

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

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

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

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

RegisterDataTypeFxpSlopeBias

Цель

Укажите тип данных с [Наклонное Смещение] масштабирование.

Синтаксис

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

Аргументы

isSigned

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

false, если тип данных без знака.

wordLength

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

totalSlope

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

bias

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

obeyDataTypeOverride

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

false указывает, что установка Data Type Override должна быть проигнорирована.

Описание

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

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

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

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

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

SetAccelRunOnTLC

Цель

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

Синтаксис

SetAccelRunOnTLC(bVal);

Аргументы

bVal

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

Описание

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

Примечание

Режим Accelerator JIT по умолчанию не поддерживает встраивание написанных пользователем S-функций TLC. Смотрите Как Ускоряющая работа Режимов и Выполнение 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