exponenta event banner

Прочие функции

LibAddtoSystemCustomIncludes (система, incFileName

)

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

Вызовите эту функцию из метода BlockInstureSetup (block, system) блока, чтобы различные 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.

LibBlockExecureFcnCall (блок, callIdx

)

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

Пример

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

Посмотрите LibBlockExecuteFcnCall в syslib.tlc.

LibBlockExecureFcnDisable (блок, callIdx

)

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

Пример

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

Посмотрите LibBlockExecuteFcnDisable в syslib.tlc.

LibBlockExecureFcnEnable (блок, callIdx

)

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

Пример

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

Посмотрите LibBlockExecuteFcnEnable в syslib.tlc.

LibBlockInputSignAliedThruDataTypeId (idx

)

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

См. LibBlockInputSignAliesthThruDataTypeId в dtypelib.tlc.

LibBlockOutputSignAliedThruDataTypeId (idx

)

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

Посмотрите LibBlockOutputSignalAliasedThruDataTypeId в dtypelib.tlc

LibGenConstVectWityInit (данные, typeId, varId

)

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

static const typeName varId[] = { data };

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 (блок, атрибут

)

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

Синтаксис

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

Прибыль

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

Посмотрите LibGetBlockAttribute в asynclib.tlc.

LibGetCallerClockTickCounter (sfcnBlock

)

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

Прибыль

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

Посмотрите LibGetCallerClockTickCounter в asynclib.tlc.

LibGetCallerClockTickCounterHigh (sfcnBlock

)

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

Прибыль

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

Посмотрите LibGetCallerClockTickCounterHigh в asynclib.tlc.

LibGetDataTypeComplexNameStartId (идентификатор

)

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

Посмотрите LibGetDataTypeComplexNameFromId в dtypelib.tlc.

Идентификатор (id) LibGetDataTypeEnumStartId

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

Посмотрите LibGetDataTypeEnumFromId в dtypelib.tlc.

LibGetDataTypeIdAliesthThruToStartId (идентификатор

)

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

Посмотрите LibGetDataTypeIdAliasedThruToFromId в dtypelib.tlc.

LibGetDataTypeIdAliesToStartId (идентификатор

)

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

Посмотрите LibGetDataTypeIdAliasedToFromId в dtypelib.tlc.

LibGetDataTypeIdResolvesToStartId (идентификатор

)

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

Посмотрите LibGetDataTypeIdResolvesToFromId в dtypelib.tlc.

LibGetDataTypeNameStartId (идентификатор

)

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

Посмотрите LibGetDataTypeNameFromId в dtypelib.tlc.

LibGetDataTypeSLSiЗeStartId (идентификатор

)

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

Посмотрите LibGetDataTypeSLSizeFromId в dtypelib.tlc.

LibGetDataTypeStorageIdStartId (идентификатор

)

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

Посмотрите LibGetDataTypeStorageIdFromId в dtypelib.tlc.

LibGetFcnCallBlock (sfcnblock, callIdx

)

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

Синтаксис

 %assign ssBlock = LibGetFcnCallBlock(block,0)

Прибыль

Блочная запись подсистемы function-call, подключенной к этому элементу (индекс вызова).

Посмотрите 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 ()

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

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

LibGetT является версией TLC макроса SimStruct ssGetT.

Посмотрите LibGetT в utillib.tlc.

ЛибисКомплекс (арг

)

Прибыль 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

Использовать функцию блока Start

LibCacheIncludes

LibAddToCommonIncludes

LibContinuousState

LibBlockContinuousState

LibControlPortInputSignal

LibBlockSrcSignalLocation

LibConvertZCDirection

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

LibDataInputPortWidth

LibBlockInputSignalWidth

LibDataOutputPortWidth

LibBlockOutputSignalWidth

LibDefineIWork
LibDefinePWork
LibDefineRWork

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

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 функция в C MEX S-функции.

Связанные темы