---

!-------------------------------------------------------- ! Water tank heat control simulated feedback ! Assume constant volume (i.e. water in = water out) !-------------------------------------------------------- FEEDBACK TankTempFdbk CYCLE_TIME 0.10 ! Name MIN MAX IN Target_temp(32.0, 212.0) IN Water_out (0.0, 10.0) IN Gas_valve (0.0, 10.0) INOUT Temperature(32.0, 212.0) OUT Temp_error (-90.0, 90.0) Initialization Temp_error = 0; Temperature = 0; BEGIN Temp_error = Temperature - Target_temp; END; ! Name Below Low High Above Truth Symbol Zero OF Water_out ( 0.0, 0.0, 0.0, 2.0, 1.0) Symbol Light OF Water_out ( 0.0, 2.0, 3.0, 5.9, 1.0) Symbol Medium OF Water_out ( 3.0, 5.0, 6.0, 8.0, 1.0) Symbol Heavy OF Water_out ( 6.0, 8.0, 10.0, 10.0, 1.0) ! Name Below Low High Above Truth Center Symbol Off OF Gas_valve ( 0.0, 0.0, 0.0, 2.0, 1.0, 0.0) Symbol VeryLow OF Gas_valve ( 0.0, 2.0, 2.0, 4.0, 1.0) Symbol Low OF Gas_valve ( 2.0, 4.0, 4.0, 6.0, 1.0) Symbol High OF Gas_valve ( 4.0, 6.0, 6.0, 8.0, 1.0) Symbol VeryHigh OF Gas_valve ( 6.0, 8.0, 10.0, 10.0, 1.0, 10.0) ! Name Below Low High Above Truth Center Symbol NegLarge OF Temperature(-0.5, -0.5, -0.3, -0.2, 1.0, -0.5) Symbol NegMedium OF Temperature(-0.3, -0.2, -0.2, -0.1, 1.0) Symbol NegSmall OF Temperature(-0.2, -0.1, -0.1, 0.0, 1.0) Symbol Zero OF Temperature(-0.1, 0.0, 0.0, 0.1, 1.0) Symbol PosSmall OF Temperature( 0.0, 0.1, 0.1, 0.2, 1.0) Symbol PosMedium OF Temperature( 0.1, 0.2, 0.2, 0.3, 1.0) Symbol PosLarge OF Temperature( 0.2, 0.3, 0.5, 0.5, 1.0, 0.5) !!!!!!!! Rules for generating temperature ! Heavy Medium Light Zero !-------------------------------------------- ! Off -0.4 -0.3 -0.2 -0.1 ! VeryLow -0.3 -0.2 -0.1 ! Low -0.2 -0.1 +0.1 ! High -0.1 +0.1 +0.2 ! VeryHigh +0.1 +0.2 +0.3 +0.4 ! IF Gas_valve IS Off AND Water_out IS Heavy THEN Temperature - 0.4 IF Gas_valve IS Off AND Water_out IS Medium THEN Temperature - 0.3 IF Gas_valve IS Off AND Water_out IS Light THEN Temperature - 0.2 IF Gas_valve IS Off AND Water_out IS Zero THEN Temperature - 0.1 IF Gas_valve IS VeryLow AND Water_out IS Heavy THEN Temperature - 0.3 IF Gas_valve IS VeryLow AND Water_out IS Medium THEN Temperature - 0.2 IF Gas_valve IS VeryLow AND Water_out IS Light THEN Temperature - 0.1 IF Gas_valve IS Low AND Water_out IS Heavy THEN Temperature - 0.2 IF Gas_valve IS Low AND Water_out IS Medium THEN Temperature - 0.1 IF Gas_valve IS Low AND Water_out IS Zero THEN Temperature + 0.1 IF Gas_valve IS High AND Water_out IS Heavy THEN Temperature - 0.1 IF Gas_valve IS High AND Water_out IS Light THEN Temperature + 0.1 IF Gas_valve IS High AND Water_out IS Zero THEN Temperature + 0.2 IF Gas_valve IS VeryHigh AND Water_out IS Heavy THEN Temperature + 0.1 IF Gas_valve IS VeryHigh AND Water_out IS Medium THEN Temperature + 0.2 IF Gas_valve IS VeryHigh AND Water_out IS Light THEN Temperature + 0.3 IF Gas_valve IS VeryHigh AND Water_out IS Zero THEN Temperature + 0.4 END TankTempFdbk;

---

The views and opinions stated within this web page are those of the author or authors which wrote them and may not reflect the views and opinions of the ISP or account user which hosts the web page. The opinions may or may not be those of the Chairman of The Skeptic Tank.

Return to The Skeptic Tank's main Index page.

E-Mail Fredric L. Rice / The Skeptic Tank