ssGetInputPortSampleTimeIndex
获取输入端口的样本时间索引
语法
ssGetInputPortSampleTimeIndex(SimStruct *S, inputPortIdx)
参数
-
年代
-
SimStruct表示S-Function块。
-
inputPortIdx
-
要返回采样时间索引的输入端口的索引。
返回
一个int_T
值,该值指示由索引指定的输入端口的采样时间索引inputPortIdx
.返回CONSTANT_TID
(-2
)表示常数(正
)采样次数。
描述
在样本时间传播之后的任何例程中使用(例如,在mdlInitializeSampleTimes
)以确定输入端口的采样时间索引。只有在指定了基于端口的样例时间时,才应该使用此宏。
的仿真软金宝app件®engine返回s函数的采样时间的索引,而不是整个模型的采样时间。因此,样本时间指数(sti
)由ssGetInputPortSampleTimeIndex
和任务ID (tid
)通过Simulink引擎传入s函数是不等价的。金宝app使用返回的索引ssGetInputPortSampleTimeIndex
打电话给ssIsSampleHit
等等,以确定s函数是否以其中一个抽样速率运行。例如mdlOutputs
方法检查第一个输入端口的采样时间索引是否正在执行。
static void mdlOutputs(SimStruct *S, int_T tid) {int sti = ssGetInputPortSampleTimeIndex(S,0);if (ssIsSampleHit(S, sti, tid)) {CodeForThisSampleRateHere ()}}
的索引返金宝app回CONSTANT_TID
(-2
)表示常数(正
)采样次数。在本例中,样本时间索引和模型范围的任务ID是相同的。
语言
C, c++
例子
参见s函数sfun_multirate.c
中使用的sfcndemo_sfun_multirate
和s函数sfun_port_constant.c
中使用的sfcndemo_port_constant
.