⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 heattank.fbk

📁 王小平《遗传算法——理论、应用与软件实现》随书光盘
💻 FBK
字号:
!--------------------------------------------------------
! 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;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -