simulink建立PID没有传递函数,用的系统的模型,输出的初始值怎么设定?为什么只能从0开始?

问题遇到的现象和发生背景

在做pid控制时,我想要经过系统(example1)的输出去追踪参考值0,初始值和预想的不一样。

问题相关代码,请勿粘贴截图

example2是用作对比的,example1和example2用的都是s-function编的简单输出

img

这是系统的函数
example1的主要程序:

img


作为对比的不加控制的example2的主要程序:

img

运行结果及报错内容

为什么一开始的时候,蓝线控制的不应该是从2开始下降吗?

img

我的解答思路和尝试过的方法

之前使用Matlab-function试的,我的模型比这个复杂,这个问题是我简化了模型,出了一样的问题,所以好想用不了传递函数,设置不了模型输出的初始值,搞了半天了,实在搞不出来。

我想要达到的结果

img

如果Matlab Function不含动态特性的话,那么输出和输入之间是存在直接馈通的。
可以加个IC模块,设置输出的初始值,系统在计算时,会以这个输出的地方作为计算起点。