摘要:隨著工業自動化水平的迅速提高,計算機在工業領域得廣泛應用,人們對工業自動化的要求也越來越高,對種類繁多的控制設備和過程監控裝置,組態王軟件是開發工程一非常有效的工具軟件。我們成功地開發了油量計量系統自動監測的工程。
關鍵字:組態軟件;遠程監控;上位機;下位機;數據采集
Abstract:With the rapid development of the industrial">

      技術頻道

      用組態6.0實現的一個流量集散控制系統

      摘要:隨著工業自動化水平的迅速提高,計算機在工業領域得廣泛應用,人們對工業自動化的要求也越來越高,對種類繁多的控制設備和過程監控裝置,組態王軟件是開發工程一非常有效的工具軟件。我們成功地開發了油量計量系統自動監測的工程。
      關鍵字:組態軟件;遠程監控;上位機;下位機;數據采集
      Abstract:With the rapid development of the industrial automation level ,more and more computers apply in all over the industrial area,the demands that people request industrial automation control are higher and higher,the king-view is a good software tool to exploit project for the more kinds control devices and monitor devices。We do a automation system of oil measure successfully。
      Keywords:Configuration software;remote monitoring and control; upper machine;down machine;data collection
      前言
      組態王是以Windows98,windowsNT等為操作平臺,用于快速開發工程和生成上位機監控系統的組態軟件系統。它具有數據采集與數據處理功能;形象的生產過程的動態顯示;顯示實時數據與歷史數據的功能及生成各種報表;遠程監控、故障報警、控件等。它為用戶提供了解決實際工程問題的軟件環境,提高了工程運行的可靠性,縮短了工程的開發周期,非常適合開發工控項目。
      1. 本控制系統實現的功能
      本系統是對某油田油量計量系統實現自動監測工程的一個項目。通過使用組態軟件生成的監測系統,把各個生產現場的數據采集到中心調度室,由工控機把信號進行處理,使用組態王軟件生成的工程進行數據處理,生成現場過程的動畫連接,計算機用戶可以通過中心調度室的機房實現直接對現場的數據及畫面進行瀏覽和監測。
      這是一個典型的三級集散工業控制系統。整個系統通訊的總線方式為工業現場總線的profi-bus布線模式,第一級為上位機監控軟件"組態王",運行于WIN98/NT平臺、中文人機界面,操作簡單方便,包括現場動態圖片、聲光報警監測、系統參數設定、現場控制、實時、歷史曲線、趨勢圖、數據、報表打印等;第二級為下位機為板卡或智能模塊采集數據。第三級為各個分散布局的計量間,它們直接測現場油井的出油量并有自己的一套數據傳送設備。所有的現場數據全部通過雙絞線傳送到中心調度室,由中心調度室的工業控制計算機統一進行監測處理進行控制。 計量間也有處理緊急情況的手動裝置。本系統的實現過程如下。
      2. 系統硬件組成
      現場數據采集設備--------計量間的現場智能儀表指示儀
      通訊總線網絡 --------profi-bus
      智能通迅模快 ---------中機浦發模塊卡
      實現雙機備份的多媒體計算機。
      信號傳輸線
      3. 系統具體實現
      3.1 系統將各個計量間的現場智能儀表指示儀的數據取來處理,共有12個計量間,每個計量間有儀表30塊。
      3.2 使用組態王開發系統制做的畫面,其中主運行畫面如下:

      主程序運行的應用程序命令語言:


      其中運行時對累計流量處理部分的框圖如下:

      程序:
      流動狀態1位移=流動狀態1位移+1;
      if(流動狀態1位移>3)
      {流動狀態1位移=0;}
      流動狀態2位移=流動狀態2位移+1;
      if(流動狀態2位移>3)
      {流動狀態2位移=0;} 注:此為1部分
      報警測試=瞬時流量1j1.Alarm||瞬時流量1j2.Alarm||瞬時流量1j3.Alarm||瞬時流量1j4.Alarm||瞬時流量1j5.Alarm||瞬時流量1j6.Alarm||瞬時流量1j7.Alarm||瞬時流量1j8.Alarm||瞬時流量1j9.Alarm||瞬時流量1j10.Alarm||瞬時流量1j11.Alarm||瞬時流量1j12.Alarm||瞬時流量1j13.Alarm||瞬時流量1j14.Alarm||瞬時流量1j15.Alarm||累計流量1j1.Alarm||累計流量1j2.Alarm||累計流量1j1.Alarm||累計流量1j2.Alarm||累計流量1j3.Alarm||累計流量1j4.Alarm||累計流量1j5.Alarm||累計流量1j6.Alarm||累計流量1j7.Alarm||累計流量1j8.Alarm||累計流量1j9.Alarm||累計流量1j10.Alarm||累計流量1j11.Alarm||累計流量1j12.Alarm||累計流量1j13.Alarm||累計流量1j14.Alarm||累計流量1j15.Alarm; 注:此為2部分
      if(int(累計流量測試/100000)>0)
      {累計流量測試位8=int(累計流量測試/100000);
      累計流量測試數點位=5;
      累計流量測試=累計流量測試-累計流量測試位8*100000;
      累計流量測試位7=int(累計流量測試/10000);
      累計流量測試=累計流量測試-累計流量測試位7*10000;
      累計流量測試位6=int(累計流量測試/1000);
      累計流量測試=累計流量測試-累計流量測試位6*1000;
      累計流量測試位5=int(累計流量測試/100);
      累計流量測試=累計流量測試-累計流量測試位5*100;
      累計流量測試位4=int(累計流量測試/10);
      累計流量測試=累計流量測試-累計流量測試位4*10;
      累計流量測試位3=int(累計流量測試);
      累計流量測試=(累計流量測試-累計流量測試位3)*100;
      累計流量測試位2=int(累計流量測試/10);
      累計流量測試=累計流量測試-累計流量測試位2*10;
      累計流量測試位1=int(累計流量測試);} 注:此為3部分
      else {if(int(累計流量測試/10000)>0)
      {累計流量測試位8=int(累計流量測試/10000);
      累計流量測試數點位=4;
      累計流量測試=累計流量測試-累計流量測試位8*10000;
      累計流量測試位7=int(累計流量測試/1000);
      累計流量測試=累計流量測試-累計流量測試位7*1000;
      累計流量測試位6=int(累計流量測試/100);
      累計流量測試=累計流量測試-累計流量測試位6*100;
      累計流量測試位5=int(累計流量測試/10);
      累計流量測試=累計流量測試-累計流量測試位5*10;
      累計流量測試位4=int(累計流量測試);
      累計流量測試=(累計流量測試-累計流量測試位4)*1000;
      累計流量測試位3=int(累計流量測試/100);
      累計流量測試=累計流量測試-累計流量測試位3*100;
      累計流量測試位2=int(累計流量測試/10);
      累計流量測試=累計流量測試-累計流量測試位2*10;
      累計流量測試位1=int(累計流量測試); } 注:此為4部分
      else { if(int(累計流量測試/1000)>0)
      { 累計流量測試位8=int(累計流量測試/1000);
      累計流量測試數點位=3;
      累計流量測試=累計流量測試-累計流量測試位8*1000;
      累計流量測試位7=int(累計流量測試/100);
      累計流量測試=累計流量測試-累計流量測試位7*100;
      累計流量測試位6=int(累計流量測試/10);
      累計流量測試=累計流量測試-累計流量測試位6*10;
      累計流量測試位5=int(累計流量測試);
      累計流量測試=(累計流量測試-累計流量測試位5)*10000;
      累計流量測試位4=int(累計流量測試/1000);
      累計流量測試=累計流量測試-累計流量測試位4*1000;
      累計流量測試位3=int(累計流量測試/100);
      累計流量測試=累計流量測試-累計流量測試位3*100;
      累計流量測試位2=int(累計流量測試/10);
      累計流量測試=累計流量測試-累計流量測試位2*10;
      累計流量測試位1=int(累計流量測試); } 注:此為5部分
      else { if(int(累計流量測試/100)>0)
      { 累計流量測試位8=int(累計流量測試/100);
      累計流量測試數點位=2;
      累計流量測試=累計流量測試-累計流量測試位8*100;
      累計流量測試位7=int(累計流量測試/10);
      累計流量測試=累計流量測試-累計流量測試位7*10;
      累計流量測試位6=int(累計流量測試);
      累計流量測試=(累計流量測試-累計流量測試位6)*100000;
      累計流量測試位5=int(累計流量測試/10000);
      累計流量測試=累計流量測試-累計流量測試位5*10000;
      累計流量測試位4=int(累計流量測試/1000);
      累計流量測試=累計流量測試-累計流量測試位4*1000;
      累計流量測試位3=int(累計流量測試/100);
      累計流量測試=累計流量測試-累計流量測試位3*100;
      累計流量測試位2=int(累計流量測試/10);
      累計流量測試=累計流量測試-累計流量測試位2*10;
      累計流量測試位1=int(累計流量測試); } 注:此為6部分
      else { 累計流量測試位8=int(累計流量測試/10);
      累計流量測試數點位=1;
      累計流量測試=累計流量測試-累計流量測試位8*10;
      累計流量測試位7=int(累計流量測試);
      累計流量測試=(累計流量測試-累計流量測試位7)*1000000;
      累計流量測試位6=int(累計流量測試/100000);
      累計流量測試=累計流量測試-累計流量測試位6*100000;
      累計流量測試位5=int(累計流量測試/10000);
      累計流量測試=累計流量測試-累計流量測試位5*10000;
      累計流量測試位4=int(累計流量測試/1000);
      累計流量測試=累計流量測試-累計流量測試位4*1000;
      累計流量測試位3=int(累計流量測試/100);
      累計流量測試=累計流量測試-累計流量測試位3*100;
      累計流量測試位2=int(累計流量測試/10);
      累計流量測試=累計流量測試-累計流量測試位2*10;
      累計流量測試位1=int(累計流量測試);}} }}
      此為7部分,另處瞬時流量小數點浮動處理和此類似,故略。
      3.3 選擇某計量間畫面如下:

      3.4 選擇某塊儀表后,進入儀表顯示畫面如下:

      a、正常顯示時,12435.00是某個油井的累計流量,可浮點顯示,最大為99999.999,最小為00.000000。
      b、主程序中處理好的八個數字位,分別動畫連接到累計流量的八個位上。以個位(右則第一個位)顯示0為例,它是0-9拾個數碼的疊加組合, 數碼0上面的連接語言是其它數碼類似。這樣,來的個位數字是0,則只有數碼0是顯示的,而其它9個數碼都是隱含的。
      c、01.00是其瞬時流量,也可浮點顯示,最大9999.,最小為00.00,檢查人員可查看表數,另外也通過計算機把實時數據和歷史數據定時打印成報表。
      d、按“設定鍵”可以設定參數,此時瞬時流量是參數位的4個位,被修改位處于閃爍,以區分兩種狀態。
      e、使用“ ”鍵移位,使用“ ” 鍵加、減參數的每位數字,設定好后,按“確定鍵”存儲,返回正常顯示狀態。這樣能根據參數自動調節油井閥門的大小,即控制了瞬時流量的大小。
      “ ”鍵上的命令語言連接的程序如下:

      “ ”鍵上的命令語言連接的程序如下:

      3.5 曲線、報表系統

      能打印各種實時報表和歷史報表,能顯示棒圖。使用工具菜單中的歷史趨勢曲線和實時趨勢曲線很容易建立圖形顯示。報表制做可先用word建立“報表.rft”文件,按照下面類似格式書寫:
      變量名 變量值
      累計流量 {@v: 累計流量 @f;######.###}
      ……….. …………………………………
      畫面上放置按鈕,為它設置“彈起時”的命令語言,命令為:Reportl("c:\工程\計量間實時報告.rtf","c:\工程\報表.rtf")。
      3.6 報警系統
      系統還設有報警功能,無論在任何畫面,如果出現故障,計算機的畫面閃動,出現紅色報警信號,另外系統也有聲光報警。瞬時流量、累計流量不正常時,對應儀表管道停止動態流動,儀表上出現紅色警介標志。
      4. 使用效果與總結
      這個監控系統中使用了組態王6.01軟件進行開發設計,在該工程中使用了組態王的大部分功能,而且實際運行效果非常良好。自正式投入使用以來,一直可靠無故障地運行,客戶非常滿意。這個系統的投運,也使用戶在企業自動化管理水平方面有了很大的提高。足不出戶就可以輕輕松了解和控制油井現場,該工程模式可以推廣應用到許多需要遠程監控管理環境之中。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 国产一区二区三区无码免费| 日本一区二区不卡视频| 日本精品一区二区久久久| 色狠狠色噜噜Av天堂一区| 狠狠综合久久av一区二区| 老熟妇仑乱视频一区二区| 中文字幕精品一区| 日韩毛片一区视频免费| 女人18毛片a级毛片一区二区| 国产熟女一区二区三区四区五区| 无码人妻精品一区二区三区9厂| 日本视频一区在线观看免费| 久久综合九九亚洲一区| 久久国产精品免费一区二区三区 | 在线精品动漫一区二区无广告 | 中文字幕色AV一区二区三区| 国产精品久久久久久一区二区三区| 中文字幕无码免费久久9一区9| 成人h动漫精品一区二区无码| 国产精品无码一区二区三区在| 亚洲线精品一区二区三区影音先锋 | AV鲁丝一区鲁丝二区鲁丝三区| 国产av一区最新精品| 日本不卡一区二区三区视频| 国产一区二区三区内射高清| 亚洲av永久无码一区二区三区| 好看的电影网站亚洲一区| 一区二区三区免费精品视频| 亚州AV综合色区无码一区| 少妇精品无码一区二区三区 | 爆乳熟妇一区二区三区| 亚洲熟女综合色一区二区三区 | 亚洲国产精品一区二区第四页| 亚洲乱码av中文一区二区| 无码人妻久久一区二区三区免费 | 亚洲乱码一区av春药高潮 | 精品无码一区二区三区电影| 国产无线乱码一区二三区| 久久久99精品一区二区| 一区二区三区无码高清| 日本在线视频一区二区三区|