获取输入端口的采样时间索引
int_T ssgetputportsampletimeindex (SimStruct *S, int_T inputPortIdx)
年代
表示s -功能块的SimStruct。
inputPortIdx
要返回采样时间索引的输入端口的索引。
一个int_T
值,表示由索引指定的输入端口的采样时间索引inputPortIdx
.返回CONSTANT_TID
(-2
)为常数(正
)样品时间。
在样本时间传播后的任何程序中使用(即,在或之后mdlInitializeSampleTimes
)来确定输入端口的采样时间指数。只有在指定了基于端口的示例时间时,才应该使用此宏。
的仿真软金宝app件®引擎在s函数的样本时间上下文中返回样本时间索引,而不是整个模型的样本时间。因此,样本时间指数(sti
返回的)ssGetInputPortSampleTimeIndex
和任务ID (tid
)传递到s函数的Simulink引擎是不等效的。金宝app使用返回的索引ssGetInputPortSampleTimeIndex
在调用ssIsSampleHit
等,以确定s函数是否以其中一个采样速率运行。例如,下面mdlOutputs
方法检查第一个输入端口的样本时间索引是否正在执行。
static void mdlOutputs(SimStruct *S, int_T tid) {int sti = ssGetInputPortSampleTimeIndex(S,0); / /输出数据if (sissamplehit (S, sti, tid)) {CodeForThisSampleRateHere ()} }
Simu金宝applink引擎返回一个索引CONSTANT_TID
(-2
)为常数(正
)样品时间。在本例中,示例时间索引和模型范围的任务ID是相同的。
C, c++
看到这个功能sfun_multirate.c
中使用的sfcndemo_sfun_multirate
和功能sfun_port_constant.c
中使用的sfcndemo_port_constant
.