Различные функции

Lib Addto System Custom Includes (system, inc File Name

)

Для использования встроенными S-функциями в подсистеме. Добавляет #include файл в файл системного заголовка.

Вызовите эту функцию из BlockInstanceSetup (блок, система) метода блока, чтобы различные S-функции могли включать различные заголовочные файлы. Укажите файл заголовка без каких-либо скобок (для примера, "myInclude.h") и включить файл заголовка системы в скобки (для примера, "<sysinclude.h>").

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

Пример

%function BlockInstanceSetup(block, system) Output
  %assign incFileName = "sfun_custincl.h"
  %<LibAddToSystemCustomIncludes(system, incFileName)>
%endfunction

%function Outputs(block, system) Output
%endfunction

См. LibAddToSystemCustomIncludes в commonhdrlib.tlc.

LibBlockExecuteFcnCall (блок, callIdx

)

Для использования встроенными S-функциями с выходами вызова функции. Возвращает строку для вызова подсистемы вызова функций с необходимыми аргументами или генерирует код подсистемы на месте (inlined).

Пример

%foreach callIdx = NumSFcnSysOutputCalls
  %if LibIsEqual(SFcnSystemOutputCall[callIdx].BlockToCall,...
   "unconnected")
    %continue
  %endif
%% call the downstream system
  %<LibBlockExecuteFcnCall(block, callIdx)>\
%endforeach

См. LibBlockExecuteFcnCall в syslib.tlc.

LibBlockExecuteFcnDisable (блок, callIdx

)

Для использования встроенными функциями S-Functions, чтобы вызвать функцию function-call system disable. Возвращает строку для вызова функции отключения подсистемы вызова функций с необходимыми аргументами или для вызова сгенерированного кода отключения подсистемы (inlined).

Пример

%foreach callIdx = NumSFcnSysOutputCallDsts
  %if LibIsEqual(SFcnSystemOutputCall[callIdx].BlockToCall, "unconnected")
   %continue
  %endif
%% call the downstream system
  %<LibBlockExecuteFcnDisable(block, callIdx)>\
%endforeach

См. LibBlockExecuteFcnDisable в syslib.tlc.

LibBlockExecuteFcnEnable (блок, callIdx

)

Для использования встроенными S-функциями, чтобы вызвать функцию function-call system enable. Возвращает строку для вызова функции включения подсистемы вызова функций с необходимыми аргументами или сгенерированного кода включения подсистемы (inlined).

Пример

%foreach callIdx = NumSFcnSysOutputCallDsts
  %if LibIsEqual(SFcnSystemOutputCall[callIdx].BlockToCall, "unconnected")
   %continue
  %endif
%% call the downstream system
  %<LibBlockExecuteFcnEnable(block, callIdx)>\
%endforeach

См. LibBlockExecuteFcnEnable в syslib.tlc.

LibBlockInputSignalAliasedThruDataTypeId (idx

)

Верните идентификатор типа данных, на который подается входной сигнал.

См. Lib Block Input Signal Aliased Thru Data Type Id в <reservedrangesplaceholder0>.

LibBlockOutputSignalAliasedThruDataTypeId (idx

)

Верните идентификатор типа данных, после которого выходной сигнал сглаживается.

См. LibBlockOutputSignalAliasedThruDataTypeId в dtypelib.tlc

Lib Gen Const Vect With Init (данные, type Id, var Id

)

Возвращает инициализированную статическую постоянную переменную строку формы:

static const typeName varId[] = { data };

The typeName сгенерирован из typeId, который может быть одним из

tSS_DOUBLE, tSS_SINGLE, tSS_BOOLEAN, tSS_INT8, tSS_UINT8, 
tSS_INT16, tSS_UINT16, tSS_INT32, tSS_UINT32

Входной параметр данных должен быть числовым скаляром или вектором и должен быть конечным (нет Inf, -Inf, или NaN значения).

См. LibGenConstVectWithInit в utillib.tlc.

LibGetBlockAttribute (блок, attr

)

Получите значение поля в блочной записи.

Синтаксис

%if LibIsEqual(LibGetBlockAttribute(ssBlock,"MaskType"), ... 
  "Task Block")
  %assign isTaskBlock = 1
%endif

Возвраты

Возвращает значение атрибута (поля) или пустую строку, если она не существует.

См. LibGetBlockAttribute в asynclib.tlc.

