主要内容

DWork向量的类型

所有的DWork向量都是Simulink的s函数存储器金宝app®引擎管理。Simu金宝applink软件支持四种类型的金宝appDWork矢量:

  • 一般DWork向量包含任何数据类型的信息。

  • DState向量包含离散状态信息。存储在DState向量中的信息在线性化模型中显示为一种状态,在状态日志记录期间可用。

  • 抓向量包含不需要从一个时间步骤持久化到下一个时间步骤的值。

  • 模式向量包含模式信息,通常存储为布尔或整数数据。

方法注册DWork向量类型ssSetDWorkUsageType宏。此宏接受下表中描述的四种使用类型之一。

DWork 使用类型 功能
一般 SS_DWORK_USED_AS_DWORK 存储特定于实例的持久数据。一般的DWork向量也可以用来存储离散的状态和模式数据,但是Simulink引擎不会特别处理这些信息。金宝app如果希望避免数据日志记录,可以选择使用通用的DWork向量来存储状态信息。
DState SS_DWORK_USED_AS_DSTATE 存储离散状态信息。使用DState向量代替ssSetNumDiscStates存储离散状态为状态的命名和数据类型提供了更大的灵活性。在样本时间传播过程中,引擎将具有离散状态的块标记为特殊的块。此外,该引擎使存储在DState向量中的数据在数据日志记录期间可用。
模式 SS_DWORK_USED_AS_MODE 向Simulink引擎指示s函数金宝app包含模式。引擎处理模块与模式,特别是当解决代数循环。此外,发动机更新的s功能,模式只在主要的时间步骤。DWork模态向量比标准模态功向量更有效基本工作向量),因为它们可以将模式信息存储为布尔数据。此外,虽然s函数只有一个模态功向量,但它可以有多个配置为存储模式的DWork向量。
刮伤 SS_DWORK_USED_AS_SCRATCH 存储非持久性内存,例如,您不想在堆栈上标记的大变量。Scratch向量的作用域是特定的s函数方法(例如,mdlOutputs),并且存在于单个时间步骤中。Scratch内存可以跨s功能块共享。Simu金宝applink引擎试图最小化scratch变量所使用的内存数量,并在可能的情况下重用scratch内存。