ssGetTaskTime

Получите текущее время для текущей задачи

Синтаксис

time_T ssGetTaskTime(SimStruct *S, st_index)

Аргументы

S

SimStruct, представляющий Блок s-function.

st_index

Индекс частоты дискретизации, соответствующей задаче, для которой должно быть возвращено текущее время.

Возвращается

Значение типа time_T.

Описание

Используйте, чтобы определить текущее время (time_T) задачи, соответствующей частоте дискретизации, заданной st_index. Можно использовать этот макрос в mdlOutputs и mdlUpdate, чтобы вычислить вывод блока. Смотрите matlabroot/extern/include/tmwtypes.h для описания типа данных time_T.

Макрос ssGetTaskTime должен быть назван только в проверке ssIsSampleHit. Это не даст правильные результаты, если названо tid, переданным в mdlOutputs.

Языки

C, C++

Пример

Следующий пример иллюстрирует правильное использование этого макроса:

static void mdlOutputs( SimStruct *S, int_T tid ) 
{
	double t; 
	if(ssIsSampleHit(S,0,tid)) { 
		t = ssGetTaskTime(S,0); 
		ssPrintf("Task 0 sample hit in %s time = %g\n",
					ssGetPath(S),t); 
	} 
	if(ssIsSampleHit(S,1,tid)) { 
		t = ssGetTaskTime(S,1); 
		ssPrintf("Task 1 sample hit in %s time = %g\n",
					ssGetPath(S),t); 
	} 
} 

Смотрите также

ssGetT

Представлено до R2006a

Была ли эта тема полезной?