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

📄 analog.pas

📁 《SESyetem节能模拟系统(版本:1.01a Final)》为自由软件,对热风炉进行 热平衡计算、传热模拟、燃烧优化、操作优化等设计。 本软件用Dephi6.0编写
💻 PAS
📖 第 1 页 / 共 3 页
字号:

                    AnalogForm.AnalogMemo.Lines.Add('送风期');
                    for j:=1 to MaxTime do
                       begin
                           c:='蓄热体:'+IntToStr(j)+',';
                           d:='热风:'+IntToStr(j)+',';
                           for i:=1 to MaxPosition do
                               begin
                                   c:=c+IntToStr(i)+',';
                                   d:=d+IntToStr(i)+',';
                                   AnalogElement.TempRegenerator[2,i,j]:=int(100*tsolid[i,j])/100;
                                   AnalogElement.TempAir[i,j]:=int(100*Tgas[i,j])/100;
                                   c:=c+FloatToStr(AnalogElement.TempRegenerator[2,i,j])+',';
                                   d:=d+FloatToStr(AnalogElement.TempAir[i,j])+',';
                               end;
                            c:=c+';';
                            d:=d+';';
                            AnalogForm.AnalogMemo.Lines.Add(c);
                            AnalogForm.AnalogMemo.Lines.Add(d);
                        end;

                     Te1:=0;
                     for i:=1 to MaxPosition do
                              begin
                                  Te1:=tsolid[MaxPosition-i+1,MaxTime]+Te1;
                              end;
                     Te1:=Te1/MaxPosition;
                     k:=k+1;
           end;
         AnalogForm.AnalogMemo.Lines.Add('完成!');   
end;

procedure TAnalogForm.RegeneratorClick(Sender: TObject);
begin
SESystemMDIForm.CommandRichEdit.Lines.Add('命令:蓄热体参数REGENERATOR'+chr(13));
RegeneratorForm:=TRegeneratorForm.Create(Self);

RegeneratorForm.ShowModal;
end;

procedure TAnalogForm.AnalogOpenHsdFileClick(Sender: TObject);
begin
     AnalogOpenDialog.Title:='数据文件';
     AnalogOpenDialog.Filter:='数据文件(*.hsd,*.hsa)|*.hsd;*.hsa';
     AnalogOpenDialog.FileName:='';
if AnalogOpenDialog.Execute then
  with AnalogOpenDialog do
     begin
       FileName:=LeftStr(FileName,Length(FileName)-4);
       ReadSESystemFile(FileName+'.hsd');
       //ReadAnalogFile(FileName+'.hsa');
       AnalogMemo.Lines.Add('日期:'+DateToStr(Date)+',时间:'+TimeToStr(Time));
       AnalogMemo.Lines.Add('打开文件'+FileName+'.hsd'+'...');
       //AnalogMemo.Lines.Add('打开文件'+FileName+'.hsa'+'...');
       AnalogForm.AnalogMemo.Lines.Add('蓄热体结构');
       AnalogForm.AnalogMemo.Lines.Add('直径(m):'+FloatToStr(SESystemElement.structure[1])+','+
                                     '高度(m):'+FloatToStr(SESystemElement.structure[2])+','+
                                     '总蓄热面积(m^2):'+FloatToStr(SESystemElement.structure[3])+','+
                                     '蓄热体重量(kg):'+FloatToStr(SESystemElement.structure[4]));

     AnalogForm.AnalogMemo.Lines.Add('格子砖参数');
     AnalogForm.AnalogMemo.Lines.Add('上段,格孔直径(m):'+FloatToStr(SESystemElement.grille[1][1])+','+
                                     '活面积(m^2/m^2):'+FloatToStr(SESystemElement.grille[1][2])+','+
                                     '当量厚度(m):'+FloatToStr(SESystemElement.grille[1][3])+','+
                                     '格砖厚度(m):'+FloatToStr(SESystemElement.grille[1][4]));
     AnalogForm.AnalogMemo.Lines.Add('中段,格孔直径(m):'+FloatToStr(SESystemElement.grille[2][1])+','+
                                     '活面积(m^2/m^2):'+FloatToStr(SESystemElement.grille[2][2])+','+
                                     '当量厚度(m):'+FloatToStr(SESystemElement.grille[2][3])+','+
                                     '格砖厚度(m):'+FloatToStr(SESystemElement.grille[2][4]));
     AnalogForm.AnalogMemo.Lines.Add('下段,格孔直径(m):'+FloatToStr(SESystemElement.grille[3][1])+','+
                                     '活面积(m^2/m^2):'+FloatToStr(SESystemElement.grille[3][2])+','+
                                     '当量厚度(m):'+FloatToStr(SESystemElement.grille[3][3])+','+
                                     '格砖厚度(m):'+FloatToStr(SESystemElement.grille[3][4]));
     AnalogForm.AnalogMemo.Lines.Add('风量参数');
     AnalogForm.AnalogMemo.Lines.Add('初始无因次风量系数:'+FloatToStr(SESystemElement.wind));
     end;

