你可以放置金宝appSimulink功能块和功能呼叫者(例如函数来电者块和州流®图表中的图表)在引用的模型中,但这样做需要一些特殊的考虑因素:
引用的模型必须遵循导出功能模型规则。看导出功能模型概述。
有时,您必须明确定义函数来电块的参数数据类型。
这些示例在函数来电块,Simulink功能块和引用的模型之间显示了四个关系。金宝app
在此示例中,父模型包含一个函数来电者块,以及引用的模型,Model_B.
,包含A.金宝appSimulink功能堵塞。Model_B.
必须遵循导出 - 函数模型规则。
这函数来电者块可以确定函数的参数数据类型。在里面函数来电者块,您不需要定义输入参数规范和输出参数规范参数。
但是,默认情况下,金宝appSimulink功能块被选中到模型,必须使用函数命名模型块名称。
要打开完成的模型,请参阅ex_references_model_with_金宝appsimulink_function_block.
。
Model_B.
包含A.金宝appSimulink功能块定义将输入乘以2.因为此模型仅包含a金宝appSimulink功能块,它满足出口函数模型规则。看导出功能模型概述。
为了Model_B.
,设置求解器的配置参数以满足导出功能模型规则:
类型:固定步骤
。
求解器:离散(没有连续的状态)
。
一旦金宝appSimulink功能通过设置将块标识为全局功能可见性到全球的
,对可以放置此引用模型的位置没有局限性。
例如,你可以放置Model_B.
与A.金宝appSimulink功能块在A.子系统堵塞。
在此示例中,父模型包含一个金宝appSimulink功能块,以及引用的模型,model_a.
,包含A.函数来电者堵塞。如果要使用此模型模式,请功能可见性参数为扳机港口块金宝appSimulink功能必须将块设置为全球的
。
对于父模型,将求解器类型设置为可变步骤
或者固定步骤
。
要打开完成的模型,请参阅ex_references_model_with_function_caller_block.
。
model_a.
包含A.函数来电者堵塞。
自从此以来函数来电者块找不到函数model_a.
,你必须设置功能可见性参数为扳机块到全球的
并指定这一点函数来电者块参数参数:
输入参数规范:指定匹配金宝appSimulink功能块输入参数数据类型,例如,双(1.0)
。
指定a的参数规范金宝appSimulink功能块数据类型输入参数和输出参数块中的参数。
输出参数规范:指定匹配金宝appSimulink功能块输出参数数据类型,例如,双(1.0)
。
在此示例中,父模型包含两个引用的模型。model_a.
是一个引用的模型函数来电者堵塞。Model_B.
是一个带有范围的引用模型金宝appSimulink功能堵塞。仅有的Model_B.
与A.金宝appSimulink功能块必须遵循导出功能规则。
为了model_a.
,请根据您的参考模型提供参数规范引用模型中的函数来电块。为了Model_B.
,根据您的引用模型指定参数金宝app引用模型中的Simulink功能块。
要打开完成的模型,请参阅ex_references_model_with_金宝appsimulink_function_and_function_caller.
。
model_a.
包含A.函数来电者堵塞。如果函数设置为全球的
,定义输入和输出参数规范参数。如果函数设置为范围
,提供文件名,而不是块名称,其中函数预计将被解析为y = model_b.functionname(u)
。
Model_B.
包含A.金宝appSimulink功能块定义将输入乘以2.因为此模型仅包含a金宝appSimulink功能块,它满足出口函数模型规则。看导出功能模型概述。
在此示例中,父模型包含一个引用的模型,model_c.
,两个函数来电者块和范围金宝appSimulink功能堵塞。
如果只有一个实例model_c.
,以及配置参数每个顶级模型允许的实例总数被设定为一
,父模型模拟没有错误。自从model_c.
不导出函数,它无需遵循导出功能规则。
如果配置参数每个顶级模型允许的实例总数被设定为多种的
那model_c.
无论是否存在模型的单个实例或多个实例,就会导出函数。在这两种情况下,Simulin金宝appk显示错误。模型需要遵循导出功能规则,但它不会是因为函数来电者导出功能模型的顶级不允许块。
model_c.
包含A.函数来电者块和范围金宝appSimulink功能堵塞。如果要使用此建模模式,只有一个实例model_c.
允许在父模型中。