一个金宝app仿真软件®函数是一个图形对象,它使您能够在状态和转换的操作中调用Simulink子系统。金宝app金宝app在独立的statflow中不支持Simulink函数金宝app®在MATLAB图表®.
金宝appSimulink函数可以提高设计的效率,增加模型的可读性。典型的应用包括:
定义需要Simulink块的函数金宝app
多个控制器的调度执行
金宝app状态流程图中的Simulink功能具有以下优点:
无函数调用子系统块
没有输出事件
没有信号线
Si金宝appmulink函数可以驻留在图表、状态或子图表中的任何位置。函数的位置决定了能够调用函数的状态和转换。
如果您想只在一个状态或子图表及其子状态中调用函数,请将您的Simulink函数置于该状态或子图表中。金宝app该函数覆盖该状态或子图表的父级中同名的任何其他函数。
如果要从图表中的任何位置调用函数,请将Simulink函数置于图表级别。金宝app
如果您想从模型中的任何图表调用函数,请使用金宝app仿真软件的功能(金宝app模型)块来直接在Simulink画布中定义函数。金宝app有关更多信息,请参见金宝appSimulink功能概述(金宝app模型).
要从Simulink函数访问Stateflow数据,必须将该数据作为S金宝appimulink函数的输入。
这个Sim金宝appulink函数有它的名字模拟功能
. 这需要三个论点(一个
,b
和c
)并返回两个输出值(x
和y
).
该函数包含一个Simulink子系统,该子系统将金宝app第一个参数乘以25的增益,并将其他两个参数组合成一个复杂的输出信号。
定义Simulink函数后,可以将其放金宝app置在状态流程图或Simulink模型中的任何位置。此外,您可以在相同或不同的模型中根据需要多次重用此功能。
在对象选项板中,单击Simulink函数图标金宝app.
在图表画布上,单击新Simulink函数的位置。金宝app
输入函数的签名标签。
函数的签名标签指定了函数的名称及其参数和返回值的正式名称。签名标签有这样的语法:
[return_val1, return_val2,…] = function_name (__arg1,最长,…)
所有参数和返回值必须使用唯一的变量名。
编程功能,通过双击功能框打开Simulink编辑器。金宝app最初,编辑器包含一个函数调用触发(金宝app模型)块和输入(金宝app模型)和外埠(金宝app模型)与函数签名匹配的块。不能删除触发块。
在Simuli金宝appnk编辑器中,添加块以创建Simulink子系统并将其连接到输入和外埠阻碍。
配置输入和外埠阻碍。
双击每个块打开“块参数”对话框。
在信号属性选项卡上,输入数据类型和端口尺寸输入参数或返回值的值。
点击好啊.
请注意
一个输入在Simulink函数金宝app中不能继承它的数据类型和端口尺寸.有关更多信息,请参见显式设置输入块的属性.
您可以从任何状态或转换的动金宝app作或从其他函数调用Simulink函数。
要调用Simulin金宝appk函数,请使用函数签名,并在函数签名中为每个正式参数包含参数值。
[return_val1, return_val2,…] = function_name (__arg1,最长,…)
如果两个参数的数据类型不同,则函数将参数强制转换为形式参数的类型。
您可以在“块参数”对话框中为Simulink函数指定属性。金宝app
在状态流编辑器中,右键单击Simulink函数。金宝app
选择属性.
编辑Simulin金宝appk函数属性。
也可以从模型管理器中编辑Simulink函数金宝app属性。有关详细信息,请参阅模型资源管理器(金宝app模型).
有关Simulink函数属性的描述,请参见金宝app子系统,原子子系统,代码重用子系统(金宝app模型).
可以使用以下命令以编程方式指定Simulink函数的其他属性:金宝appStateflow.slf函数
有关Stateflow编程接口的更多信息,请参阅Stateflow API概述.
在本例中,您可以比较汽车系统的换挡逻辑的建模。第一个模型不使用Simulink函数,而第二个模型使用。金宝app
这个模型使用了一个函数调用子系统,run ()
,S金宝appimulink模型计算换档阈值。状态流程图然后使用输出事件,CALC_TH ()
,调用子系统。
有关函数调用子系统的更多信息,请参见使用函数调用子系统(金宝app模型).
使用Simulink函数也可以实现同样的功能。在此状态流程图中,Simulink函数金宝appcalc_th
用于计算阈值。
的在
行动selection_state
包含对的函数调用calc_th
,其中包含Simulink块。金宝app
此建模方法可最小化模型中的对象。
在本例中,您可以比较两种调度多个控制器执行的方法。第一种模型不使用Simulink函数,而第二种模型使用Simulink函数。金宝app
该模型使用函数调用子系统为每个控制器建模。该模型在状态流图中包含输出事件,以安排子系统的执行。
对于每个输出事件,需要一条信号线将状态流图与相应的函数调用子系统连接起来。
每个控制器也可以用状态流程图中的Simulink函数建模。金宝app这个模型使用函数调用来调度子系统的执行。
此建模方法可最小化模型中的对象。
金宝app仿真软件的功能(金宝app模型)|触发(金宝app模型)|输入(金宝app模型)|外埠(金宝app模型)|信号转换(金宝app模型)|总线生成(金宝app模型)|多路复用器(金宝app模型)