end;

procedure TAnalogForm.AnalogSaveClick(Sender: TObject);
begin
     AnalogSaveDialog.Title:='数据文件';
     AnalogOpenDialog.Filter:='数据文件(*.hsd,*.hsa)|*.hsd,hsa';
     AnalogSaveDialog.FileName:='';
     if AnalogSaveDialog.Execute then
         with AnalogSaveDialog do
            begin
                 FileName:=LeftStr(FileName,Length(FileName)-4); 
                 WriteSESystemFile(FileName+'.hsd');
                 WriteAnalogFile(FileName+'.hsa');
            end;
end;

procedure TAnalogForm.PrecisionClick(Sender: TObject);
begin
   SESystemMDIForm.CommandRichEdit.Lines.Add('命令:模拟精度设置PRECISION'+chr(13));
   AnalogSetForm:=TAnalogSetForm.Create(Self);
   AnalogSetForm.ShowModal;
end;

procedure TAnalogForm.FumeByTimeClick(Sender: TObject);
var i,j:Integer;
    Tr:Real;
begin
    DisplayAnalogForm:=TDisplayAnalogForm.Create(Self);
    DisplayAnalogForm.DisplayLineSeries_1.Clear;
    DisplayAnalogForm.DisplayLineSeries_2.Clear;
    DisplayAnalogForm.DisplayLineSeries_3.Clear;
    DisplayAnalogForm.DisplayLineSeries_4.Clear;
    DisplayAnalogForm.DisplayLineSeries_5.Clear;
    DisplayAnalogForm.DisplayLineSeries_6.Clear;

    DisplayAnalogForm.DisplayLineSeries_1.Title:='1/6H';
    DisplayAnalogForm.DisplayLineSeries_2.Title:='1/3H';
    DisplayAnalogForm.DisplayLineSeries_3.Title:='1/2H';
    DisplayAnalogForm.DisplayLineSeries_4.Title:='2/3H';
    DisplayAnalogForm.DisplayLineSeries_5.Title:='5/6H';
    DisplayAnalogForm.DisplayLineSeries_5.Title:='1H';
    DisplayAnalogForm.DisplayAnalogChart.LeftAxis.Title.Caption:='温度';
    DisplayAnalogForm.DisplayAnalogChart.BottomAxis.Title.Caption:='时间';
		;
    DisplayAnalogForm.DisplayAnalogChart.Title.Text.Add('燃烧期不同高度烟气温度随时间分布曲线');

    Tr:=SESystemElement.q1_inheat[3];
    for j:=1 to MaxTime  do
        begin
           DisplayAnalogForm.DisplayLineSeries_1.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[1,j]);
           DisplayAnalogForm.DisplayLineSeries_2.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[10,j]);
           DisplayAnalogForm.DisplayLineSeries_3.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[25,j]);
           DisplayAnalogForm.DisplayLineSeries_4.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[30,j]);
           DisplayAnalogForm.DisplayLineSeries_5.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[35,j]);
           DisplayAnalogForm.DisplayLineSeries_6.AddXY(j*(Tr)/MaxTime,AnalogElement.TempFume[MaxPosition,j]);
           DisplayAnalogForm.DisplayAnalogChart.Update;
        end;

    DisplayAnalogForm.ShowModal;
end;

procedure TAnalogForm.FumeByHeightClick(Sender: TObject);
var i,j:Integer;
    Hx:Real;
