你可以放置金宝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)
。
参数的参数说明金宝appSimulink功能块的数据类型输入参数中的参数和输出参数块。
输出参数规范:指定匹配金宝appSimulink功能块输出参数数据类型,例如,双(1.0)
。
在此示例中,父模型包含两个引用的模型。model_a.
是一个引用的模型函数调用者块。Model_B.
是一个带有范围的引用模型金宝appSimulink功能块。只有Model_B.
与A.金宝appSimulink功能块必须遵循导出功能规则。
为了model_a.
,请根据您的参考模型提供参数规范参考模型中的函数来电块。为了Model_B.
,指定参数,就像对引用模型所做的那样金宝app参考模型中的Simulink函数块。
要打开完成的模型,请参阅ex_referenced_model_with_金宝appsimulink_function_and_function_caller
。
model_a.
包含A.函数调用者块。如果函数设置为全球的
,定义输入和输出参数规范参数。如果函数设置为范围
,提供模型的文件名,而不是块名,在模型中函数被解析为asy = 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.
允许在父模型中。