Для использования встроенными 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-функциями с вызовом функции выходные параметры. Возвращает строку, чтобы вызвать подсистему вызова функций с обязательными аргументами или генерирует код подсистемы, на месте (встроенный).
%foreach callIdx = NumSFcnSysOutputCalls %if LibIsEqual(SFcnSystemOutputCall[callIdx].BlockToCall,... "unconnected") %continue %endif %% call the downstream system %<LibBlockExecuteFcnCall(block, callIdx)>\ %endforeach
Смотрите LibBlockExecuteFcnCall
в syslib.tlc
.
Для использования встроенными S-функциями, чтобы вызвать систему вызова функции отключают функцию. Возвращается строка, чтобы или вызвать подсистему вызова функций отключают функцию с обязательными аргументами или вызывать сгенерированную подсистему, отключают (встроенный) код.
%foreach callIdx = NumSFcnSysOutputCallDsts %if LibIsEqual(SFcnSystemOutputCall[callIdx].BlockToCall, "unconnected") %continue %endif %% call the downstream system %<LibBlockExecuteFcnDisable(block, callIdx)>\ %endforeach
Смотрите LibBlockExecuteFcnDisable
в syslib.tlc
.
Для использования встроенными S-функциями, чтобы вызвать систему вызова функции включают функцию. Возвращается строка, чтобы вызвать подсистему вызова функций включают функцию с обязательными аргументами, или сгенерированная подсистема включают (встроенный) код.
%foreach callIdx = NumSFcnSysOutputCallDsts %if LibIsEqual(SFcnSystemOutputCall[callIdx].BlockToCall, "unconnected") %continue %endif %% call the downstream system %<LibBlockExecuteFcnEnable(block, callIdx)>\ %endforeach
Смотрите LibBlockExecuteFcnEnable
в syslib.tlc
.
Возвратите ID типа данных, до которого искажается входной сигнал.
Смотрите LibBlockInputSignalAliasedThruDataTypeId в dtypelib.tlc
.
Возвратите ID типа данных, до которого искажается выходной сигнал.
Смотрите LibBlockOutputSignalAliasedThruDataTypeId
в dtypelib.tlc
Возвращает инициализированную статическую постоянную переменную строку формы:
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
.
Получите значение поля в записи блока.
%if LibIsEqual(LibGetBlockAttribute(ssBlock,"MaskType"), ... "Task Block") %assign isTaskBlock = 1 %endif
Возвращает значение атрибута (поле) или пустая строка, если это не существует.
Смотрите LibGetBlockAttribute
в asynclib.tlc
.
Для использования асинхронными S-функциями с вызовом функции выходные параметры. Асинхронные задачи могут управлять своим собственным временем. LibGetCallerClockTickCounter
используется, чтобы получить доступ к счетчику времени восходящей асинхронной задачи. Это предпочтено, будучи управляемым другим асинхронным уровнем (e.g., блок Interrupt, управляющий блоком Task), потому что время прерывание произошло, используется, а не время, которое задаче позволяют запустить.
Возвращает строку для переменной счетчика для восходящей асинхронной задачи.
Смотрите LibGetCallerClockTickCounter
в asynclib.tlc
.
Для использования асинхронными S-функциями с вызовом функции выходные параметры. Асинхронные задачи могут управлять своим собственным временем. LibGetCallerClockTickCounterHigh
используется, чтобы получить доступ к высокому слову счетчика времени восходящей асинхронной задачи. Это предпочтено, будучи управляемым другим асинхронным уровнем (например, блок Interrupt, управляющий блоком Task), потому что время, прерывание произошло, используется, а не время, которое Задаче позволяют запустить.
Возвращает строку для высокого слова переменной счетчика для восходящей асинхронной задачи.
Смотрите LibGetCallerClockTickCounterHigh
в asynclib.tlc
.
Возвращает имя сложного типа данных, соответствующего ID типа данных. Например, если id==tSS_DOUBLE
затем LibGetDataTypeComplexNameFromId
возвращает "creal_T"
.
Смотрите LibGetDataTypeComplexNameFromId
в dtypelib.tlc
.
Возвращает тип данных enum
соответствие ID типа данных. Например, если id==tSS_DOUBLE
, затем enum
"SS_DOUBLE"
. Если id
не соответствует встроенному типу данных, LibGetDataTypeEnumFromId
возвращается
.
Смотрите LibGetDataTypeEnumFromId
в dtypelib.tlc
.
Возвращает тип данных IdAliasedThruTo
это соответствует ID типа данных. Например, если yourfloat
псевдоним к myfloat
, и myfloat
псевдоним к double
, затем IdAliasedThruTo
для обоих yourfloat
и myfloat
0 (потому что ID для double
0).
Смотрите LibGetDataTypeIdAliasedThruToFromId
в dtypelib.tlc
.
Возвращает тип данных IdAliasedTo
это соответствует ID типа данных. Например, если yourfloat
псевдоним к myfloat
, и myfloat
псевдоним к double
, затем IdAliasedTo
для yourfloat
ID для myfloat
, и IdAliasedTo
для myfloat
0 (потому что ID для double
0).
Смотрите LibGetDataTypeIdAliasedToFromId
в dtypelib.tlc
.
Возвращает тип данных IdResolvesTo
это соответствует ID типа данных.
Смотрите LibGetDataTypeIdResolvesToFromId
в dtypelib.tlc
.
Возвращает имя типа данных, которое соответствует типу данных ID
.
Смотрите LibGetDataTypeNameFromId
в dtypelib.tlc
.
Возвратите размер (как Simulink® знает это), соответствие ID типа данных.
Смотрите LibGetDataTypeSLSizeFromId
в dtypelib.tlc
.
Возвращает тип данных StorageId
соответствие ID типа данных. Например, если вход ID является ID для 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
.
Следующая таблица показывает устаревшие функции и функции, которые заменили их.
Устаревшая функция | Эквивалентная заменяющая функция |
---|---|
|
|
| Используйте функцию блока |
|
|
|
|
|
|
| Функция не используется в генерации кода. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Используйте встроенную функцию |
|
|
| Функция не используется в генерации кода Simulink Coder™. |
| Функция не используется в генерации кода Simulink Coder. |
| Функция не используется в генерации кода Simulink Coder. |
|
|
|
|
|
|
|
|
| Функция не используется в генерации кода Simulink Coder. |
| Функция не используется в генерации кода Simulink Coder. |
| Функция не используется в генерации кода Simulink Coder. |
| Определение названий параметра теперь поддерживается через |