Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何在Simulink中实现渐进启动/关闭信号?_Matlab_Simulink - Fatal编程技术网

Matlab 如何在Simulink中实现渐进启动/关闭信号?

Matlab 如何在Simulink中实现渐进启动/关闭信号?,matlab,simulink,Matlab,Simulink,我有一个压缩机模型,我想控制它的启动和关闭 当控制信号(K)为1时,表示接通模式;当为0时,表示断开模式 控制信号瞬间从1变为0,表示停机已启动 停机启动后,我希望压缩机的输出逐渐降至零。例如,如果用户指定压缩机需要20秒才能关闭,则信号应在20秒内从1缓降到0 同样,启动时,应发生相反的情况,压缩机输出应在20秒内从0变为1 例如,20秒启动,70秒停机: 计算效率高的方法是什么 我想也许斜坡+饱和组合给了我一种使信号上升或下降的方法。不幸的是,坡道启动时间无法得到充分控制。像这样的东西

我有一个压缩机模型,我想控制它的启动和关闭

  • 当控制信号(K)为1时,表示接通模式;当为0时,表示断开模式
  • 控制信号瞬间从1变为0,表示停机已启动
  • 停机启动后,我希望压缩机的输出逐渐降至零。例如,如果用户指定压缩机需要20秒才能关闭,则信号应在20秒内从1缓降到0
  • 同样,启动时,应发生相反的情况,压缩机输出应在20秒内从0变为1
例如,20秒启动,70秒停机:

计算效率高的方法是什么

我想也许斜坡+饱和组合给了我一种使信号上升或下降的方法。不幸的是,坡道启动时间无法得到充分控制。像这样的东西,我认为可能有用:


您是否尝试将该块与“控制信号”结合使用?

您可以在simulink中使用重新分配序列块

您可以定义您的r信号在每个时刻需要达到的值的顺序。
探索这个选项

我不知道块的情况,但是,似乎只有在采样时间连续的情况下它才有效。因为我使用的是可变步长解算器,这让Simulink不高兴。??你可以,也可能应该,在可变步长的解算器中使用连续采样时间。这不起作用,因为重复序列需要一个固定的周期。在这种特定情况下,停机和启动由温度控制,因此,在固定时间段后不会发生。