主要内容

S-Functions在正常模式中引用的模型

请注意

有关更多信息,请参见模型参考需求和限制

当一个C函数出现在一个参考模型,在正常模式下,执行成功执行是不可能的,如果所有以下是正确的:

  • 功能有一个mdlProcessParameters函数和一个mdlStart函数。

  • mdlProcessParameters函数依赖于mdlStart函数。

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

执行失败,因为mdlProcessParameters依赖需求,mdlStart不满意。自动化分析不能预防所有可能导致的失败:您必须手动检查你的代码,并验证mdlProcessParameters不以任何方式依赖mdlStart被称为第一。这种依赖的例子包括:

  • 分配内存的mdlStart记忆和使用mdlProcessParameters。这是经常使用ssSetUserDatassGetUserData

  • 初始化任何DWork或任何全局内存mdlStart和阅读中的值mdlProcessParameters

提醒你检查任何这样的依赖问题,则会出现一条错误消息默认情况下的任何功能在正常模式中使用模型和包含一个引用mdlProcessParameters函数和一个mdlStart函数。错误消息并不意味着任何依赖的问题存在,但只有他们可能存在。

如果你有这样一个错误消息,检查任何有问题的功能依赖关系,并根据需要重新编码来消除它们。当不存在这样的依赖项,您可以安全地抑制错误消息和使用功能在正常模式中引用的模型。兹证明功能兼容,因此消息是不必要的,包括以下声明mdlInitializeSizes:

ssSetModelReferenceNormalMode金宝appSupport(年代,MDL_START_AND_MDL_PROCESS_PARAMS_OK);

引用模型的信息,请参阅模型参考基础

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

您可能需要修改S-functions所使用的模型,以便S-functions处理的多个实例引用模型在正常模式。S-functions必须明确表明他们支持多个金宝app执行实例。

  • 对于C S-functions,使用ss金宝appSupportsMultipleExecInstances(年代,真的)

  • 对MATLAB®文件S-functions,使用block金宝appSupportMultipleExecInstances = true

限制使用S-functions多个实例的引用模型在正常模式下一样的限制适用于用S-functions为每个子系统块。

另请参阅

|||

相关的话题