主要内容

ssGetInputPortSampleTimeIndex

获取输入端口的采样时间索引

语法

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

之前介绍过的R2006a