📄 balance.pas
字号:
unit Balance;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ComCtrls, TeEngine, Series, ExtCtrls, TeeProcs,
Chart, AxCtrls,StrUtils;
type
TBalanceForm = class(TForm)
BalanceMenu: TMainMenu;
Balance: TMenuItem;
BalanceFile: TMenuItem;
BalanceSave: TMenuItem;
BalanceClose: TMenuItem;
G1: TMenuItem;
I1: TMenuItem;
O1: TMenuItem;
Compute: TMenuItem;
BalanceSaveas: TMenuItem;
BalanceOpen: TMenuItem;
BalanceOpenDialog: TOpenDialog;
BalanceMemo: TMemo;
BalanceSaveDialog: TSaveDialog;
Display: TMenuItem;
InHeatDisplay: TMenuItem;
OutHeatDisplay: TMenuItem;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BalanceCloseClick(Sender: TObject);
procedure G1Click(Sender: TObject);
procedure I1Click(Sender: TObject);
procedure O1Click(Sender: TObject);
procedure ComputeClick(Sender: TObject);
procedure BalanceOpenClick(Sender: TObject);
procedure BalanceSaveClick(Sender: TObject);
procedure BalanceSaveasClick(Sender: TObject);
procedure InHeatDisplayClick(Sender: TObject);
procedure OutHeatDisplayClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
BalanceForm: TBalanceForm;
implementation
{$R *.dfm}
uses SESytemMDI, Gas,InHeat, OutHeat,Declare,DisplayBalance;
procedure TBalanceForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SESystemMDIForm.CommandRichEdit.Lines.Add('命令:关闭CLOSE'+chr(13));
Action:=caFree;
end;
procedure TBalanceForm.BalanceCloseClick(Sender: TObject);
begin
Close;
end;
procedure TBalanceForm.G1Click(Sender: TObject);
begin
SESystemMDIForm.CommandRichEdit.Lines.Add('命令:气体成分GAS'+chr(13));
GasForm:=TGasForm.Create(Self);
GasForm.ShowModal;
end;
procedure TBalanceForm.I1Click(Sender: TObject);
begin
SESystemMDIForm.CommandRichEdit.Lines.Add('命令:热平衡收入热参数INHEAT'+chr(13));
InHeatForm:=TInHeatForm.Create(Self);
InHeatForm.ShowModal;
end;
procedure TBalanceForm.O1Click(Sender: TObject);
begin
SESystemMDIForm.CommandRichEdit.Lines.Add('命令:热平衡支出热参数OUTHEAT'+chr(13));
OutHeatForm:=TOutHeatForm.Create(Self);
OutHeatForm.ShowModal;
end;
procedure TBalanceForm.ComputeClick(Sender: TObject);
var Qdws,Vm,Tr,Vf,Tf,B,WaterofAir,a,bw,log,V0,Vns,Vy,tm,
te,Cm,Cme,Los,tk,Ck,Cke,tf1,Cf1,Cfe,
Qs,Q1s,Q2s,Q3s,Q4s,
tf2,Cf2,Cfe2,ty2,Cy2,Cye,Qdwsh,gmj,Cq,Gs,T,Vf0,ts2,ts1,
e,tb6,A6,Af6,ad6,q6,tb71,A71,Af71,ad71,q71,tb72,A72,Af72,ad72,q72,
tb8,A8,Af8,ad8,q8,tb9,A9,Af9,ad9,q9,tb10,Vfy,A10,Af10,ad10,q10,
tb11,A11,Af11,ad11,q11,
Qz,Q1z,Q2z,Q3z,Q4z,Q5z,Q6z,Q71z,Q72z,Q7z,Q8z,Q9z,Q10z,Q11z,
Qc,Qsr,HEF1,HEF2,
ty:Real;
ps1,ps2,ps3,ps4,pz1,pz2,pz3,pz4,pz5,pz6,pz7,pz8,pz9,pz10,pz11,pc:String;
begin
SESystemMDIForm.CommandRichEdit.Lines.Add('命令:热平衡计算COMPUTE'+chr(13));
WaterofAir:= DryAirtoHumidityAir(SESystemElement.tm_coal);
SESystemElement.process_heatcompute[1]:=WaterofAir;
BalanceForm.BalanceMemo.Lines.Add('干空气中的含水量:'+FloatToStr(WaterofAir));
a:=int((AirExpendCoefficient(SESystemElement.o2_fume[1],SESystemElement.co_fume[1],
0,SESystemElement.ch4_fume[1],SESystemElement.n2_fume[1],
SESystemElement.n2_coal[2],SESystemElement.co2_fume[1],
SESystemElement.co2_coal[2],SESystemElement.co_coal[2],
SESystemElement.ch4_coal[2],2,SESystemElement.cmhn_coal[2],0))*100)/100;
SESystemElement.process_heatcompute[2]:=a;
BalanceForm.BalanceMemo.Lines.Add('空气消耗系数:'+FloatToStr(a));
bw:=int((IncompleteComparecomplete(a,SESystemElement.co_fume[1],0,
SESystemElement.ch4_fume[1],SESystemElement.o2_fume[1]))*100)/100;
SESystemElement.process_heatcompute[3]:=bw;
BalanceForm.BalanceMemo.Lines.Add('(Vn)不/(Vn)完:'+FloatToStr(bw));
Log:=int((TheoryDryAirQ(SESystemElement.h2_coal[2],SESystemElement.co_coal[2],
SESystemElement.ch4_coal[2],2,4,SESystemElement.cmhn_coal[2],
0,SESystemElement.o2_coal[2]))*100)/100;
SESystemElement.process_heatcompute[4]:=Log;
BalanceForm.BalanceMemo.Lines.Add('理论干空气量(m^3/m^3):'+FloatToStr(Log));
V0:=int((TheoryHumidityFumeQ(SESystemElement.co_coal[2],SESystemElement.ch4_coal[2],
2,4,SESystemElement.cmhn_coal[2],SESystemElement.co2_coal[2],
SESystemElement.h2_coal[2],0,SESystemElement.n2_coal[2],
SESystemElement.h2_coal[2],Log))*100)/100;
SESystemElement.process_heatcompute[5]:=V0;
BalanceForm.BalanceMemo.Lines.Add('理论湿烟气量(m^3/m^3):'+FloatToStr(V0));
Vns:=int((FactHumidityFumeQ(V0,a,WaterofAir,Log))*100)/100;
SESystemElement.process_heatcompute[6]:=Vns;
BalanceForm.BalanceMemo.Lines.Add('实际湿烟气量(m^3/m^3):'+FloatToStr(Vns));
Qdws:=int((QdwEnergy(SESystemElement.co_coal[2],SESystemElement.h2_coal[2],
SESystemElement.ch4_coal[2],0,SESystemElement.cmhn_coal[2],0))*100)/100;
SESystemElement.process_heatcompute[7]:=Qdws;
BalanceMemo.Lines.Add('低位发热量(kcal/m3):'+FloatToStr(Qdws));
Vm:=SESystemElement.q1_inheat[1];
Vf:=SESystemElement.q1_inheat[2]; //燃烧期
Tr:=SESystemElement.q1_inheat[3]; //热风流量Vf
Tf:=SESystemElement.q1_inheat[4];
B:=int((CoalNeedQ(Vm,Tr,Vf,Tf))*100)/100;
SESystemElement.process_heatcompute[8]:=B;
BalanceMemo.Lines.Add('煤气用量(m^3/m^3):'+FloatToStr(B)); //单位:m^3煤气/m^3热风
Vy:=int(( Vns*B*Vf)*100)/100; //烟气量 单位:m^3烟气
SESystemElement.process_heatcompute[9]:=Vy;
BalanceMemo.Lines.Add('烟气量(m^3/m^3):'+FloatToStr(Vy));
SESystemElement.q1_inheat[5]:=int((B*Qdws)*100)/100; //燃料的化学热
BalanceMemo.Lines.Add('燃料的化学热低位发热量(kcal/m3):'+FloatToStr(SESystemElement.q1_inheat[5]));
te:=SESystemElement.q2_inheat[1];
Cm:=SESystemElement.q2_inheat[2];
Cme:=SESystemElement.q2_inheat[3];
tm:=SESystemElement.tm_coal;
SESystemElement.q2_inheat[4]:=int((FuelPhysicsEnergy(B,Cm,tm,Cme,te))*100)/100; //燃料的物理热量
BalanceMemo.Lines.Add('燃料的物理热量(kcal/m3):'+FloatToStr(SESystemElement.q2_inheat[4]));
Los:=int((TheoryHumidityAirQ(Log,WaterofAir))*100)/100; //理论湿空气量
SESystemElement.process_heatcompute[10]:=Los;
BalanceMemo.Lines.Add('理论湿空气量(m3/m3):'+FloatToStr(Los));
tk:=SESystemElement.q3_inheat[1];
Ck:=SESystemElement.q3_inheat[2];
Cke:=SESystemElement.q3_inheat[3];
SESystemElement.q3_inheat[4]:=int((HelpAirPhysicsEnergy(B,a,Los,Ck,tk,Cke,te))*100)/100; //助燃空气的物理热
BalanceMemo.Lines.Add('助燃空气的物理热(kcal/m3):'+FloatToStr(SESystemElement.q3_inheat[4]));
tf1:=SESystemElement.q4_inheat[1];
Cf1:=SESystemElement.q4_inheat[2];
Cfe:=SESystemElement.q4_inheat[3];
SESystemElement.q4_inheat[4]:=int((CoolWindEnergy(Cf1,tf1,Cfe,te))*100)/100; //冷风带入的热量
BalanceMemo.Lines.Add('冷风带入的热量(kcal/m3):'+FloatToStr(SESystemElement.q4_inheat[4]));
tf2:=SESystemElement.q1_outheat[1];
Cf2:=SESystemElement.q1_outheat[2];
Cfe2:=SESystemElement.q1_outheat[3];
SESystemElement.q1_outheat[4]:=int((HotStoveEnergy(Cf2,tf2,Cfe2,te))*100)/100; //热风炉带出的热量
BalanceMemo.Lines.Add('热风炉带出的热量(kcal/m3):'+FloatToStr(SESystemElement.q1_outheat[4]));
ty2:=SESystemElement.q2_outheat[1];
Cy2:=SESystemElement.q2_outheat[2];
Cye:=SESystemElement.q2_outheat[3];
SESystemElement.q2_outheat[4]:=int((FumePhysicsEnergy(B,bw,Vns,Cy2,ty2,Cye,te))*100)/100; //烟气带出的物理热量
BalanceMemo.Lines.Add('烟气带出的物理热量(kcal/m3):'+FloatToStr(SESystemElement.q2_outheat[4]));
Qdwsh:=QdwEnergy(SESystemElement.co_fume[2],0,SESystemElement.ch4_fume[2],0,0,0);
SESystemElement.q3_outheat[1]:=int((ChemistryIncompleteEnergy(B,bw,Vns,Qdwsh))*100)/100; //化学不完全燃烧热损失的热量
BalanceMemo.Lines.Add('化学不完全燃烧热损失的热量(kcal/m3):'+FloatToStr(SESystemElement.q3_outheat[1]));
gmj:=SESystemElement.q4_outheat[1];
Cq:=SESystemElement.q4_outheat[2];
SESystemElement.q4_outheat[3]:=int((CoalMachineWaterEnergy(B,gmj,tm,Cq,ty2))*100)/100; //煤气机械水的吸热量
BalanceMemo.Lines.Add('煤气机械水的吸热量(kcal/m3):'+FloatToStr(SESystemElement.q4_outheat[3]));
Gs:=SESystemElement.q5_outheat[1];
T:=SESystemElement.q5_outheat[2];
Vf0:=SESystemElement.q5_outheat[3];
ts2:=SESystemElement.q5_outheat[4];
ts1:=SESystemElement.q5_outheat[5];
SESystemElement.q5_outheat[6]:=int((CoolWaterEnergy(Gs,T,Vf0,Tf,ts2,ts1))*100)/100; //冷却水的吸热量
BalanceMemo.Lines.Add('冷却水的吸热量(kcal/m3):'+FloatToStr(SESystemElement.q5_outheat[6]));
tb6:=SESystemElement.q6_outheat[1];
e:=SESystemElement.q6_outheat[2];
A6:=SESystemElement.q6_outheat[3];
Af6:=SESystemElement.q6_outheat[4];
ad6:=ConvectionEnergy(Af6,tb6,te);
q6:=RadiateEnergy(e,tb6,te,ad6);
SESystemElement.q6_outheat[5]:=int((CoolPipeEnergy(T,Vf0,Tf,q6,A6))*100)/100; //冷风管道表面散热量
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -