文档

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

R2006a之前介绍过