遵照楼主的建议,在最近做的一个恒压供水项目时,采用了根据偏差大小,依次递减输出变化的办法,取的不错的控制效果。PLC为S7-200。该段程序如下,供各位批评。
//VW102为实际压力值,VW120为设定压力值,VW1000为计算后的输出值,联至AQW0。
//VW136为偏差
NETWORK 1
LD SM0.0
MOVW VW102, AC0
MOVW VW120, AC1
NETWORK 2 //偏差计算
LDW> VW102, VW120
-I AC1, AC0
MOVW AC0, VW136
NETWORK 3
LDW<= VW102, VW120
-I AC0, AC1
MOVW AC1, VW136
NETWORK 4 //输出偏移量判断
LDW> VW136, +1
MOVW +20, VW140
NETWORK 5
LDW> VW136, +4
MOVW +50, VW140
NETWORK 6
LDW> VW136, +6
MOVW +100, VW140
NETWORK 7
LDW> VW136, +8
MOVW +200, VW140
NETWORK 8
LDW> VW136, +10
MOVW +300, VW140
NETWORK 9
LDW> VW136, +20
MOVW +500, VW140
NETWORK 10
LDW> VW136, +25
MOVW +700, VW140
NETWORK 11
LD SM0.0
MOVW VW1000, AC0
NETWORK 12
LDW> VW120, VW102
A SM0.5
EU
+I VW140, AC0
MOVW AC0, VW1000
NETWORK 13
LDW< VW120, VW102
A SM0.5
EU
-I VW140, AC0
MOVW AC0, VW1000
NETWORK 14
LDW> VW1000, +32000
MOVW +32000, VW1000
NETWORK 15
LDW< VW1000, +6400
MOVW +6400, VW1000