标准模式参考模型中的s函数
请注意
有关其他信息,请参见模型参考要求和限制.
当C - s函数出现在以Normal模式执行的引用模型中,如果以下所有条件都为真,则不可能成功执行:
s函数既有an
mdlProcessParameters
函数和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 -函数的限制相同每个子系统块。
另请参阅
二级MATLAB s函数|s函数生成器|功能|MATLAB函数