importmatplotlib.pyplot as pltimportnumpy as npimporttimeimportthreadingimporttkinter
method=1 #method为1时自动控制,为其他值时手动控制
sp=10 #设定值
T1=10 #第一个水箱的参数
T2=20 #第二个水箱的参数
k1=1.5 #第一个水箱的参数
k2=1.2 #第二个水箱的参数
deltat=0.05 #仿真的步距
showt=0.5 #显示的步距
#pid控制参数
kp=2ki=0.05kd=0#输出限幅
umax=20umin=0#初始化
y1=0 #第一个水箱的初始水位
y2=0 #第二个水箱的初始水位
t=0 #运行的时间
i=0
u=1 #第一个水箱的进水量
#三个显示窗口的设置
p1=plt.subplot(3,1,1)
p1.set_title('inflow u')
p2=plt.subplot(3,1,2)
p2.set_title('water level y1')
p3=plt.subplot(3,1,3)
p3.set_title('water level y2')
plt.plot(0,0)defloop():globaly1,y2,t,i,u,sp
Y1=[y1]
Y2=[y2]
T=[t]
U=[u]</