创建模型组件以初始化、重置和终止块的状态之后(请参阅使用初始化,复位和终止功能),您可以将模型放在模拟测试工具中。测试工具是一个Simulink万博1manbetx®模型,用于开发,测试和调试模型组件。
创建测试线束,引用包含在一个新的模型的模型组件的出口的函数模型,然后添加一个状态流®图表的函数调用事件调度模型。
出口函数模型包含测试模型组件。创建导出函数模型,看创建一个导出功能模型。
创建一个Simul万博1manbetxink模型。用名称保存这个模型Test_Model
。
设置求解器的配置参数类型至固定步长
,规划求解汽车
,固定步长至1
。
添加一个模型块。打开块参数对话框。在里面模型名称文本框中,输入导出函数模型的名称。在本例中,输入Model02
。
由函数调用发生器块连接到所述测试所引用的模型组件跑
港口。连接常数阻止对信号在
端口和一个范围阻止对信号输出
港口。
运行仿真来验证你的模型从父模型正确模拟。当模型模拟没有函数调用事件口岸,初始化函数在模拟的开始和块执行终止功能块执行在模拟结束。
公开模型块上的函数调用输入端口。右键单击模型块,然后选择块的参数。在块参数对话框,选择显示模式初始化端口,显示模式复位端口。,显示模式终止端口复选框。
删除函数调用发生器块和通过按更新模型CTR-d。
当您激活一个初始化函数调用输入端口模型块,该机型拥有收到关于一个初始化函数调用初始化
端口,在它可以执行之前。函数调用的接收触发执行默认的模型初始化例程,然后执行初始化函数块的内容。
的接收函数调用重置
端口触发器的复位功能块内容的执行。
的接收函数调用终止
端口触发的执行终止功能块内容,然后默认模型的执行终止程序。然后该模型将停止运行。再次执行模式,你必须通过发送函数调用事件的重新初始化模式初始化
港口。
使用Stateflow框图建模事件时间表,并生成初始化和终止函数调用信号。
添加Stateflow的图表。点击模型图,然后开始键入图表
。从搜索列表中,选择。
打开图表并添加两个状态块,一个在另一个之上。
添加默认过渡,并将其连接到顶部状态块。编辑标签:
{步骤= 0}
从顶部块的过渡添加到垫块。编辑标签:
[步骤== 2] / {}初始化
添加从底部块和回底块的过渡。编辑标签:
[步骤== 5] / {复位}
添加从底部块到顶部块的转换。编辑标签:
(步骤= = 9)/{终止}
编辑顶块的内容:
非活动条目:步长=步长+ 1;期间:步长=步+ 1;
编辑垫块的内容:
运行条目:步长=步长+ 1;跑;期间:步长=步+ 1;跑;
在图表上创建函数调用的输出端口,以控制和运行该模型组件。
模型浏览器打开。在造型选项卡,并从设计部分选择模型的工作空间. .
创建索引变量。从菜单中选择加>数据。在数据对话框中,输入步
为名称。
创建函数调用输出端口。对于每一个函数调用时创建,选择加>事件而在事件对话框中,输入和选择以下值。
输入事件文本框 | 设置范围 | 设置触发 |
---|---|---|
初始化 |
输出到Simulin万博1manbetxk中 |
函数调用 |
重置 |
输出到Simulin万博1manbetxk中 |
函数调用 |
终止 |
输出到Simulin万博1manbetxk中 |
函数调用 |
跑 |
输出到Simulin万博1manbetxk中 |
函数调用 |
导航到模型的顶层。连接初始化
,重置
,终止
,跑
图表的上端口初始化
,重置
,终止
,跑
在输入端口模型块。
运行模拟。
在第二次时间步骤中,当块状态初始化为4时,模型才能执行。在第五个时间步骤中,对重置端口的重置函数调用触发复位功能阻止执行。在第九时间步长,该子系统停止执行,块状态保持恒定。
如果模型接收函数调用中的初始化函数调用之前运行,发生模拟错误。