创建测试工具来生成函数调用

创建模型组件以初始化、重置和终止块的状态之后(请参阅使用初始化,复位和终止功能),您可以将模型放在模拟测试工具中。测试工具是一个Simulink万博1manbetx®模型,用于开发,测试和调试模型组件。

创建测试线束,引用包含在一个新的模型的模型组件的出口的函数模型,然后添加一个状态流®图表的函数调用事件调度模型。

引用导出功能模型

出口函数模型包含测试模型组件。创建导出函数模型,看创建一个导出功能模型

  1. 创建一个Simul万博1manbetxink模型。用名称保存这个模型Test_Model

  2. 设置求解器的配置参数类型固定步长,规划求解汽车,固定步长1

  3. 添加一个模型块。打开块参数对话框。在里面模型名称文本框中,输入导出函数模型的名称。在本例中,输入Model02

  4. 由函数调用发生器块连接到所述测试所引用的模型组件港口。连接常数阻止对信号在端口和一个范围阻止对信号输出港口。

  5. 运行仿真来验证你的模型从父模型正确模拟。当模型模拟没有函数调用事件口岸,初始化函数在模拟的开始和块执行终止功能块执行在模拟结束。

  6. 公开模型块上的函数调用输入端口。右键单击模型块,然后选择块的参数。在块参数对话框,选择显示模式初始化端口显示模式复位端口。,显示模式终止端口复选框。

  7. 删除函数调用发生器块和通过按更新模型CTR-d

    当您激活一个初始化函数调用输入端口模型块,该机型拥有收到关于一个初始化函数调用初始化端口,在它可以执行之前。函数调用的接收触发执行默认的模型初始化例程,然后执行初始化函数块的内容。

    的接收函数调用重置端口触发器的复位功能块内容的执行。

    的接收函数调用终止端口触发的执行终止功能块内容,然后默认模型的执行终止程序。然后该模型将停止运行。再次执行模式,你必须通过发送函数调用事件的重新初始化模式初始化港口。

为事件调度程序建模

使用Stateflow框图建模事件时间表,并生成初始化和终止函数调用信号。

  1. 添加Stateflow的图表。点击模型图,然后开始键入图表。从搜索列表中,选择

  2. 打开图表并添加两个状态块,一个在另一个之上。

  3. 添加默认过渡,并将其连接到顶部状态块。编辑标签:

    {步骤= 0}
  4. 从顶部块的过渡添加到垫块。编辑标签:

    [步骤== 2] / {}初始化

  5. 添加从底部块和回底块的过渡。编辑标签:

    [步骤== 5] / {复位}

  6. 添加从底部块到顶部块的转换。编辑标签:

    (步骤= = 9)/{终止}

  7. 编辑顶块的内容:

    非活动条目:步长=步长+ 1;期间:步长=步+ 1;

  8. 编辑垫块的内容:

    运行条目:步长=步长+ 1;跑;期间:步长=步+ 1;跑;

连接图,以测试模型

在图表上创建函数调用的输出端口,以控制和运行该模型组件。

  1. 模型浏览器打开。在造型选项卡,并从设计部分选择模型的工作空间. .

  2. 创建索引变量。从菜单中选择>数据。在数据对话框中,输入名称

  3. 创建函数调用输出端口。对于每一个函数调用时创建,选择>事件而在事件对话框中,输入和选择以下值。

    输入事件文本框 设置范围 设置触发
    初始化 输出到Simulin万博1manbetxk中 函数调用
    重置 输出到Simulin万博1manbetxk中 函数调用
    终止 输出到Simulin万博1manbetxk中 函数调用
    输出到Simulin万博1manbetxk中 函数调用

  4. 导航到模型的顶层。连接初始化重置终止,图表的上端口初始化重置终止,在输入端口模型块。

  5. 运行模拟。

    在第二次时间步骤中,当块状态初始化为4时,模型才能执行。在第五个时间步骤中,对重置端口的重置函数调用触发复位功能阻止执行。在第九时间步长,该子系统停止执行,块状态保持恒定。

    如果模型接收函数调用中的初始化函数调用之前运行,发生模拟错误。

也可以看看

相关的话题