LibGetCallerClockTickCounter (sfcnBlock

)

Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять своим временем. LibGetCallerClockTickCounter используется для доступа к счетчику времени восходящей асинхронной задачи. Это предпочтительно, когда управляется другой асинхронной частотой (например, блок «Прерывание», управляющий блоком Task), потому что используется время, когда произошло прерывание, а не время, когда задаче разрешено запускаться.

Возвраты

Возвращает строку для переменной счетчика для асинхронной задачи в восходящем направлении.

См. LibGetCallerClockTickCounter в asynclib.tlc.

LibGetCallerClockTickCounterHigh (sfcnBlock

)

Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять своим временем. LibGetCallerClockTickCounterHigh используется для доступа к высокому слову счетчика времени восходящей асинхронной задачи. Это предпочтительно, когда управляется другой асинхронной скоростью (для примера, блок «Прерывание» управляет блоком Task), потому что используется время, когда произошло прерывание, а не время, когда Задаче разрешено запускаться.

Возвраты

Возвращает строку для высокого слова переменной счетчика для восходящей асинхронной задачи.

См. LibGetCallerClockTickCounterHigh в asynclib.tlc.

LibGetDataTypeComplexNameFromId (id

)

Возвращает имя комплексных данных, соответствующего идентификатору типа данных. Для примера, если id==tSS_DOUBLE затем LibGetDataTypeComplexNameFromId возвращает "creal_T".

См. LibGetDataTypeComplexNameFromId в dtypelib.tlc.

LibGetDataTypeEnumFromId (id

)

Возвращает тип данных enum соответствующий идентификатору типа данных. Для примера, если id==tSS_DOUBLE, затем enum является "SS_DOUBLE". Если id не соответствует встроенному типу данных, LibGetDataTypeEnumFromId возвращает "".

См. LibGetDataTypeEnumFromId в dtypelib.tlc.

Lib Get Data Type Id Aliased Thru To From Id (id

)

Возвращает тип данных IdAliasedThruTo который соответствует идентификатору типа данных. Для примера, если yourfloat является псевдонимом для myfloat, и myfloat является псевдонимом для double, затем IdAliasedThruTo для обоих yourfloat и myfloat 0 (поскольку идентификатор для double 0).

См. LibGetDataTypeIdAliasedThruToFromId в dtypelib.tlc.

LibGetDataTypeIdAliasedToFromId (id

)

Возвращает тип данных IdAliasedTo который соответствует идентификатору типа данных. Для примера, если yourfloat является псевдонимом для myfloat, и myfloat является псевдонимом для double, затем IdAliasedTo для yourfloat - идентификатор для myfloat, и IdAliasedTo для myfloat 0 (поскольку идентификатор для double 0).

См. LibGetDataTypeIdAliasedToFromId в dtypelib.tlc.

LibGetDataTypeIdResolvesToFromId (id

)

Возвращает тип данных IdResolvesTo который соответствует идентификатору типа данных.

См. LibGetDataTypeIdResolvesToFromId в dtypelib.tlc.

LibGetDataTypeNameFromId (id

)

Возвращает имя типа данных, которое соответствует типу данных ID.

См. LibGetDataTypeNameFromId в dtypelib.tlc.

LibGetDataTypeSLSizeFromId (id

)

Верните размер (как Simulink® знает это), соответствующий идентификатору типа данных.

См. LibGetDataTypeSLSizeFromId в dtypelib.tlc.

LibGetDataTypeStorageIdFromId (id

)

Возвращает тип данных StorageId соответствующий идентификатору типа данных. Например, если входной идентификатор является идентификатором для 16-битного типа данных с фиксированной точкой со знаком, то StorageId соответствует int16.

См. LibGetDataTypeStorageIdFromId в dtypelib.tlc.

LibGetFcnCallBlock (sfcnblock, callIdx

)

Учитывая Блок s-function и индекс вызова, верните запись блока для нисходящего блока подсистемы вызова функций.

Синтаксис

 %assign ssBlock = LibGetFcnCallBlock(block,0)

Возвраты

Запись блока нисходящей подсистемы вызова функций соединяется с этим элементом (индекс вызова).

См. LibGetFcnCallBlock в asynclib.tlc.

LibGetRecordDataTypeId (rec

)

Возвращает идентификатор типа данных указанной записи в виде целого числа.

См. LibGetRecordDataTypeId в dtypelib.tlc.

