文档

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

的继承偏移时间港口

描述

的仿真软金宝app件®引擎调用此方法时的样本时间为港口从它所连接到的端口继承。

对于C MEX s -函数,如果继承的采样时间是可接受的,则该方法设置的采样时间港口以继承的时间,利用ssSetInputPortSampleTime而且ssSetInputPortOffsetTime.如果采样时间是不可接受的,这种方法通过产生一个错误ssSetErrorStatus.注意,任何其他输入或输出端口的采样时间都是通过知道给定端口的采样时间而隐式定义的,也可以通过调用来设置它们的采样时间ssSetInputPortSampleTimessSetOutputPortSampleTime.此方法仅对模拟有效,必须包含在#如果定义(MATLAB_MEX_FILE)声明。

引擎调用此方法,直到指定所有具有继承样例时间的输入端口。

当指定了继承的基于端口的采样时间时,采样时间保证为以下情况之一0.0 <周期< inf而且0.0 <= offset < period

样品时间 时间偏移量
连续 0.0 0.0
离散 抵消

常量、触发和可变步长采样时间不会传播到具有基于端口的采样时间的s函数。

一般mdlSetInputPortSampleTime使用输入端口采样时间对每个端口调用一次。但是,在某些情况下,这个函数会被多次调用。当模拟引擎将连续采样时间转换为连续但固定在小步骤中的采样时间时,就会发生这种情况。中指定的样本次数的原始值mdlInitializeSizes在再次调用此方法之前恢复。

在端口指定的最终采样时间可以不同于(但等价于)此方法指定的采样时间。这发生在

  • 该模型采用固定步长求解器,端口具有连续但固定的小步长采样时间。在这种情况下,Simulink引擎将金宝app采样时间转换为模型的基本采样时间。

  • 引擎调整采样时间,使其尽可能在数值上合理。例如,引擎转换(0.2499999999999, 0)(0.25, 0)

s函数可以检验最终的样本时间mdlInitializeSampleTimes

R2006a之前介绍过