我在 simulink 中有一个模型,它控制一个实时应用程序。我有一个预定义的测试计划,它基本上是一个表格,使用状态流图逐行处理。在某些步骤中,记录非常小的时间步骤非常重要,以查看应用程序如何处理输入的详细信息。对于测试计划中的其他步骤,记录这么多步骤并不重要,因为我必须再次调节我的测试装置或类似的东西。“可变采样率”可以是模型基本采样率的倍数。有没有办法用每行不同的采样时间记录这些数据?测试计划可能如下图所示。命令中的每一行都有匹配的采样时间。在我的状态流图中,我使用每一行中的值将某些内容发送到我的测试装置。在反馈循环中,如果满足要求,它将转到测试计划中的下一行。即达到目标值。
测试计划:
Stateflow图流程:
我在测试计划本身中定义了每行的采样时间,并通过处理整个测试计划的 staeflow 图表给出了值。我尝试使用 matlab 函数块将变量写入基础工作区。然后我在工作区块中将此变量用作采样时间。奇怪的是,它改变了第一条处理线的工作区块的采样时间,但在整个模拟过程中保持这种状态。我也尝试对速率转换块进行同样的操作。