LibGetRecordDimensions (rec

)

Возвращает размерности указанной записи в виде вектора из целых чисел.

См. LibGetRecordDimensions в dtypelib.tlc.

LibGetRecordIsComplex (rec

)

Возвращает значение 1, если указанная запись комплексная, и нуль в противном случае.

См. LibGetRecordIsComplex в dtypelib.tlc.

LibGetRecordWidth (rec

)

Возвращает ширину указанной записи в виде целого числа.

См. LibGetRecordWidth в dtypelib.tlc.

LibGetT ()

Возвращает строку для доступа к абсолютному времени, которое является числом с плавающей запятой. Однако, если вы сконфигурировали модель для генерации кода только для целого числа (путем отмены выбора Support floating-point numbers), строка представляет целое число, равное количеству тактов базовой скорости (абсолютное время, разделенное на базовый шаг расчета), а не абсолютному времени.

Вы должны использовать LibGetT только для доступа ко времени.

LibGetT - TLC-версия макроса SimStruct ssGetT.

См. LibGetT в utillib.tlc.

LibIsComplex (arg

)

Возвращает 1 если переданный аргумент сложен, 0 в противном случае.

См. LibIsComplex в utillib.tlc.

LibIsFirstInitCond ()

LibIsFirstInitCond возвращает сгенерированный код, предназначенный для размещения в функции инициализации. Этот код определяет, во время выполнения, вызывается ли функция инициализации впервые.

LibIsFirstInitCond также устанавливает флаг, который сообщает генератору кода, если ему нужно объявить и настроить first-initialize-condition флаг.

LibIsFirstInitCond - TLC-версия макроса SimStruct ssIsFirstInitCond.

См. LibIsFirstInitCond в syslib.tlc.

LibIsMajorTimeStep ()

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

LibIsMajorTimeStep - TLC-версия макроса SimStruct ssIsMajorTimeStep.

См. LibIsMajorTimeStep в utillib.tlc.

LibIsMinorTimeStep ()

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

LibIsMinorTimeStep - TLC-версия макроса SimStruct ssIsMinorTimeStep.

См. LibIsMinorTimeStep в utillib.tlc.

LibManageAsyncCounter (sfcnBlock, callIdx

)

Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять собственным временем и использовать LibManageAsyncCounter определить, существует ли потребность в асинхронном счетчике для управления собственным таймером.

Пример

%if LibManageAsyncCounter(block,callIdx)
  %%	  %<LibSetAsyncCounter(block,callIdx), CodeGetCounter)>

где CodeGetCounter - целевой конкретный код, считывающий оборудование таймер.

Возвраты

Возвращает TLC_TRUE если для управления собственным счетчиком требуется асинхронный счетчик, в противном случае TLC_FALSE.

См. LibManageAsyncCounter в asynclib.tlc.

LibMaxIntValue (dtype

)

Для встроенного целочисленного типа данных LibMaxIntValue возвращает форматированное максимальное значение этого типа данных.

См. LibMaxIntValue в dtypelib.tlc.

LibMinIntValue (dtype

)

Для встроенного целочисленного типа данных LibMinIntValue возвращает форматированное минимальное значение этого типа данных.

См. LibMinIntValue в dtypelib.tlc.

LibNeedAsyncCounter (sfcnBlock, callIdx

)

Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи используют LibNeedAsyncCounter для определения, существует ли потребность в асинхронном счетчике.

Пример

%if LibNeedAsyncCounter(block,0)
  %<LibSetAsyncCounter(block,0), "tickGet()")>

Возвраты

Возвращает TLC_TRUE если требуется асинхронный счетчик, в противном случае TLC_FALSE.

См. LibNeedAsyncCounter в asynclib.tlc.

LibSetAsyncClockTicks (sfcnBlock, callIdx, buf1, buf2

)

Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять своим временем. Использование LibSetAsyncClockTicks для возврата кода, который устанавливает clockTick счетчики, которые должны поддерживаться асинхронной задачей. Если тип данных clockTick счетчик, поддерживаемый асинхронной задачей tSS_TIMER_UINT32_PAIR, низкое и высокое слово clockTick счетчик установлен.

Аргументы

buf1 - Код, который читает низкое слово аппаратного счетчика

buf2 - Код, считывающий высокое слово аппаратного счетчика. Оставьте buf2 пустой, если длина счетчика оборудования меньше 32 бит.

Возвраты

