Возвращается, соответствует ли этот TID асинхронному инициированному уровню.
Смотрите LibAsynchronousTriggeredTID
в utillib.tlc
.
Возвращается 1, если заданный асинхронный идентификатор задачи (TID) является типом заданной функции.
Смотрите LibAsyncTaskAccessTimeInFcn
в utillib.tlc
.
Возвращает шаг расчета блока. Возвращенное значение зависит от классификации шагов расчета блока, как показано в следующей таблице.
Блокируйте классификацию | Возвращенное значение |
---|---|
Дискретный | Фактический шаг расчета блока (действительный> |
Непрерывный | 0.0 |
Инициированный | -1.0 |
Постоянный | -2.0 |
Смотрите LibBlockSampleTime
в blocklib.tlc
.
Возвращает целочисленное время задачи (текущий такт системных часов таймера задачи). Разрешение таймера может быть получено из LibGetClockTickStepSize(tid)
. ID типа данных таймера может быть получен из LibGetClockTickDataTypeId(tid)
.
Смотрите LibGetClockTick
в utillib.tlc
.
Возвращает ID типа данных такта системных часов.
Смотрите LibGetClockTickDataTypeId
в utillib.tlc
.
Возвращает старшее слово целочисленного времени задачи. LibGetClockTickHigh
используется, когда пары uint32
используются, чтобы сохранить абсолютное время. Разрешение такта системных часов может быть получено из LibGetClockTickStepSize(tid)
.
Смотрите LibGetClockTickHigh
в utillib.tlc
.
Возвращает размер шага такта системных часов, который является разрешением целочисленного времени задачи. LibGetClockTickStepSize
не может использоваться, если задача не имеет таймера.
Смотрите LibGetClockTickStepSize
в utillib.tlc
.
Возвращается время протекло с прошлого раза подсистема начала выполняться.
Смотрите LibGetElapseTime
в utillib.tlc
.
Возвращает целочисленное прошедшее время. Это - количество тактов системных часов, истекших с прошлого раза запущенная система. Чтобы получить реальное прошедшее время, это целочисленное прошедшее время должно быть умножено на применимое разрешение.
Можно получить разрешение путем вызова LibGetElapseTimeResolution(system)
. Можно получить ID типа данных целочисленного счетчика прошедшего времени путем вызова 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
является строкой формы
или "InputPortIdxI"
, где "OutputPortIdxI"
является целым числом в пределах от 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
:
или "InputPortIdxI"
(например, "OutputPortIdxI"
"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 от S-function TID
Входные параметры к LibIsSFcnSpecialSampleHit
Для многоскоростных Блоков s-function:
sfcnSTI
: локальный индекс шага расчета S-функции (sti
) медленной задачи, которой нужно способствовать
sfcnTID
: локальный ID задачи 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
.