Возвращает, соответствует ли этот TID асинхронной скорости запуска.
Посмотрите LibAsynchronousTriggeredTID в utillib.tlc.
Возвращает 1, если указанному асинхронному идентификатору задачи (TID) задан тип функции.
Посмотрите LibAsyncTaskAccessTimeInFcn в utillib.tlc.
Возвращает время выборки блока. Возвращаемое значение зависит от классификации времени выборки блока, как показано в следующей таблице.
| Классификация блоков | Возвращенное значение |
|---|---|
Дискретный | Фактическое время выборки блока (реальное > |
Непрерывный |
|
Вызванный |
|
Постоянный |
|
Посмотрите LibBlockSampleTime в blocklib.tlc.
Возвращает целочисленное время задачи (текущее время таймера задачи). Разрешение таймера можно получить из LibGetClockTickStepSize(tid). Идентификатор типа данных таймера можно получить из LibGetClockTickDataTypeId(tid).
Посмотрите LibGetClockTick в utillib.tlc.
Возвращает идентификатор типа данных clock tick.
Посмотрите 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.
Возвращает строку для доступа к абсолютному времени задачи, которое является числом с плавающей запятой. Однако если модель настроена на генерацию кода только для целых чисел (отменив выбор параметра Поддерживать числа с плавающей запятой), строка представляет целое число, равное числу делений базовой скорости (абсолютное время, деленное на базовое время выборки), а не абсолютному времени. В целочисленном коде время задачи представляет собой целое значение времени, разрешение которого является размером основного шага модели.
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), если частоты дискретизации непрерывной задачи и первой дискретной задачи равны и false (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: "InputPortIdx или I""OutputPortIdx (например, I""InputPortIdx0").
Для времени выборки на основе порта (например, в S-функции mdlInitializeSizes, ssSetNumSampleTimes(S,PORT_BASED_SAMPLE_TIMES) было указано), sfcnTID - строка, задающая индекс входного (или выходного) порта.
Рассмотрим многоскоростной S-функциональный блок с четырьмя временами выборки блоков. Требование LibIsSFcnSampleHit(2) возвращает код для проверки совпадения выборки в течение времени выборки третьего S-функционального блока.
Рассмотрим многоскоростной S-функциональный блок с тремя входными и восемью выходными временами выборки. Требование LibIsSFcnSampleHit("InputPortIdx0") возвращает код для проверки на наличие пробного попадания в первый входной порт. Требование LibIsSFcnSampleHit("OutputPortIdx7") возвращает код для проверки на наличие выборки на восьмом выходном порту.
Посмотрите LibIsSFcnSampleHit в utillib.tlc.
Возвращает логическое значение (1 или 0), указывающее, является ли S-функция одинарной скоростью (одно время выборки) или многоточечной (несколько раз выборки).
Посмотрите LibIsSFcnSingleRate в utillib.tlc.
Возвращает макрос Simulink ® для продвижения медленной задачи (sfcnSTI) в более быструю задачу (sfcnTID).
Эта расширенная функция специально предназначена для использования в блоках перехода скорости. LibIsSFcnSpecialSampleHit определяет глобальный TID из TID S-функции
Входные аргументы для LibIsSFcnSpecialSampleHit являются
Для многоскоростных S-функциональных блоков:
sfcnSTI: индекс времени выборки локальной S-функции (sti) медленной задачи, которая должна быть повышена
sfcnTID: идентификатор локальной задачи S-функции (tid) быстрой задачи, где медленная задача должна выполняться
Для односкоростных S-функциональных блоков с использованием 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-функциональный блок на основе порта.
Посмотрите LibPortBasedSampleTimeBlockIsTriggered в blocklib.tlc.
Создает код для установки следующего времени попадания переменной. Блоки с переменным временем выборки должны вызывать LibSetVarNextHitTime в своих выходных функциях.
Посмотрите LibSetVarNextHitTime в blocklib.tlc.
Возвращает, соответствует ли этот TID скорости запуска.
Посмотрите LibTriggeredTID в utillib.tlc.