Main Content

createSampleTime

类: matlab.System

创建采样时间设定对象

语法

sts = createSampleTime(obj)
sts = createSampleTime(obj,'Type',Type)
sts = createSampleTime(obj,'Type',Type,Name,Value)

说明

sts = createSampleTime(obj) 为 System object™ obj 的继承采样时间创建采样时间设定对象。可在 System object 的 getSampleTimeImpl 方法中使用此采样时间设定对象。当 System object 包含在 MATLAB System 模块中时,采样时间设定会影响仿真时间。如果您的 System object 定义中没有包含此方法,将继承采样时间。

sts = createSampleTime(obj,'Type',Type) 创建具有指定采样时间类型的采样时间设定对象。

sts = createSampleTime(obj,'Type',Type,Name,Value) 创建一个采样时间设定对象,并通过一个或多个 Name,Value 对组参量指定其他选项。Name 是属性名称,Value 是对应的值。Name 必须放在引号内。您可采用任意顺序指定多个名称-值对组参量,例如 Name1,Value1,...,NameN,ValueN

相关函数

您只能从 System object 的 getSampleTimeImpl 方法调用 createSampleTime

输入参数

全部展开

要指定采样时间的 System object。

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: 'Type','Fixed In Minor Step'

您希望 System object 在 Simulink® 中使用的采样时间类型。有关不同类型的采样时间的说明,请参阅:

示例: createSampleTime('Type','Fixed In Minor Step')

仅适用于 Inherited 采样时间。

指定允许对象使用的一种或多种采样时间。当采样时间类型设置为 Inherited,且 MATLAB System 模块接收到指定的采样时间时,该模块将允许采样时间传播。如果有多种采样时间类型,可以将它们指定为元胞数组或字符串数组。

示例: createSampleTime('Type','Inherited','AllowPropagation',{'Controllable','Continuous'})

仅适用于 Inherited 采样时间。

指定一个或多个不希望对象使用的采样时间。当采样时间类型设置为 Inherited,而您又不希望 MATLAB System 模块使用指定的继承采样时间类型,模块将改用替代采样时间。您可以指定多种采样时间类型。对于每种采样时间类型,Simulink 会应用一种不同的替代采样时间类型:

  • 'Controllable' - 传播受控采样的基本速率。如果您的 System object 要求每个采样时间命中点之间保持常量时间,请使用此选项。

  • 'Constant' - 传播模型的基本速率,或是最快的离散速率,或是子步中不变。

  • 'Continuous' - 传播速度最快的离散速率。

示例: createSampleTime('Type','Inherited','AlternatePropagation','Controllable')

仅适用于 Inherited 采样时间。

指定一个或多个不希望对象使用的采样时间。当采样时间类型设置为 Inherited,且 MATLAB System 模块接收到指定的采样时间时,Simulink 会引发错误。

示例: createSampleTime('Type','Inherited','ErrorOnPropagation','Controllable')

仅适用于 Discrete 采样时间。

指定 Simulink 中采样时间命中点之间的时间间隔。

示例: createSampleTime('Type','Discrete','SampleTime',1)

数据类型: single | double

仅适用于 Discrete 采样时间。

指定采样时间命中点的偏移时间。偏移量是指示更新延迟的时间间隔。该模块将按照比其他以相同采样率运行的模块晚的采样间隔进行更新。

偏移时间必须是小于 SampleTime 的非负值。

示例: createSampleTime('Type','Discrete','SampleTime',2,'OffsetTime',1)

数据类型: single | double

必需参数,仅适用于 Controllable 采样时间。

指定可控采样时间命中点之间的时间间隔。间隔必须是正标量。

示例: createSampleTime('Type','Controllable','TickTime',obj.TickTime)

数据类型: single | double

输出参量

全部展开

采样时间设定对象。此对象具有以下属性:

  • Type (Simulink) - 采样时间的类型

  • SampleTime (Simulink) - 采样之间的时间间隔

  • OffsetTime (Simulink) - 与采样时间之间的偏移量

可以使用此对象作为 getSampleTimeImpl 的返回值。

示例

全部展开

指定 MATLAB System 模块从上游模块继承采样时间。继承采样时间是默认设置,因此不需要指定附加参量。

function sts = getSampleTimeImpl(obj)
    sts = createSampleTime(obj);
end

MATLAB System 模块指定离散采样时间设定,包括偏移时间和采样时间。

function sts = getSampleTimeImpl(obj)
    sts = createSampleTime(obj,'Type','Discrete',...
      'SampleTime',10.2,'OffsetTime',0.5);
end

版本历史记录

在 R2017b 中推出