Возвращается, соответствует ли этот 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
строка формы "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
: целое число (e.g., 2)
Для основанных на блоке шагов расчета (например, в S-функции mdlInitializeSizes
, ssSetNumSampleTimes(S,N)
с N> 1 был задан), sfcnTID
целое число, запускающееся в 0 из соответствующего локального шага расчета S-функции.
sfcnTID
: "InputPortIdx
или 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 из 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-функция с основанными на порте шагами расчета, где норма выработки медленнее, чем входной уровень (e.g., нулевой порядок содержат операцию),
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
.