📄 balance.pas
字号:
BalanceMemo.Lines.Add('冷风管道表面散热量(kcal/m3):'+FloatToStr(SESystemElement.q6_outheat[5]));
tb71:=SESystemElement.q7_1_outheat[1];
A71:=SESystemElement.q7_1_outheat[2];
Af71:=SESystemElement.q7_1_outheat[3];
ad71:=ConvectionEnergy(Af71,tb71,te);
q71:=RadiateEnergy(e,tb71,te,ad71);
SESystemElement.q7_1_outheat[4]:=int((CoolPipeEnergy(T,Vf0,Tf,q71,A71))*100)/100;
BalanceMemo.Lines.Add('炉顶表面散热量(kcal/m3):'+FloatToStr(SESystemElement.q7_1_outheat[4]));
tb72:=SESystemElement.q7_2_outheat[1];
A72:=SESystemElement.q7_2_outheat[2];
Af72:=SESystemElement.q7_2_outheat[3];
ad72:=ConvectionEnergy(Af72,tb72,te);
q72:=RadiateEnergy(e,tb72,te,ad72);
SESystemElement.q7_2_outheat[4]:=int((CoolPipeEnergy(T,Vf0,Tf,q72,A72))*100)/100; //Q7z:=Q71z0+Q72z0; 炉顶、炉体表面散热量Qz70
BalanceMemo.Lines.Add('炉墙表面散热量(kcal/m3):'+FloatToStr(SESystemElement.q7_2_outheat[4]));
tb8:=SESystemElement.q8_outheat[1];
A8:=SESystemElement.q8_outheat[2];
Af8:=SESystemElement.q8_outheat[3];
ad8:=ConvectionEnergy(Af8,tb8,te);
q8:=RadiateEnergy(e,tb8,te,ad8);
SESystemElement.q8_outheat[4]:=int((CoolPipeEnergy(T,Vf0,Tf,q8,A8))*100)/100; //竖管散热量Q8z0
BalanceMemo.Lines.Add('竖管散热量(kcal/m3):'+FloatToStr(SESystemElement.q8_outheat[4]));
tb9:=SESystemElement.q9_outheat[1];
A9:=SESystemElement.q9_outheat[3];
Af9:=SESystemElement.q9_outheat[3];
ad9:=ConvectionEnergy(Af9,tb9,te);
q9:=RadiateEnergy(e,tb9,te,ad9);
SESystemElement.q9_outheat[4]:=int((CoolPipeEnergy(T,Vf0,Tf,q9,A9))*100)/100; //热风管道表面散热量Q9z0
BalanceMemo.Lines.Add('热风管道表面散热量(kcal/m3):'+FloatToStr(SESystemElement.q9_outheat[4]));
tb10:=SESystemElement.q10_outheat[1];
Vfy:=SESystemElement.q10_outheat[2];
A10:=SESystemElement.q10_outheat[3];
Af10:=SESystemElement.q10_outheat[4];
ad10:=ConvectionEnergy(Af10,tb10,te);
q10:=RadiateEnergy(e,tb10,te,ad10);
SESystemElement.q10_outheat[5]:=int((CoolPipeEnergy(T,Vf0,Tf,q10,A10))*100)/100; //烟道表面散热量Q10z0
BalanceMemo.Lines.Add('烟道表面散热量(kcal/m3):'+FloatToStr(SESystemElement.q10_outheat[5]));
tb11:=SESystemElement.q11_outheat[1];
A11:=SESystemElement.q11_outheat[2];
Af11:=SESystemElement.q11_outheat[3];
ad11:=ConvectionEnergy(Af11,tb11,te);
q11:=RadiateEnergy(e,tb11,te,ad10);
SESystemElement.q11_outheat[4]:=int((CoolPipeEnergy(T,Vf0,Tf,q11,A11))*100)/100; //预热装置表面散热量Q11z0
BalanceMemo.Lines.Add('预热装置表面散热量(kcal/m3):'+FloatToStr(SESystemElement.q11_outheat[4]));
Q1s:=SESystemElement.q1_inheat[5];
Q2s:=SESystemElement.q2_inheat[4];
Q3s:=SESystemElement.q3_inheat[4];
Q4s:=SESystemElement.q4_inheat[4];
Q1z:=SESystemElement.q1_outheat[4];
Q2z:=SESystemElement.q2_outheat[4];
Q3z:=SESystemElement.q3_outheat[1];
Q4z:=SESystemElement.q4_outheat[3];
Q5z:=SESystemElement.q5_outheat[6];
Q6z:=SESystemElement.q6_outheat[5];
Q71z:=SESystemElement.q7_1_outheat[4];
Q72z:=SESystemElement.q7_2_outheat[4];
Q7z:=Q71z+q72z;
SESystemElement.q7_outheat[1]:=Q7z;
Q8z:=SESystemElement.q8_outheat[4];
Q9z:=SESystemElement.q9_outheat[4];
Q10z:=SESystemElement.q10_outheat[5];
Q11z:=SESystemElement.q11_outheat[4];
Qs:=Q1s+Q2s+Q3s+Q4s;
SESystemElement.Result_heatcompute[1]:=int(Qs*100)/100;
BalanceMemo.Lines.Add('收入热量(kcal/m3):'+FloatToStr(Qs));
Qz:=Q1z+Q2z+Q3z+Q4z+Q5z+Q6z+Q7z+Q8z+Q9z+Q10z+Q11z;
SESystemElement.Result_heatcompute[2]:=int(Qz*100)/100;
BalanceMemo.Lines.Add('支出热量(kcal/m3):'+FloatToStr(Qz));
Qc:=Qs-Qz; //差值
SESystemElement.Result_heatcompute[3]:=int(Qc*100)/100;
BalanceMemo.Lines.Add('差值(kcal/m3):'+FloatToStr(Qc));
Qsr:=Q6z+Q7z+Q8z+Q9z+Q10z+Q11z; //各种表面散热之和
SESystemElement.Result_heatcompute[4]:=int(Qsr*100)/100;
BalanceMemo.Lines.Add('各种表面散热之和(kcal/m3):'+FloatToStr(Qsr));
Qz:=Qs;
HEF1:=int(((Q1z-Q4s+Q6z+Q9z)*100/(Qs-Q4s))*100)/100; //热风炉本体热效率
SESystemElement.Result_heatcompute[5]:=int(HEF1*100)/100;
BalanceMemo.Lines.Add('热风炉本体热效率%:'+FloatToStr(HEF1));
HEF2:=int(((Q1z-Q4s)*100/(Qs-Q4s))*100)/100; //热风炉系统及全系统的热效率
SESystemElement.Result_heatcompute[6]:=int(HEF2*100)/100;
BalanceMemo.Lines.Add('热风炉系统及全系统的热效率%:'+FloatToStr(HEF2));
//计算理论燃烧温度
ty:=2000;
t:=800;
while abs(ty-t)>0.1 do
begin
t:=(ty+t)/2;
ty:=(Q1s+Q2s+Q3s)*4.2/(Vns*B*Cpy(SESystemElement.co2_fume[2],
SESystemElement.n2_fume[2],
SESystemElement.o2_fume[2],
SESystemElement.ch4_fume[2],
SESystemElement.co_fume[2],
SESystemElement.h2o_fume,t)*0.95);
end;
ty:=int(100*ty)/100;
SESystemElement.Result_heatcompute[7]:=ty;
BalanceMemo.Lines.Add('理论燃烧温度(℃):'+FloatToStr(ty));
SESystemElement.q1_inheat[6]:=int((Q1s*100/Qs)*100)/100;
SESystemElement.q2_inheat[5]:=int((Q2s*100/Qs)*100)/100;
SESystemElement.q3_inheat[5]:=int((Q3s*100/Qs)*100)/100;
SESystemElement.q4_inheat[5]:=int((Q4s*100/Qs)*100)/100;
ps1:=FormatFloat('0.00',Q1s*100/Qs);
ps2:=FormatFloat('0.00',Q2s*100/Qs);
ps3:=FormatFloat('0.00',Q3s*100/Qs);
ps4:=FormatFloat('0.00',Q4s*100/Qs);
SESystemElement.q1_outheat[5]:=int((Q1z*100/Qz)*100)/100;
SESystemElement.q2_outheat[5]:=int((Q2z*100/Qz)*100)/100;
SESystemElement.q3_outheat[2]:=int((Q3z*100/Qz)*100)/100;
SESystemElement.q4_outheat[4]:=int((Q4z*100/Qz)*100)/100;
SESystemElement.q5_outheat[7]:=int((Q5z*100/Qz)*100)/100;
SESystemElement.q6_outheat[6]:=int((Q6z*100/Qz)*100)/100;
SESystemElement.q7_outheat[2]:=int((Q7z*100/Qz)*100)/100;
SESystemElement.q8_outheat[5]:=int((Q8z*100/Qz)*100)/100;
SESystemElement.q9_outheat[5]:=int((Q9z*100/Qz)*100)/100;
SESystemElement.q10_outheat[6]:=int((Q10z*100/Qz)*100)/100;
SESystemElement.q11_outheat[5]:=int((Q11z*100/Qz)*100)/100;
pz1:=FormatFloat('0.00',Q1z*100/Qz);
pz2:=FormatFloat('0.00',Q2z*100/Qz);
pz3:=FormatFloat('0.00',Q3z*100/Qz);
pz4:=FormatFloat('0.00',Q4z*100/Qz);
pz5:=FormatFloat('0.00',Q5z*100/Qz);
pz6:=FormatFloat('0.00',Q6z*100/Qz);
pz7:=FormatFloat('0.00',Q7z*100/Qz);
pz8:=FormatFloat('0.00',Q8z*100/Qz);
pz9:=FormatFloat('0.00',Q9z*100/Qz);
pz10:=FormatFloat('0.00',Q10z*100/Qz);
pz11:=FormatFloat('0.00',Q11z*100/Qz);
pc:=FormatFloat('0.00',Qc*100/Qz);
BalanceMemo.Lines.Add(space(50)+'热平衡计算表');
BalanceMemo.Lines.Add(space(15)+'收入热量'+space(45)+'支出热量');
BalanceMemo.Lines.Add(space(5)+'符号'+space(2)+'项 目'+space(9)+' kcal/m3'+space(5)+'%'+space(10)+'符号'+space(5)+'项 目'+space(10)+' kcal/m3'+space(5)+'%');
BalanceMemo.Lines.Add(space(5)+'Q1s'+space(2)+'燃料化学热'+space(7)+FormatFloat('0.00',Q1s)+space(5)+ps1+space(8)+'Q1z'+space(2)+'热风带出热量'+space(12)+FormatFloat('0.00',Q1z)+space(5)+pz1);
BalanceMemo.Lines.Add(space(5)+'Q2s'+space(2)+'燃料物理热'+space(9)+FormatFloat('0.00',Q2s)+space(5)+ps2+space(9)+'Q2z'+space(2)+'烟气带出物理热'+space(11)+FormatFloat('0.00',Q2z)+space(5)+pz2);
BalanceMemo.Lines.Add(space(5)+'Q3s'+space(2)+'助燃空气物理热'+space(5)+FormatFloat('0.00',Q3s)+space(5)+ps3+space(9)+'Q3z'+space(2)+'化学不完全燃烧损失热量'+space(4)+FormatFloat('0.00',Q3z)+space(5)+pz3);
BalanceMemo.Lines.Add(space(5)+'Q4s'+space(2)+'冷风带入的热量'+space(4)+FormatFloat('0.00',Q4s)+space(5)+ps4+space(8)+'Q4z'+space(2)+'煤气机械水吸热量'+space(10)+FormatFloat('0.00',Q4z)+space(5)+pz4);
BalanceMemo.Lines.Add(space(49)+'Q5z'+space(2)+'冷却水吸热量'+space(13)+FormatFloat('0.00',Q5z)+space(5)+pz5);
BalanceMemo.Lines.Add(space(49)+'Q6z'+space(2)+'冷风管道表面散热量'+space(8)+FormatFloat('0.00',Q6z)+space(5)+pz6);
BalanceMemo.Lines.Add(space(49)+'Q7z'+space(2)+'炉体表面散热量'+space(12)+FormatFloat('0.00',Q7z)+space(4)+pz7);
BalanceMemo.Lines.Add(space(49)+'Q8z'+space(2)+'竖管表面散热量'+space(12)+FormatFloat('0.00',Q8z)+space(5)+pz8);
BalanceMemo.Lines.Add(space(49)+'Q9z'+space(2)+'热风管道表面散热量'+space(8)+FormatFloat('0.00',Q9z)+space(5)+pz9);
BalanceMemo.Lines.Add(space(49)+'Q10z'+space(2)+'烟道表面散热量'+space(11)+FormatFloat('0.00',Q10z)+space(5)+pz10);
BalanceMemo.Lines.Add(space(49)+'Q11z'+space(2)+'预热装置表面散热量'+space(7)+FormatFloat('0.00',Q11z)+space(5)+pz11);
BalanceMemo.Lines.Add(space(49)+'ΔQ'+space(4)+'差 值'+space(14)+FormatFloat('0.00',Qc)+space(4)+pc);
BalanceMemo.Lines.Add(space(5)+'∑Q'+space(2)+'合 计'+space(9)+FormatFloat('0.00',Qs)+space(5)+'100.00'+space(7)+'∑Qz'+space(2)+'合 计'+space(15)+FormatFloat('0.00',Qz)+space(5)+'100.00');
BalanceMemo.Lines.Add(space(5)+'空气消耗系数a='+FormatFloat('0.00',a)+space(13)+'煤气用量B='+FormatFloat('0.00',B));
BalanceMemo.Lines.Add(space(5)+'(Vn)不/(Vn)完bw='+FormatFloat('0.00',bw)+space(14)+'理论干空气量Log='+FormatFloat('0.00',Log));
BalanceMemo.Lines.Add(space(5)+'理论湿烟气量V0='+FormatFloat('0.00',V0)+space(13)+'实际湿烟气量Vns='+FormatFloat('0.00',Vns));
BalanceMemo.Lines.Add(space(5)+'低位发热量Qdws='+FormatFloat('0.00',Qdws)+space(9)+'理论湿空气量Los='+FormatFloat('0.00',Los));
BalanceMemo.Lines.Add(space(5)+'ad6='+FormatFloat('0.00',ad6)+space(11)+'q6='+FormatFloat('0.00',q6));
BalanceMemo.Lines.Add(space(5)+'ad71='+FormatFloat('0.00',ad71)+space(10)+'q71='+FormatFloat('0.00',q71));
BalanceMemo.Lines.Add(space(5)+'ad72='+FormatFloat('0.00',ad72)+space(11)+'q72='+FormatFloat('0.00',q72));
BalanceMemo.Lines.Add(space(5)+'ad8='+FormatFloat('0.00',ad8)+space(11)+'q8='+FormatFloat('0.00',q8));
BalanceMemo.Lines.Add(space(5)+'ad9='+FormatFloat('0.00',ad9)+space(12)+'q9='+FormatFloat('0.00',q9));
BalanceMemo.Lines.Add(space(5)+'ad10='+FormatFloat('0.00',ad10)+space(11)+'q10='+FormatFloat('0.00',q10));
BalanceMemo.Lines.Add(space(5)+'ad11='+FormatFloat('0.00',ad11)+space(11)+'q11='+FormatFloat('0.00',q11));
BalanceMemo.Lines.Add(space(5)+'热风炉本体热效率ηt1='+FormatFloat('0.0',HEF1)+'%');
BalanceMemo.Lines.Add(space(5)+'热风炉系统热效率ηt2='+FormatFloat('0.0',HEF2)+'%');
BalanceMemo.Lines.Add(space(5)+'理论燃烧温度ty='+FormatFloat('0.0',ty));
end;
procedure TBalanceForm.BalanceOpenClick(Sender: TObject);
begin
BalanceOpenDialog.Title:='数据文件';
BalanceOpenDialog.Filter:='数据文件(*.hsd)|*.hsd';
BalanceOpenDialog.FileName:='';
if BalanceOpenDialog.Execute then
with BalanceOpenDialog do
begin
FileName:=LeftStr(FileName,Length(FileName)-4);
ReadSESystemFile(FileName+'.hsd');
BalanceMemo.Lines.Add('日期:'+DateToStr(Date)+',时间:'+TimeToStr(Time));
BalanceMemo.Lines.Add('打开文件'+FileName+'.hsd'+'...');
BalanceForm.BalanceMemo.Lines.Add('煤气成分(%,温度:℃)');
BalanceForm.BalanceMemo.Lines.Add('干成分');
BalanceForm.BalanceMemo.Lines.Add('CO2:'+FloatToStr(SESystemElement.co2_coal[1])+','+
'CO:'+FloatToStr(SESystemElement.co_coal[1])+','+
'N2:'+FloatToStr(SESystemElement.n2_coal[1])+','+
'O2:'+FloatToStr(SESystemElement.o2_coal[1])+','+
'H2:'+FloatToStr(SESystemElement.h2_coal[1])+','+
'CH4:'+FloatToStr(SESystemElement.ch4_coal[1])+','+
'CmHn:'+FloatToStr(SESystemElement.cmhn_coal[1])+','+
'煤气温度Tm:'+FloatToStr(SESystemElement.tm_coal));
BalanceForm.BalanceMemo.Lines.Add('湿成分');
BalanceForm.BalanceMemo.Lines.Add( 'CO2:'+FloatToStr(SESystemElement.co2_coal[2])+','+
'CO:'+FloatToStr(SESystemElement.co_coal[2])+','+
'N2:'+FloatToStr(SESystemElement.n2_coal[2])+','+
'O2:'+FloatToStr(SESystemElement.o2_coal[2])+','+
'H2:'+FloatToStr(SESystemElement.h2_coal[2])+','+
'CH4:'+FloatToStr(SESystemElement.ch4_coal[2])+ ','+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -