技術(shù)頻道

      基于紫金橋軟件的煉鋼裝置上料過程統(tǒng)計(jì)分析

      隨著世界各國工業(yè)化程度的不斷加大,各國的鋼鐵需求量也不斷加大,需要的鋼鐵的種類也不斷增多。這就要求我們?cè)阡撹F的生產(chǎn)過程中不斷改進(jìn)自己的工藝技術(shù),提高生產(chǎn)過程控制精度,從而生產(chǎn)出更多更好的高質(zhì)量鋼材。

      在煉鋼過程中配料、上料過程將直接影響鋼的產(chǎn)量及質(zhì)量,如果能對(duì)這一過程進(jìn)行記錄分析,將有利于工藝的改進(jìn)及分析產(chǎn)生次品的原因。下面就講解一下通過紫金橋?qū)崟r(shí)數(shù)據(jù)庫實(shí)現(xiàn)配料、上料過程記錄分析的方法和過程。

      工藝過程

      從總的工藝過程可以分為焦上料和礦上料兩部分,通常焦或礦又各自由兩套上料系統(tǒng)來完成。在上料前,首先要根據(jù)生產(chǎn)不同種類的鋼材進(jìn)行配料。一個(gè)稱量斗可以對(duì)應(yīng)一個(gè)料倉或兩上料倉,當(dāng)一個(gè)稱量斗對(duì)應(yīng)兩個(gè)料倉時(shí),要通過選料器進(jìn)行選料。通常焦炭是通過焦炭稱量斗稱量后直接上料的;而礦通常是由多個(gè)量稱量斗按比例進(jìn)行稱量混合,然后再由礦總稱量斗進(jìn)行匯總稱量上料。

      記錄過程分析

      對(duì)于所有稱量斗,當(dāng)稱量斗打開時(shí)為一次稱量結(jié)束,這時(shí)根據(jù)稱量斗物料來源(料倉選擇器選擇狀態(tài)),將這個(gè)值記錄到對(duì)應(yīng)本次加料量中間量中。對(duì)于礦總稱量斗打開時(shí)或焦炭稱量斗打開時(shí),則產(chǎn)生一條上料記錄。對(duì)于焦炭上料記錄,只記錄一個(gè)當(dāng)前選擇料倉的上料量;對(duì)于礦的上料記錄,則要記錄各分組成分的上料量(由中間量獲得)和礦總的上料量。
      上料過程產(chǎn)生的記錄要通過WEB瀏覽發(fā)布,為了使用所WEB客戶端看到相同的記錄結(jié)果,這要求記錄時(shí)要將數(shù)據(jù)插入到歷史中。WEB客戶端通過查詢指定時(shí)間范圍內(nèi)的上料記錄,而得一致的完整的記錄結(jié)果。
      記錄過程實(shí)現(xiàn)。
      對(duì)于礦上料記錄,由于其是由多種組分混合組成,并要對(duì)各組分含量進(jìn)行記錄,因此行成上料記錄前,要通過一組中間變量對(duì)各組分的稱重結(jié)果記錄。根據(jù)分礦稱量斗對(duì)應(yīng)一個(gè)或兩個(gè)料倉的不同,在產(chǎn)生中間量記錄時(shí),處理方法有所不同,但觸發(fā)條件都由分礦稱量斗的放料門打開產(chǎn)生的。在數(shù)據(jù)庫的“值改變”腳本中為每個(gè)分礦稱量斗打開開關(guān)定義一段處理腳本,如下所示:

      一個(gè)分礦稱量斗對(duì)應(yīng)一個(gè)料倉,開關(guān)狀態(tài)變化時(shí)腳本:
      if( 580稱量斗5打開信號(hào).PV ) then
      580燒5稱重E.PV = 580稱量斗5稱重.PV;
      endif;
      一個(gè)分礦稱量斗對(duì)應(yīng)兩個(gè)料倉,開關(guān)狀態(tài)變化時(shí)腳本:
      if (580稱量斗1打開信號(hào).PV) then
      if( 580礦1燒11選擇信號(hào).PV == 0) then
      580礦1稱重E.PV = 580稱量斗1稱重.PV;
      580燒11稱重E.PV = -99999;
      else
      580礦1稱重E.PV = -99999;
      580燒11稱重E.PV = 580稱量斗1稱重.PV;
      endif;
      endif;
      當(dāng)?shù)V總稱量斗或焦炭稱量斗打開時(shí)就會(huì)產(chǎn)生一條上料記錄,為了方便以時(shí)間為序的記錄檢索,增加了一個(gè)“記錄時(shí)間”數(shù)據(jù)庫點(diǎn),其保存的值沒有太多實(shí)際意義,但它所對(duì)應(yīng)的時(shí)間則是其它量值的檢索條件。對(duì)于礦總稱量斗或焦炭稱量斗同樣要在數(shù)據(jù)庫的“值改變”腳本中為每個(gè)稱量打開開關(guān)定義一段處理腳本,如下所示:

      焦炭稱量斗開關(guān)狀態(tài)變化時(shí)腳本:

      int Millisecond = $SYSTEM.Millisec;
      int CurTime = $SYSTEM.LongTime;
      if( 580西焦稱量斗打開.PV == 1) then
      InsertHisData2(580記錄時(shí)間.PV,$SYSTEM.LongTime, $SYSTEM.LongTime,Millisecond);
      InsertHisData2(580裝料制度.PV,-99999, CurTime, Millisecond);//裝料制度0表示為P
      InsertHisData2(580焦3上料量.PV, -99999, CurTime, Millisecond);
      //沒有上料的礦
      InsertHisData2(580礦總上料量.PV, -99999, CurTime, Millisecond);
      //這里假設(shè)為0時(shí)為選擇焦1
      if( 580焦1焦2選擇信號(hào).PV == 0) then
      InsertHisData2(580焦1上料量.PV, 580西焦稱重.PV, CurTime, Millisecond);
      InsertHisData2(580焦2上料量.PV, -99999, CurTime, Millisecond);
      else
      InsertHisData2(580焦1上料量.PV, -99999, CurTime, Millisecond);
      InsertHisData2(580焦2上料量.PV, 580西焦稱重.PV, CurTime, Millisecond);
      endif;
      endif;
      礦總稱量斗開關(guān)狀態(tài)變化時(shí)腳本:
      int Millisecond = $SYSTEM.Millisec;
      int CurTime= $SYSTEM.LongTime;
      if (580西礦稱量斗打開.PV) then
      InsertHisData2(580記錄時(shí)間.PV,CurTime, CurTime, Millisecond);
      InsertHisData2(580裝料制度.PV,1, CurTime, Millisecond);//1表示裝料制度為K
      InsertHisData2(580焦1上料量.PV, -99999, CurTime, Millisecond);
      //沒有上料的礦或焦
      InsertHisData2(580球10上料量.PV, -99999, CurTime, Millisecond);
      InsertHisData2(580礦1上料量.PV, 580礦1稱重E.PV, CurTime, Millisecond);
      //上料的礦或焦
      InsertHisData2(580礦總上料量.PV, 580西礦稱重.PV, CurTime, Millisecond);
      endif;

      記錄查詢顯示

      對(duì)于記錄的顯示首先是通過一個(gè)隱藏的“所有歷史數(shù)據(jù)表”將選定時(shí)間范圍內(nèi)的所有記錄時(shí)間檢索出來,然后再通過這個(gè)時(shí)間檢索其它記錄值,并將這些值填充到顯示表中。這個(gè)處理過程是通過“所有歷史數(shù)據(jù)表”的“事件腳本”來完成的:

      “事件腳本”中的“數(shù)據(jù)刷新”腳本如下所示:

      int RecordCou nt = #RecordTime.GetDataCou nt();
      int RecordIndex = 1;
      int i,j;

      //第一個(gè)記錄的時(shí)間有可能小于開始時(shí)間
      if( #RecordTime.GetVal(1,1) < #StartDate.Time ) then
      RecordCou nt = RecordCou nt - 1;
      RecordIndex = RecordIndex+ 1;
      endif;
      if( RecordCou nt > #List.RowCou nt() - 2) then
      #List.AddRow(RecordCou nt - (#List.RowCou nt() - 2));
      else
      if( RecordCou nt < 18 ) then//18是本例中缺省記錄數(shù),可根據(jù)實(shí)際情況調(diào)整
      #List.DelTailRow(#List.RowCou nt() - 20);//20為缺省記錄數(shù)加表頭行數(shù)。
      #List.ClearRowData(3,18);
      else
      #List.DelTailRow(#List.RowCou nt()-2 -RecordCou nt);
      endif;
      endif;
      j=1;
      for i=1to RecordCou nt+1step1
      if( #RecordTime.GetVal(1,RecordIndex+i) == #RecordTime.GetVal(3,RecordIndex+i)) then
      #list.SetVal(1, j+2, #RecordTime.GetVal(1,RecordIndex+i));
      #list.SetVal(2, j+2, #RecordTime.GetVal(2,RecordIndex+i));
      j=j+1;
      endif;
      next;

      小結(jié)

      本文主要是以鋼鐵的配料、上料記錄過程為例,結(jié)合工藝過程實(shí)現(xiàn)數(shù)據(jù)記錄和查詢顯示。對(duì)于這個(gè)示例不僅可以做為鋼鐵配料、上料記錄、數(shù)據(jù)分析顯示的原型,也可以根據(jù)它的應(yīng)用特點(diǎn)(數(shù)據(jù)產(chǎn)生存儲(chǔ)由服務(wù)器端——數(shù)據(jù)庫腳本來完成,數(shù)據(jù)查詢顯示由客戶端腳本來完成),而將其擴(kuò)展到其它行業(yè)。希望對(duì)學(xué)習(xí)使用紫金橋?qū)崟r(shí)數(shù)據(jù)庫所有幫助。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 国产在线一区视频| 一区二区三区www| 无码人妻精品一区二区三| 日韩色视频一区二区三区亚洲| 日韩电影一区二区| 国产激情精品一区二区三区| 亚洲AV无码国产一区二区三区 | 国产亚洲无线码一区二区 | 成人精品一区二区三区中文字幕 | 色偷偷一区二区无码视频| 精品乱码一区内射人妻无码| 欧美日韩精品一区二区在线视频| 日韩精品无码一区二区中文字幕| 真实国产乱子伦精品一区二区三区| | 日本成人一区二区| 久久久久人妻一区精品果冻| 视频一区在线免费观看| 一区二区三区免费电影| 日本精品一区二区三区四区| 国产一区二区在线观看视频| 精品福利一区3d动漫| 一本岛一区在线观看不卡| 搜日本一区二区三区免费高清视频 | 日韩精品一区二区三区老鸦窝| 国产午夜精品一区二区三区极品| 亚洲国产一区在线观看| 中文字幕AV一区二区三区人妻少妇| 亚洲香蕉久久一区二区| 人妻互换精品一区二区| 成人精品一区二区激情| 乱色熟女综合一区二区三区| 精品日韩在线视频一区二区三区 | 精品国产AV一区二区三区| 3D动漫精品啪啪一区二区下载| 中字幕一区二区三区乱码 | 国产免费无码一区二区 | 精品国产一区二区三区久久影院| 欧洲精品码一区二区三区| 一区二区三区精品高清视频免费在线播放| 国产一区二区三区在线看片|