主要内容

设置

指定MATLAB s函数的输入、输出、状态、参数和其他特性的个数

要求

是的

语言

MATLAB

语法

设置(s)

参数

年代

的实例金宝app仿真软件。MSFcnRunTimeBlock类表示MATLAB二级s函数块。

描述

这是Simulink的第一个s函数回调方法金宝app®引擎调用。

MATLAB二级s函数设置方法执行与C MEX s -函数几乎相同的任务mdlInitializeSizes方法,有两项显著性差异。的设置方法不初始化离散状态信息,但它指定块样本时间,从而消除了使用mdlInitializeSampleTimes方法。使用运行时对象的下列属性和方法年代配置S-function。

  • 使用命令指定此s函数支持的参数数量金宝apps.NumDialogPrms

    使用年代。DialogPrmsTunable设置每个对话框参数的可调性。当参数被指定为不可调优时,Simulink引擎在模拟期间(或在使用外部模式时)发出错误金宝app金宝app仿真软件编码器™产品),如果试图更改参数。

  • 指定该函数具有的连续状态数,使用s.NumContStates.中指定离散状态信息PostPropagationSetup方法使用DWork向量。

  • 配置块的输入端口,包括:

    • 指定这个s函数的输入端口的数量,使用s.NumInputPorts

    • 指定的尺寸th输入端口,使用s.InputPort ().维

    • 如果使用基于端口的采样时间,请指定端口的采样时间th输入端口,使用s.InputPort ().SampleTime

    • 对于每个输入端口,指定它是否有直接馈通,使用s.InputPort ().DirectFeedthrough

      一个端口有直接馈通,如果输入被用于输出方法来计算输出或下一个样本时间,对于具有可变样本时间的s函数。每个输入端口的直通标志可以设置为任意一种1 =是的0 =没有.如果输入,u,用于输出方法。将直接馈通标志设置为0告诉引擎u在这个s函数方法中不使用。违背这一点会导致不可预知的结果。

    看到金宝app仿真软件。BlockData以及它的父类和子类,用于列表中与二级MATLAB s函数输入端口相关联的所有属性和方法。

  • 配置块的输出端口,包括:

    • 指定块拥有的输出端口的数量,使用s.NumOutputPorts

    • 指定的尺寸th输出端口,使用s.OutputPort ().维

    • 如果使用基于端口的采样时间,请指定端口的采样时间th输出端口,使用s.OutputPort ().SampleTime

  • 设置基于块的样本时间(即,样本率),使用s.SampleTimes

    看到指定s函数的采样时间以完整地讨论示例时间问题。

    对于多速率s函数,建议采用基于端口的采样时间方法来设置采样时间。当您创建一个多速率s函数时,您必须注意验证,当较慢的任务被抢占时,您的s函数正确地管理数据,以避免竞争条件。当指定基于端口的采样时间时,块不能继承采样时间在任何港口。

看到使用setup方法的附加信息和示例设置方法。

动态调整块大小

您可以自行设置参数NumContStatesNumDworkDiscStatesNumInputPorts,NumOutputPorts转换为固定的非负整数,或者告诉Simulink引擎动态调整它们的大小:金宝app

  • DYNAMICALLY_SIZED——将状态、工作向量等的长度设置为从驱动块继承的值。它根据标量展开规则将宽度设置为实际的输入宽度,除非您使用mdlSetWorkWidths设置宽度。

  • 0or正数——设置长度(或宽度)为指定值。默认值是0

介绍了R2012b