產品分類

      當前位置: 首頁 > 工業電氣產品 > 工業開關 > 輕觸開關

      類型分類:
      科普知識
      數據分類:
      輕觸開關

      基于紫金橋軟件的煉鋼裝置上料過程統計分析

      發布日期:2022-04-27 點擊率:127

         

      隨著世界各國工業化程度的不斷加大,各國的鋼鐵需求量也不斷加大,需要的鋼鐵的種類也不斷增多。這就要求我們在鋼鐵的生產過程中不斷改進自己的工藝技術,提高生產過程控制精度,從而生產出更多更好的高質量鋼材。

      在煉鋼過程中配料、上料過程將直接影響鋼的產量及質量,如果能對這一過程進行記錄分析,將有利于工藝的改進及分析產生次品的原因。下面就講解一下通過紫金橋實時數據庫實現配料、上料過程記錄分析的方法和過程。

      工藝過程

      從總的工藝過程可以分為焦上料和礦上料兩部分,通常焦或礦又各自由兩套上料系統來完成。在上料前,首先要根據生產不同種類的鋼材進行配料。一個稱量斗可以對應一個料倉或兩上料倉,當一個稱量斗對應兩個料倉時,要通過選料器進行選料。通常焦炭是通過焦炭稱量斗稱量后直接上料的;而礦通常是由多個量稱量斗按比例進行稱量混合,然后再由礦總稱量斗進行匯總稱量上料。

      記錄過程分析

      對于所有稱量斗,當稱量斗打開時為一次稱量結束,這時根據稱量斗物料來源(料倉選擇器選擇狀態),將這個值記錄到對應本次加料量中間量中。對于礦總稱量斗打開時或焦炭稱量斗打開時,則產生一條上料記錄。對于焦炭上料記錄,只記錄一個當前選擇料倉的上料量;對于礦的上料記錄,則要記錄各分組成分的上料量(由中間量獲得)和礦總的上料量。

      上料過程產生的記錄要通過WEB瀏覽發布,為了使用所WEB客戶端看到相同的記錄結果,這要求記錄時要將數據插入到歷史中。WEB客戶端通過查詢指定時間范圍內的上料記錄,而得一致的完整的記錄結果。

      記錄過程實現

      對于礦上料記錄,由于其是由多種組分混合組成,并要對各組分含量進行記錄,因此行成上料記錄前,要通過一組中間變量對各組分的稱重結果記錄。根據分礦稱量斗對應一個或兩個料倉的不同,在產生中間量記錄時,處理方法有所不同,但觸發條件都由分礦稱量斗的放料門打開產生的。在數據庫的“值改變”腳本中為每個分礦稱量斗打開開關定義一段處理腳本,如下所示:

      一個分礦稱量斗對應一個料倉,開關狀態變化時腳本:

      if( 580稱量斗5打開信號.PV ) then

      580燒5稱重E.PV = 580稱量斗5稱重.PV;

      endif;

       

      一個分礦稱量斗對應兩個料倉,開關狀態變化時腳本:

      if (580稱量斗1打開信號.PV) then

      if( 580礦1燒11選擇信號.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;

      當礦總稱量斗或焦炭稱量斗打開時就會產生一條上料記錄,為了方便以時間為序的記錄檢索,增加了一個“記錄時間”數據庫點,其保存的值沒有太多實際意義,但它所對應的時間則是其它量值的檢索條件。對于礦總稱量斗或焦炭稱量斗同樣要在數據庫的“值改變”腳本中為每個稱量打開開關定義一段處理腳本,如下所示:

      焦炭稱量斗開關狀態變化時腳本:

      int Millisecond = $SYSTEM.Millisec;

      int CurTime = $SYSTEM.LongTime;

      if( 580西焦稱量斗打開.PV == 1) then

      InsertHisData2(580記錄時間.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);

      //這里假設為0時為選擇焦1

      if( 580焦1焦2選擇信號.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;

      礦總稱量斗開關狀態變化時腳本:

      int Millisecond = $SYSTEM.Millisec;

      int CurTime= $SYSTEM.LongTime;

      if (580西礦稱量斗打開.PV) then

      InsertHisData2(580記錄時間.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;

      記錄查詢顯示

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

      “事件腳本”中的“數據刷新”腳本如下所示:

      int RecordCount = #RecordTime.GetDataCount();

      int RecordIndex = 1;

      int i,j;

       

      //第一個記錄的時間有可能小于開始時間

      if( #RecordTime.GetVal(1,1) < #StartDate.Time ) then

      RecordCount = RecordCount - 1;

      RecordIndex = RecordIndex+ 1;

      endif;

      if( RecordCount > #List.RowCount() - 2) then

      #List.AddRow(RecordCount - (#List.RowCount() - 2));

      else

      if( RecordCount < 18 ) then//18是本例中缺省記錄數,可根據實際情況調整

      #List.DelTailRow(#List.RowCount() - 20);//20為缺省記錄數加表頭行數。

      #List.ClearRowData(3,18);

      else

      #List.DelTailRow(#List.RowCount()-2 -RecordCount);

      endif;

      endif;

       

      j=1;

      for i=1to RecordCount+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;

      小結

      本文主要是以鋼鐵的配料、上料記錄過程為例,結合工藝過程實現數據記錄和查詢顯示。對于這個示例不僅可以做為鋼鐵配料、上料記錄、數據分析顯示的原型,也可以根據它的應用特點(數據產生存儲由服務器端——數據庫腳本來完成,數據查詢顯示由客戶端腳本來完成),而將其擴展到其它行業。希望對學習使用紫金橋實時數據庫所有幫助。

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      主站蜘蛛池模板: 午夜视频久久久久一区| 亚洲一区二区电影| 日本v片免费一区二区三区| 国产拳头交一区二区| 国产精品日本一区二区不卡视频| 国产欧美色一区二区三区| 亚洲一区无码中文字幕| 国产伦精品一区二区三区在线观看| 一区二区三区人妻无码| 一区二区在线播放视频| 精品国产一区二区三区AV | 国产伦精品一区二区三区视频金莲| 国产一区二区不卡在线播放| 国产成人一区二区动漫精品| 亚洲av成人一区二区三区| 久久亚洲一区二区| 国产人妖视频一区二区| 中文字幕在线视频一区| 亚洲成人一区二区| 高清在线一区二区| 日韩一区二区三区电影在线观看 | 国产亚洲一区二区在线观看| 无码少妇一区二区浪潮av| 国产成人精品亚洲一区| 无码中文人妻在线一区二区三区 | 久久se精品一区二区| 大屁股熟女一区二区三区| 无码国产亚洲日韩国精品视频一区二区三区 | 毛片一区二区三区| 国产精品夜色一区二区三区| 亚洲天堂一区在线| 亚洲国产一区在线观看| 精品欧洲av无码一区二区 | 人妻少妇精品视频一区二区三区 | 一区二区三区国模大胆| 午夜无码视频一区二区三区| 亚洲免费一区二区| 久夜色精品国产一区二区三区| 精品国产日韩亚洲一区| 一本AV高清一区二区三区| 亚洲线精品一区二区三区影音先锋 |