Получите текущее время для текущей задачи
time_T ssGetTaskTime(SimStruct *S, st_index)
SSimStruct, представляющий Блок s-function.
st_indexИндекс шага расчета, соответствующего задаче, для которой должно быть возвращено текущее время.
Значение типа time_T.
Используйте, чтобы определить текущее время (time_T) из задачи, соответствующей частоте дискретизации, задан st_index. Можно использовать этот макрос в mdlOutputs и mdlUpdate вычислить выход вашего блока. Смотрите для описания matlabroot/extern/include/tmwtypes.htime_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);
}
}