Для использования встроенными 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
.
Для использования встроенными S-функциями с выходами вызова функции. Возвращает строку для вызова подсистемы вызова функций с необходимыми аргументами или генерирует код подсистемы на месте (inlined).
%foreach callIdx = NumSFcnSysOutputCalls %if LibIsEqual(SFcnSystemOutputCall[callIdx].BlockToCall,... "unconnected") %continue %endif %% call the downstream system %<LibBlockExecuteFcnCall(block, callIdx)>\ %endforeach
См. LibBlockExecuteFcnCall
в syslib.tlc
.
Для использования встроенными функциями 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
.
Для использования встроенными 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
.
Верните идентификатор типа данных, на который подается входной сигнал.
См. Lib Block Input Signal Aliased Thru Data Type Id в <reservedrangesplaceholder0>
.
Верните идентификатор типа данных, после которого выходной сигнал сглаживается.
См. LibBlockOutputSignalAliasedThruDataTypeId
в dtypelib.tlc
Возвращает инициализированную статическую постоянную переменную строку формы:
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
.
Получите значение поля в блочной записи.
%if LibIsEqual(LibGetBlockAttribute(ssBlock,"MaskType"), ... "Task Block") %assign isTaskBlock = 1 %endif
Возвращает значение атрибута (поля) или пустую строку, если она не существует.
См. LibGetBlockAttribute
в asynclib.tlc
.
Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять своим временем. LibGetCallerClockTickCounter
используется для доступа к счетчику времени восходящей асинхронной задачи. Это предпочтительно, когда управляется другой асинхронной частотой (например, блок «Прерывание», управляющий блоком Task), потому что используется время, когда произошло прерывание, а не время, когда задаче разрешено запускаться.
Возвращает строку для переменной счетчика для асинхронной задачи в восходящем направлении.
См. LibGetCallerClockTickCounter
в asynclib.tlc
.
Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять своим временем. LibGetCallerClockTickCounterHigh
используется для доступа к высокому слову счетчика времени восходящей асинхронной задачи. Это предпочтительно, когда управляется другой асинхронной скоростью (для примера, блок «Прерывание» управляет блоком Task), потому что используется время, когда произошло прерывание, а не время, когда Задаче разрешено запускаться.
Возвращает строку для высокого слова переменной счетчика для восходящей асинхронной задачи.
См. LibGetCallerClockTickCounterHigh
в asynclib.tlc
.
Возвращает имя комплексных данных, соответствующего идентификатору типа данных. Для примера, если id==tSS_DOUBLE
затем LibGetDataTypeComplexNameFromId
возвращает "creal_T"
.
См. LibGetDataTypeComplexNameFromId
в dtypelib.tlc
.
Возвращает тип данных enum
соответствующий идентификатору типа данных. Для примера, если id==tSS_DOUBLE
, затем enum
является "SS_DOUBLE"
. Если id
не соответствует встроенному типу данных, LibGetDataTypeEnumFromId
возвращает ""
.
См. LibGetDataTypeEnumFromId
в dtypelib.tlc
.
Возвращает тип данных IdAliasedThruTo
который соответствует идентификатору типа данных. Для примера, если yourfloat
является псевдонимом для myfloat
, и myfloat
является псевдонимом для double
, затем IdAliasedThruTo
для обоих yourfloat
и myfloat
0 (поскольку идентификатор для double
0).
См. LibGetDataTypeIdAliasedThruToFromId
в dtypelib.tlc
.
Возвращает тип данных IdAliasedTo
который соответствует идентификатору типа данных. Для примера, если yourfloat
является псевдонимом для myfloat
, и myfloat
является псевдонимом для double
, затем IdAliasedTo
для yourfloat
- идентификатор для myfloat
, и IdAliasedTo
для myfloat
0 (поскольку идентификатор для double
0).
См. LibGetDataTypeIdAliasedToFromId
в dtypelib.tlc
.
Возвращает тип данных IdResolvesTo
который соответствует идентификатору типа данных.
См. LibGetDataTypeIdResolvesToFromId
в dtypelib.tlc
.
Возвращает имя типа данных, которое соответствует типу данных ID
.
См. LibGetDataTypeNameFromId
в dtypelib.tlc
.
Верните размер (как Simulink® знает это), соответствующий идентификатору типа данных.
См. LibGetDataTypeSLSizeFromId
в dtypelib.tlc
.
Возвращает тип данных StorageId
соответствующий идентификатору типа данных. Например, если входной идентификатор является идентификатором для 16-битного типа данных с фиксированной точкой со знаком, то StorageId
соответствует int16
.
См. LibGetDataTypeStorageIdFromId
в dtypelib.tlc
.
Учитывая Блок s-function и индекс вызова, верните запись блока для нисходящего блока подсистемы вызова функций.
%assign ssBlock = LibGetFcnCallBlock(block,0)
Запись блока нисходящей подсистемы вызова функций соединяется с этим элементом (индекс вызова).
См. LibGetFcnCallBlock
в asynclib.tlc
.
Возвращает идентификатор типа данных указанной записи в виде целого числа.
См. LibGetRecordDataTypeId
в dtypelib.tlc
.
Возвращает размерности указанной записи в виде вектора из целых чисел.
См. LibGetRecordDimensions
в dtypelib.tlc
.
Возвращает значение 1, если указанная запись комплексная, и нуль в противном случае.
См. LibGetRecordIsComplex
в dtypelib.tlc
.
Возвращает ширину указанной записи в виде целого числа.
См. LibGetRecordWidth
в dtypelib.tlc
.
Возвращает строку для доступа к абсолютному времени, которое является числом с плавающей запятой. Однако, если вы сконфигурировали модель для генерации кода только для целого числа (путем отмены выбора Support floating-point numbers), строка представляет целое число, равное количеству тактов базовой скорости (абсолютное время, разделенное на базовый шаг расчета), а не абсолютному времени.
Вы должны использовать LibGetT
только для доступа ко времени.
LibGetT
- TLC-версия макроса SimStruct ssGetT
.
См. LibGetT
в utillib.tlc
.
Возвращает 1
если переданный аргумент сложен, 0
в противном случае.
См. LibIsComplex
в utillib.tlc
.
LibIsFirstInitCond
возвращает сгенерированный код, предназначенный для размещения в функции инициализации. Этот код определяет, во время выполнения, вызывается ли функция инициализации впервые.
LibIsFirstInitCond
также устанавливает флаг, который сообщает генератору кода, если ему нужно объявить и настроить first-initialize-condition
флаг.
LibIsFirstInitCond
- TLC-версия макроса SimStruct ssIsFirstInitCond
.
См. LibIsFirstInitCond
в syslib.tlc
.
Возвращает строку, чтобы получить доступ к тому, является ли текущий шаг симуляции основным временным шагом.
LibIsMajorTimeStep
- TLC-версия макроса SimStruct ssIsMajorTimeStep
.
См. LibIsMajorTimeStep
в utillib.tlc
.
Возвращает строку, чтобы получить доступ к тому, является ли текущий шаг симуляции незначительным временным шагом.
LibIsMinorTimeStep
- TLC-версия макроса SimStruct ssIsMinorTimeStep
.
См. LibIsMinorTimeStep
в utillib.tlc
.
Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять собственным временем и использовать LibManageAsyncCounter
определить, существует ли потребность в асинхронном счетчике для управления собственным таймером.
%if LibManageAsyncCounter(block,callIdx) %% %<LibSetAsyncCounter(block,callIdx), CodeGetCounter)>
где CodeGetCounter
- целевой конкретный код, считывающий оборудование таймер.
Возвращает TLC_TRUE
если для управления собственным счетчиком требуется асинхронный счетчик, в противном случае TLC_FALSE
.
См. LibManageAsyncCounter
в asynclib.tlc
.
Для встроенного целочисленного типа данных LibMaxIntValue
возвращает форматированное максимальное значение этого типа данных.
См. LibMaxIntValue
в dtypelib.tlc
.
Для встроенного целочисленного типа данных LibMinIntValue
возвращает форматированное минимальное значение этого типа данных.
См. LibMinIntValue
в dtypelib.tlc
.
Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи используют LibNeedAsyncCounter
для определения, существует ли потребность в асинхронном счетчике.
%if LibNeedAsyncCounter(block,0) %<LibSetAsyncCounter(block,0), "tickGet()")>
Возвращает TLC_TRUE
если требуется асинхронный счетчик, в противном случае TLC_FALSE
.
См. LibNeedAsyncCounter
в asynclib.tlc
.
Для использования асинхронными 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
.
Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять своим временем. Использование LibSetAsyncCounter
возвращает код, который устанавливает переменную счетчика, которая должна поддерживаться асинхронной задачей.
Возвращает код, который устанавливает переменную счетчика, которая должна поддерживаться асинхронной задачей.
%if LibNeedAsyncCounter(block,0) %<LibSetAsyncCounter(block,0, "tickGet()")> %endif
См. LibSetAsyncCounter
в asynclib.tlc
.
Для использования асинхронными S-функциями с выходами вызова функции. Асинхронные задачи могут управлять своим временем. Использование LibSetAsyncCounterHigh
возвращает код, который устанавливает более высокое слово переменной счетчика, которая должна поддерживаться асинхронной задачей.
Возвращает код, который устанавливает более высокое слово переменной счетчика, которая должна поддерживаться асинхронной задачей.
%if LibNeedAsyncCounter(block,0) %<LibSetAsyncCounterHigh(block,0, "hightTickGet()")> %endif
См. LibSetAsyncCounterHigh
в asynclib.tlc
.
Возвращает идентификатор задачи (TID), если она находится в возможностях функции подсистемы и может быть вызвана до или во время генерации кода TLC.
LibTIDInSystem
(system
, fcnType
)
system
Запись в глобальной записи CompiledModel.
fcnType
Одно из следующих: 'Output'
, 'Update'
, 'Outputupdate'
.
Эта функция возвращает TID, если он находится в возможностях функции подсистемы и может быть вызван до или во время генерации кода TLC. Оно возвращает имя аргумента TID, если TID передан как аргумент в области системных функций. Если TID не передается как аргумент в возможности, эта функция возвращает:
'0', если модель является однозадачной.
Значение TID подсистемы, если подсистема является одной скоростью.
Локальное имя TID-переменной, если подсистема многоразовая. К коду подсистемы добавляется локальная переменная TID.
Примечание
Эта функция выдает сообщение об ошибке, если оно вызывается для переиспользуемой подсистемы, образцы которой выполняются с различными скоростями.
См. LibTIDInSystem
в syslib.tlc
.
Возвращает true, когда текущая модель использует размещение массива основной строки.
См. LibIsRowMajor
в dtypelib.tlc
.
В следующей таблице показаны устаревшие функции и функции, которые их заменили.
Устаревшая функция | Функция эквивалентной замены |
---|---|
|
|
| Используйте функцию block |
|
|
|
|
|
|
| Функция не используется в генерации кода. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Используйте встроенные функциональные |
|
|
| Функция не используется в генерации кода Simulink Coder™. |
| Функция не используется в генерации кода Simulink Coder. |
| Функция не используется в генерации кода Simulink Coder. |
|
|
|
|
|
|
|
|
| Функция не используется в генерации кода Simulink Coder. |
| Функция не используется в генерации кода Simulink Coder. |
| Функция не используется в генерации кода Simulink Coder. |
| Указание имен параметров теперь поддерживается через |