主要内容

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.注意,通过知道给定端口的采样时间而隐式定义采样时间的任何其他输入或输出端口也可以通过调用来设置它们的采样时间ssSetInputPortSampleTimessSetOutputPortSampleTime.此方法仅对模拟有效,并且必须包含在#如果定义(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

版本历史

R2006a之前介绍