Возвращает код, который устанавливает clockTick счетчики, которые должны поддерживаться асинхронной задачей.

Пример

%if LibNeedAsyncCounter(block, callIdx)
%<LibSetAsyncCounter(block, 0, buf1, buf2)>
%endif

См. LibSetAsyncClockTicks в asynclib.tlc.

LibSetAsyncCounter (sfcnBlock, callIdx, buf

)

Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять своим временем. Использование LibSetAsyncCounter возвращает код, который устанавливает переменную счетчика, которая должна поддерживаться асинхронной задачей.

Возвраты

Возвращает код, который устанавливает переменную счетчика, которая должна поддерживаться асинхронной задачей.

Пример

%if LibNeedAsyncCounter(block,0)
  %<LibSetAsyncCounter(block,0, "tickGet()")> 
%endif

См. LibSetAsyncCounter в asynclib.tlc.

LibSetAsyncCounterHigh (sfcnBlock, callIdx, buf

)

Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять своим временем. Использование LibSetAsyncCounterHigh возвращает код, который устанавливает более высокое слово переменной счетчика, которая должна поддерживаться асинхронной задачей.

Возвраты

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

Пример

%if LibNeedAsyncCounter(block,0)
%<LibSetAsyncCounterHigh(block,0, "hightTickGet()")>
%endif

См. LibSetAsyncCounterHigh в asynclib.tlc.

LibTIDInSystem (система, fcnType

)

Цель

Возвращает идентификатор задачи (TID), если она находится в возможностях функции подсистемы и может быть вызвана до или во время генерации кода TLC.

Синтаксис

LibTIDInSystem (system, fcnType)

Аргументы

system

Запись в глобальной записи CompiledModel.

fcnType

Одно из следующих: 'Output', 'Update', 'Outputupdate'.

Описание

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

  • '0', если модель является однозадачной.

  • Значение TID подсистемы, если подсистема является одной скоростью.

  • Локальное имя TID-переменной, если подсистема многоразовая. К коду подсистемы добавляется локальная переменная TID.

Примечание

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

См. LibTIDInSystem в syslib.tlc.

LibIsRowMajor

Возвращает true, когда текущая модель использует размещение массива основной строки.

См. LibIsRowMajor в dtypelib.tlc.

Устаревшие функции

В следующей таблице показаны устаревшие функции и функции, которые их заменили.

Устаревшая функцияФункция эквивалентной замены

LibBlockOutportLocation

LibBlockDstSignalLocation

LibCacheGlobalPrmData

Используйте функцию block Start

LibCacheIncludes

LibAddToCommonIncludes

LibContinuousState

LibBlockContinuousState

LibControlPortInputSignal

LibBlockSrcSignalLocation

LibConvertZCDirection

Функция не используется в генерации кода.

LibDataInputPortWidth

LibBlockInputSignalWidth

LibDataOutputPortWidth

LibBlockOutputSignalWidth

LibDefineIWork
LibDefinePWork
LibDefineRWork

IWork , PWork, и RWork имена теперь заданы через mdlRTW функция в функции MEX S на C.

LibDiscreteState

LibBlockDiscreteState

LibExportFileCustomCode

LibSetSourceFileSection

LibExternalResetSignal

LibBlockInputSignal

LibHeaderFileCustomCode

LibSetSourceFileSection

LibIsEqual

Используйте встроенные функциональные ISEQUAL

LibMapSignalSource

FcnMapDataTypedSignalSource

LibMaxBlockIOWidth

Функция не используется в генерации кода Simulink Coder™.

LibMaxDataInputPortWidth

Функция не используется в генерации кода Simulink Coder.

LibMaxDataOutputPortWidth

Функция не используется в генерации кода Simulink Coder.

LibPathName

LibGetBlockPath, LibGetFormattedBlockPath

LibPrevZCState

LibBlockPrevZCState

LibPrmFileCustomCode

LibSetSourceFileSection

LibRegFileCustomCode

LibSetSourceFileSection

LibRegisterGNUMathFcnPrototypes

Функция не используется в генерации кода Simulink Coder.

LibRegisterISOCMathFcnPrototypes

Функция не используется в генерации кода Simulink Coder.

LibRegisterMathFcnPrototype

Функция не используется в генерации кода Simulink Coder.

LibRenameParameter

Указание имен параметров теперь поддерживается через mdlRTW функция в функции MEX S на C.

Похожие темы