Получите текущее время для текущей задачи
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 тип данных.
The 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);
}
}