所有的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内存。 |