主要内容

标准模式参考模型中的s函数

请注意

有关其他信息,请参见模型参考要求和限制

当C - s函数出现在以Normal模式执行的引用模型中,如果以下所有条件都为真,则不可能成功执行:

  • s函数既有anmdlProcessParameters函数和mdlStart函数。

  • mdlProcessParameters函数取决于mdlStart函数。

  • 引用的模型调用mdlProcessParameters在调用之前mdlStart

执行失败原因:mdlProcessParameters具有依赖关系要求mdlStart还没有满足。自动化分析不能预防所有可能导致这种失败的原因:您必须手动检查代码并进行验证mdlProcessParameters不是以任何方式依赖mdlStart第一个被叫到。这种依赖关系的例子包括:

  • 中分配内存mdlStart使用这些记忆mdlProcessParameters.这通常是用ssSetUserData而且ssGetUserData

  • 初始化任意DWork或任意全局内存mdlStart读取其中的值mdlProcessParameters

为了提醒您检查任何此类依赖关系问题,默认情况下,对于在正常模式引用模型中使用的任何s函数都会出现一条错误消息mdlProcessParameters函数和mdlStart函数。错误消息并不意味着存在任何依赖关系问题,而只是意味着可能存在依赖关系问题。

如果您得到这样的错误消息,请检查s函数中任何有问题的依赖项,并根据需要重新编码以消除它们。当不存在这样的依赖关系时,您可以安全地抑制错误消息,并在正常模式引用模型中使用s函数。为了证明s函数是兼容的,因此该消息是不必要的,在中包含以下语句mdlInitializeSizes

ssSetModelReferenceNormalMode金宝appSupport (S, MDL_START_AND_MDL_PROCESS_PARAMS_OK);

有关参考模型的信息,请参见模型参考基础

金宝app支持在正常模式下使用多个引用模型的实例

您可能需要修改模型使用的s函数,以便s函数在正常模式下与引用模型的多个实例一起工作。s函数必须明确表示它们支持多个金宝app执行实例。

  • 对于C - s函数,使用ss金宝appSupportsMultipleExecInstances(年代,真的)

  • 对MATLAB®文件s函数,使用block金宝appSupportMultipleExecInstances = true

在Normal模式下对引用模型的多个实例使用s -函数的限制与对使用s -函数的限制相同每个子系统块。

另请参阅

|||

相关的话题