mdlSetInputPortSampleTime
设置输入端口的采样时间,该输入端口从其连接的端口继承其采样时间
要求
没有
语言
C, c++
语法
#定义MDL_SET_INPUT_PORT_SAMPLE_TIME(SimStruct *S, int_T port, real_T sampleTime, real_T offsetTime)
参数
-
年代
-
SimStruct表示一个S-Function块。
-
港口
-
端口索引。
-
sampleTime
-
继承的样本时间为
港口
. -
offsetTime
-
继承的偏移时间为
港口
.
描述
的仿真软万博1manbetx件®引擎调用此方法的采样时间为港口
从所连接的端口继承。
对于C MEX s -函数,如果继承的采样时间可以接受,则该方法设置的采样时间为港口
对继承的时间,加以利用ssSetInputPortSampleTime
而且ssSetInputPortOffsetTime
.如果采样时间是不可接受的,该方法产生一个误差通过ssSetErrorStatus
.注意,通过知道给定端口的采样时间而隐式定义采样时间的任何其他输入或输出端口也可以通过调用来设置它们的采样时间
或ssSetInputPortSampleTime
.此方法仅对模拟有效,并且必须包含在ssSetOutputPortSampleTime
#如果定义(MATLAB_MEX_FILE)
声明。
引擎调用此方法,直到指定所有具有继承采样时间的输入端口。
当指定继承的基于端口的采样时间时,采样时间保证为以下其中之一0.0 < period < inf
而且0.0 <= offset <周期
.
样品时间 | 时间偏移量 | |
---|---|---|
连续 | 0.0 |
0.0 |
离散 | 期 |
抵消 |
常量、触发和可变步长采样时间不会传播到具有基于端口的采样时间的s函数。
一般mdlSetInputPortSampleTime
在输入端口采样时间的每个端口调用一次。然而,在某些情况下,这个函数会被调用不止一次。这种情况发生在模拟引擎将连续采样时间转换为连续但固定在小步骤的采样时间时。当这种情况发生时,原始值的采样次数指定mdlInitializeSizes
在再次调用此方法之前恢复。
在端口指定的最终采样时间可以不同于(但等效于)此方法指定的采样时间。这种情况发生在
该模型采用固定步长求解器,端口具有连续但小步长固定的采样时间。在这种情况下,Simulink引擎将万博1manbetx样本时间转换为模型的基本样本时间。
发动机调整采样时间,使其在数值上尽可能合理。例如,引擎转换
(0.2499999999999, 0)
来(0.25, 0)
.
s函数可以检查最终的采样时间mdlInitializeSampleTimes
.
另请参阅
ssSetInputPortSampleTime
,ssSetOutputPortSampleTime
,mdlInitializeSampleTimes
,SetInputPortSampleTime
版本历史
R2006a之前介绍