% PIPE FLOW SETUP % RELAY ONTROLLERS clear all ROLD=0.0;HOLD=0.0;SENSOR=ROLD; TARGET=5.0;LOAD=0.0;DUMP=10.0; X=0.5;Y=1.0;A=0.1;B=1.0;Z=1.0; NIT=10000;MIT=500;TIME=0.0; BIAS=5.0;JUMP=5.0;BAND=0.0; DELT=0.0005; for IT=1:NIT TIME=TIME+DELT; if(IT>MIT) ... SENSOR=R(IT-MIT); end; ERROR=TARGET-SENSOR; CONTROL=BIAS; if(ERROR>+BAND) ... CONTROL=BIAS+JUMP;end; if(ERROR<-BAND) ... CONTROL=BIAS-JUMP;end; ABC=Z*CONTROL-B*HOLD; XYZ=HOLD+LOAD-Y*ROLD; HNEW=HOLD+DELT*ABC/A; RNEW=ROLD+DELT*XYZ/X; T(IT)=TIME;R(IT)=RNEW; ROLD=RNEW;HOLD=HNEW; end; plot(T,R) xlabel('time') ylabel('volts') title('pipe relay control')