begin
    DisplayAnalogForm:=TDisplayAnalogForm.Create(Self);
    DisplayAnalogForm.DisplayLineSeries_1.Clear;
    DisplayAnalogForm.DisplayLineSeries_2.Clear;
    DisplayAnalogForm.DisplayLineSeries_3.Clear;
    DisplayAnalogForm.DisplayLineSeries_4.Clear;
    DisplayAnalogForm.DisplayLineSeries_5.Clear;
    DisplayAnalogForm.DisplayLineSeries_6.Clear;


    DisplayAnalogForm.DisplayLineSeries_1.Title:='1/6τ';
    DisplayAnalogForm.DisplayLineSeries_2.Title:='1/3τ';
    DisplayAnalogForm.DisplayLineSeries_3.Title:='1/2τ';
    DisplayAnalogForm.DisplayLineSeries_4.Title:='2/3τ';
    DisplayAnalogForm.DisplayLineSeries_5.Title:='5/6τ';
    DisplayAnalogForm.DisplayLineSeries_6.Title:='1τ';
    DisplayAnalogForm.DisplayAnalogChart.LeftAxis.Title.Caption:='温度';
    DisplayAnalogForm.DisplayAnalogChart.BottomAxis.Title.Caption:='高度';
		;
    DisplayAnalogForm.DisplayAnalogChart.Title.Text.Add('燃烧期不同时间烟气温度随高度分布曲线');

    Hx:=SESystemElement.structure[2];


     for i:=1 to MaxPosition do
        begin
           DisplayAnalogForm.DisplayLineSeries_1.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,1]);
           DisplayAnalogForm.DisplayLineSeries_2.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,10]);
           DisplayAnalogForm.DisplayLineSeries_3.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,15]);
           DisplayAnalogForm.DisplayLineSeries_4.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,20]);
           DisplayAnalogForm.DisplayLineSeries_5.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,30]);
           DisplayAnalogForm.DisplayLineSeries_6.AddXY(i*Hx/MaxPosition,AnalogElement.TempFume[i,MaxPosition]);
           DisplayAnalogForm.DisplayAnalogChart.Update;
   end;  
    DisplayAnalogForm.ShowModal;
end;

procedure TAnalogForm.BurnRegeneratorByTimeClick(Sender: TObject);
var i,j:Integer;
    Tr:Real;
begin
    DisplayAnalogForm:=TDisplayAnalogForm.Create(Self);
    DisplayAnalogForm.DisplayLineSeries_1.Clear;
    DisplayAnalogForm.DisplayLineSeries_2.Clear;
    DisplayAnalogForm.DisplayLineSeries_3.Clear;
    DisplayAnalogForm.DisplayLineSeries_4.Clear;
    DisplayAnalogForm.DisplayLineSeries_5.Clear;
    DisplayAnalogForm.DisplayLineSeries_6.Clear;

    DisplayAnalogForm.DisplayLineSeries_1.Title:='1/6H';
    DisplayAnalogForm.DisplayLineSeries_2.Title:='1/3H';
    DisplayAnalogForm.DisplayLineSeries_3.Title:='1/2H';
    DisplayAnalogForm.DisplayLineSeries_4.Title:='2/3H';
    DisplayAnalogForm.DisplayLineSeries_5.Title:='5/6H';
    DisplayAnalogForm.DisplayLineSeries_5.Title:='1H';
    DisplayAnalogForm.DisplayAnalogChart.LeftAxis.Title.Caption:='温度';
    DisplayAnalogForm.DisplayAnalogChart.BottomAxis.Title.Caption:='时间';
		;
    DisplayAnalogForm.DisplayAnalogChart.Title.Text.Add('燃烧期不同高度蓄热体温度随时间分布曲线');

    Tr:=SESystemElement.q1_inheat[3];
    for j:=1 to MaxTime  do
        begin
           DisplayAnalogForm.DisplayLineSeries_1.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,1,j]);
           DisplayAnalogForm.DisplayLineSeries_2.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,10,j]);
           DisplayAnalogForm.DisplayLineSeries_3.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,25,j]);
           DisplayAnalogForm.DisplayLineSeries_4.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,30,j]);
           DisplayAnalogForm.DisplayLineSeries_5.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,35,j]);
           DisplayAnalogForm.DisplayLineSeries_6.AddXY(j*(Tr)/MaxTime,AnalogElement.TempRegenerator[1,MaxPosition,j]);
           DisplayAnalogForm.DisplayAnalogChart.Update;
        end;

    DisplayAnalogForm.ShowModal;
end;

procedure TAnalogForm.BurnRegeneratorByHeightClick(Sender: TObject);
var i,j:Integer;
    Hx:Real;
begin
    DisplayAnalogForm:=TDisplayAnalogForm.Create(Self);
    DisplayAnalogForm.DisplayLineSeries_1.Clear;
    DisplayAnalogForm.DisplayLineSeries_2.Clear;
    DisplayAnalogForm.DisplayLineSeries_3.Clear;
    DisplayAnalogForm.DisplayLineSeries_4.Clear;
    DisplayAnalogForm.DisplayLineSeries_5.Clear;
    DisplayAnalogForm.DisplayLineSeries_6.Clear;

⌨️ 快捷键说明

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