Возвращает, соответствует ли этот TID асинхронной скорости запуска.
См. LibAsynchronousTriggeredTID
в utillib.tlc
.
Возвращает 1, если указанному идентификатору асинхронной задачи (TID) задан тип функции.
См. LibAsyncTaskAccessTimeInFcn
в utillib.tlc
.
Возвращает значение шага расчета блока. Возвращенное значение зависит от шага расчета классификации блока, как показано в следующей таблице.
Классификация блоков | Возвращенное значение |
---|---|
Дискретный | Фактический шаг расчета блока (real > |
Непрерывный |
|
Вызванный |
|
Постоянный |
|
См. LibBlockSampleTime
в blocklib.tlc
.
Возвращает целочисленное время задачи (текущий тактовый такт таймера задачи). Разрешение таймера может быть получено из LibGetClockTickStepSize(tid)
. Идентификатор типа данных таймера может быть получен из LibGetClockTickDataTypeId(tid)
.
См. LibGetClockTick
в utillib.tlc
.
Возвращает идентификатор типа данных такта синхроимпульса.
См. LibGetClockTickDataTypeId
в utillib.tlc
.
Возвращает слово высокого порядка целочисленного времени задачи. LibGetClockTickHigh
используется, когда uint32
пары используются для хранения абсолютного времени. Разрешение тактового такта можно получить из LibGetClockTickStepSize(tid)
.
См. LibGetClockTickHigh
в utillib.tlc
.
Возвращает размер шага такта, который является разрешением целочисленного времени задачи. LibGetClockTickStepSize
не может использоваться, если задача не имеет таймера.
См. LibGetClockTickStepSize
в utillib.tlc
.
Возвращает время, прошедшее с момента последнего запуска подсистемы.
См. LibGetElapseTime
в utillib.tlc
.
Возвращает целое число с истекшим временем. Это количество тактовых тактов, прошедших с момента последнего запуска системы. Чтобы получить реальное истекшее время, это целое число, прошедшее время должно быть умножено на применимое разрешение.
Вы можете получить разрешение, позвонив LibGetElapseTimeResolution(system)
. Идентификатор типа данных целочисленного счетчика времени можно получить путем вызова LibGetElapseTimeCounterDTypeId(system)
.
См. LibGetElapseTimeCounter
в utillib.tlc
.
Возвращает идентификатор типа даты целого числа, затраченного на LibGetElapseTimeCounter
.
См. LibGetElapseTimeCounterDTypeId
в utillib.tlc
.
Возвращает разрешение прошедшего времени, возвращаемое LibGetElapseTimeCounter
.
См. LibGetElapseTimeResolution
в utillib.tlc
.
Возвращает идентификатор задачи модели (временной индекс расчета), соответствующий указанному локальному идентификатору задачи S-функции или шагу расчета порта. LibGetGlobalTIDFromLocalSFcnTID
позволяет вам использовать одну функцию для определения глобального TID, независимо от шагов расчета на основе портов или блоков.
Входной параметр для LibGetGlobalTIDFromLocalSFcnTID
должно быть одно из следующего:
Для основанных на блоках шагов расчета (например, в S-функции mdlInitializeSizes
, ssSetNumSampleTimes(S, N)
с N > 1
был задан), sfcnTID
является неотрицательным целым числом, задающим соответствующий шаг расчета локальной S-функции.
Для основанных на порте шагов расчета (например, в S-функции mdlInitializeSizes
, ssSetNumSampleTimes(S, PORT_BASED_SAMPLE_TIMES)
был задан), sfcnTID
является строкой формы "InputPortIdx
или I
""OutputPortIdx
, где I
"
- целое число в диапазоне от 0 до количества портов (например I
"InputPortIdx0"
.
Многократный блок
%assign globalTID = LibGetGlobalTIDFromLocalSFcnTID(2)
или
%assign globalTID = LibGetGlobalTIDFromLocalSFcnTID("InputPortIdx4") %assign period = CompiledModel.SampleTime[globalTID].PeriodAndOffset[0] %assign offset = CompiledModel.SampleTime[globalTID].PeriodAndOffset[1]
Унаследованный временной блок шага расчета
%switch (LibGetSFcnTIDType(0)) %case "discrete" %case "continuous" %assign globalTID = LibGetGlobalTIDFromLocalSFcnTID(2) %assign period = ... CompiledModel.SampleTime[globalTID].PeriodAndOffset[0] %assign offset = ... CompiledModel.SampleTime[globalTID].PeriodAndOffset[1] %break %case "triggered" %assign period = -1 %assign offset = -1 %break %case "constant" %assign period = rtInf %assign offset = 0 %break %default %<LibBlockReportFatalError([],"Unknown tid type")> %endswitch
См. LibGetGlobalTIDFromLocalSFcnTID
в utillib.tlc
.
Возвращает количество асинхронных задач в сгенерированном коде.
См. LibGetNumAsyncTasks
в utillib.tlc
.
Возвращает количество шагов расчета S-функции для блока.
См. LibGetNumSFcnSampleTimes
в utillib.tlc
.
Возвращает количество периодических задач в сгенерированном коде.
См. LibGetNumSyncPeriodicTasks
в utillib.tlc
.
Возвращает количество задач в сгенерированном коде.
См. LibGetNumTasks
в utillib.tlc
.
Возвращает значение периода шага расчета или значение смещения для заданной задачи.
tid
- Укажите идентификатор задачи, для которой нужно вернуть информацию.
idx
- задайте 0, чтобы вернуть значение шага расчета или 1, чтобы вернуть значение смещения шага расчета.
%% Get sample time period and offset for task 0 %assign sampleTime = LibGetSampleTimePeriodAndOffset(0,0) %assign offsetTime = LibGetSampleTimePeriodAndOffset(0,1) %% Get sample time periods for tasks 0 and 1 %assign periodTID0 = LibGetSampleTimePeriodAndOffset(0,0) %assign periodTID1 = LibGetSampleTimePeriodAndOffset(1,0)
См. LibGetSampleTimePeriodAndOffset
в codetemplatelib.tlc
.
Возвращает тип указанного идентификатора задачи S-функции (sfcnTID
). Возможные значения:
"continuous"
- Заданное sfcnTID
непрерывна.
"discrete"
- Заданное sfcnTID
дискретно.
"triggered"
- Заданное sfcnTID
срабатывает.
"constant"
- Заданное sfcnTID
является постоянным.
Формат sfcnTID
должны быть такими же, как и для LibIsSFcnSampleHit
.
Примечание
Это полезно, в основном, в контексте S-функций, которые задают унаследованный шаг расчета.
См. LibGetSFcnTIDType
в utillib.tlc
.
Возвращает строку для доступа к абсолютному времени задачи, которое является числом с плавающей запятой. Однако, если вы сконфигурировали модель для генерации кода только для целого числа (путем отмены выбора Support floating-point numbers), строка представляет целое число, равное количеству тактов базовой скорости (абсолютное время, разделенное на базовый шаг расчета), а не абсолютному времени. В коде только для целого числа время задачи является целым значением времени, разрешение которого является основным размером шага модели.
LibGetTaskTime
- TLC-версия макроса SimStruct: "ssGetTaskTime(S,tid)"
.
См. LibGetTaskTime
в utillib.tlc
.
Возвращает строку для доступа к абсолютному времени задачи, связанной с блоком.
Если значение CodeFormat
Переменная TLC не Embedded-C
, LibGetTaskTimeFromTID
возвращает строку "RTMGet("T")"
если блок является постоянным, или система является одной скоростью, и "RTMGetTaskTimeForTID(tid)"
в противном случае.
Если значение для CodeFormat
Переменная TLC Embedded-C
, LibGetTaskTimeFromTID
возвращает "RTMGetTaskTimeForTID(tid)"
.
Если блок является постоянным, или система является одной скоростью, это версия TLC макроса SimStruct: "ssGetT(S)"
и "ssGetTaskTime(S, tid)"
в противном случае.
В обоих случаях S
- имя SimStruct.
См. LibGetTaskTimeFromTID
в utillib.tlc
.
Возвращает значение флага TID01EQ - true (1), если частоты дискретизации непрерывной задачи и первой дискретной задачи равны и ложны (0) в противном случае.
Когда модель имеет непрерывное время, и TID01EQ флага верно, как непрерывное время, так и самое быстрое дискретное время рассматриваются как одна скорость в сгенерированном коде. Код, сопоставленный с самой быстрой дискретной скоростью, охраняется основной проверкой временного шага. Когда модель имеет только две скорости, и TID01EQ верно, сгенерированный код имеет односкоростной интерфейс вызова.
Использование LibGetTID01EQ
обнаружение и учет случая, в котором непрерывное время и самое быстрое дискретное время рассматриваются как одна скорость.
См. LibGetTID01EQ
в codetemplatelib.tlc
, bareboard_mrmain.tlc
, и ertmainlib.tlc
.
Возвращает 1, если заданный идентификатор задачи (TID
) непрерывно и 0 в противном случае. Обратите внимание, что идентификаторы задач равны "triggered"
или "constant"
не являются непрерывными.
См. LibIsContinuous
в utillib.tlc
.
Возвращает 1, если заданный идентификатор задачи (TID
) дискретно и 0 в противном случае. Обратите внимание, что идентификаторы задач равны "triggered"
или "constant"
не являются дискретными.
См. LibIsDiscrete
в utillib.tlc
.
Возвраты 1, если столкновение выборки происходит для заданного локального идентификатора задачи S-функции (TID
) и 0 в противном случае.
Входной параметр для LibIsSFcnSampleHit
должно быть одно из следующего:
sfcnTID
: целое число (например, 2)
Для основанных на блоках шагов расчета (например, в S-функции mdlInitializeSizes
, ssSetNumSampleTimes(S,N)
с N > 1 был задан), sfcnTID
- целое число, начинающееся с 0 соответствующего локального шага расчета S-функции.
sfcnTID
: "InportPortIdx
или I
""OutputPortIdx
(например, I
""InputPortIdx0"
).
Для основанных на порте шагов расчета (например, в S-функции mdlInitializeSizes
, ssSetNumSampleTimes(S,PORT_BASED_SAMPLE_TIMES)
был задан), sfcnTID
- строка, задающая индекс входа (или выход) порта.
Рассмотрим многократный блок s-function с четырьмя шагами расчета блоков. Вызов LibIsSFcnSampleHit(2)
возвращает код для проверки на попадание выборки во время третьего Блока s-function расчета.
Рассмотрим многократный блок s-function с тремя входными и восемью выходными шагами расчета. Вызов LibIsSFcnSampleHit("InputPortIdx0")
возвращает код для проверки на выброс выборки на первом входном порте. Вызов LibIsSFcnSampleHit("OutputPortIdx7")
возвращает код для проверки на попадание выборки в восьмой выход порт.
См. LibIsSFcnSampleHit
в utillib.tlc
.
Возвращает логическое значение (1 или 0), указывающее, является ли S-функция одной частотой (один шаг расчета) или мультирейтом (несколько шаги расчета).
См. LibIsSFcnSingleRate
в utillib.tlc
.
Возвращает Simulink® макрос для продвижения медленной задачи (sfcnSTI
) в более быструю задачу (sfcnTID
).
Эта расширенная функция специально предназначена для использования в блоках перехода со скоростью. LibIsSFcnSpecialSampleHit
определяет глобальный TID из TID S-функции
Входные параметры в LibIsSFcnSpecialSampleHit
являются
Для многократных блоков s-function:
sfcnSTI
: локальный индекс шага расчета S-функции (sti
) медленной задачи, которая должна быть повышена
sfcnTID
: локальный идентификатор задачи S-функции (tid
) быстрой задачи, в которой медленная задача должна выполняться
Для односкоростных блоков s-function, использующих SS_OPTION_RATE_TRANSITION
, sfcnSTI
и sfcnTID
игнорируются и должны быть указаны как ""
.
Формат sfcnSTI
и sfcnTID
должен следовать аргументу, чтобы LibIsSFcnSampleHit
.
Переход скорости S-функция (один шаг расчета с SS_OPTION_RATE_TRANSITION
)
if (%<LibIsSFcnSpecialSampleHit("","")>) {
Многократная S-функция с основанными на портах шагами расчета, где скорость выхода медленнее, чем скорость входа (например, операция удержания нулевого порядка)
if (%<LibIsSFcnSpecialSampleHit("OutputPortIdx0","InputPortIdx0")>) {
См. LibIsSFcnSpecialSampleHit
в utillib.tlc
.
Возвращает true
если модель является одной скоростью и false
в противном случае.
См. LibIsSingleRateModel
в codetemplatelib.tlc
.
Возвращает true
если модель сконфигурирована для однозадачного выполнения и false
если модель сконфигурирована для выполнения многозадачности.
См. LibIsSingleTasking
в codetemplatelib.tlc
.
Возвраты 1, является ли заданный идентификатор задачи (TID) непрерывным нулем удержания порядка (ZOH), и 0 в противном случае. TID, равный triggered
или constant
не является непрерывным ZOH.
См. LibIsZOHContinuous
в utillib.tlc
.
Возвращает количество асинхронных шагов расчета в модели.
См. LibNumAsynchronousSampleTimes
в codetemplatelib.tlc
.
Возвращает количество дискретных шагов расчета в модели.
См. LibNumDiscreteSampleTimes
в codetemplatelib.tlc
.
Возвращает количество синхронных шагов расчета в модели.
См. LibNumSynchronousSampleTimes
в codetemplatelib.tlc
.
Определяет, срабатывает ли блок s-function на основе портов.
См. LibPortBasedSampleTimeBlockIsTriggered
в blocklib.tlc
.
Генерирует код, чтобы задать время попадания следующей переменной. Блоки с переменным шагом расчета должны вызывать LibSetVarNextHitTime
в их выходных функциях.
См. LibSetVarNextHitTime
в blocklib.tlc
.
Возвращает, соответствует ли этот TID вызываемой скорости.
См. LibTriggeredTID
в utillib.tlc
.