產品分類

橡膠壩控製係統中Siemens PLC的應用方法

發布日期:2011-10-24   17:34:24  信息來源:青島草莓视频app下载工業  瀏覽數:566 次

1  引言
                
  沂河桃園橡膠壩位於山東省臨沂市境內。橡膠壩是用高分子合成材料,按要求的尺寸、錨固於河床底板上形成封閉狀、用水(氣)充脹後形成的擋水壩。不需擋水時,放空壩袋內的水(氣),就可恢複原有河渠的過水斷麵。橡膠壩可用於防洪、灌溉、發電、供水、航運、擋潮及城市園林美化,也可用於活動圍堰、渠係臨時擋水工程等。
                
  沂河桃園橡膠壩擔負著當地攔河蓄水、泄洪、航運管理等重要任務。計算機自動化監控係統是工程正常運行管理和安全渡汛的一個重要保障措施。本自動化監控係統充分利用計算機技術、現場總線技術、網絡技術、自動控製技術等高端技術進行橡膠壩的自動化監控,提升了橡膠壩和船閘狀態監視,運行控製,日常管理的現代化水平,同時也為今後實現跨地區分布式網絡化多媒體遠程監控打下了基礎。沂河桃園橡膠壩自動化控製係統的開發能夠提高橡膠壩的現代化管理水平,具有很強的經濟和社會意義。
            
2  係統整體結構
                
  橡膠壩控製係統的整體結構設計如圖1所示,主要由現地測控係統和上位遠程監控係統兩部分組成數據采集與監視控製係統(scada係統)。橡膠壩現地測控係統選用西門子s7-300和s7-200係列plc平台開發,以plc為核心,采集各種傳感器的信號,完成上下遊水位及閘室水位、葛溝水位、船舶監測、各閘門開啟高度、壩袋內壓、壩體高度以及壩體其他參數的檢測。它主要包括兩套s7-200現場船閘控製櫃、一套s7-300充排水泵控製櫃、一個葛溝水位站監測櫃、交通信號燈、電動蝶閥和現場所安裝的數據采集及相關控製設備所構成的硬件係統,同時,還包括針對大壩安全監測所用的設備滲壓計。

                                                       

  圖1  橡膠壩控製係統結構圖

                
  上位機遠程控製係統主要由兩台工業控製計算機及其監控軟件、大壩安全監測設備mcu、工業交換機等組成。兩台工業控製計算機,一台作為服務器,另一台作為客戶機,客戶機和服務器采用opc通訊;監控軟件主要是實現控製係統的參數設置、工作狀況顯示、運行控製、數據統計和曆史記錄查詢等功能,實時接收現地傳感器等運行數據,記錄各個壩袋以及閘門的運行情況,全麵監控橡膠壩控製係統的整體運行情況。
                
  通訊方麵,兩套s7-200現場船閘控製櫃與s7-300控製櫃采用profi-busu協議,葛溝水位s7-200監測櫃與s7-300控製櫃采用無線電台遠程傳輸方式。服務器與客戶機采用工業以太網通訊。同時,大壩安全監測設備mcu和監控主機采用rs485協議。
                

  橡膠壩測控係統必須在充分考慮船閘啟閉及充排水泵操作的安全性和可靠性的前提下,利用成熟的工業控製技術、傳感器技術、數據傳輸技術以及計算機技術,實現橡膠壩船閘及泵信息的實時采集、閘門自動精確啟閉、以及相關環境及船閘管理情況的實時監控。

 

3  監控係統功能設計
            
  3.1 閘門和泵控製
                
  (1) 現地控製:現場操作人員能通過一組切換開關實現人工控製方式與自動控製方式的轉換。在人工控製方式下,現場操作人員可按原有方式啟閉閘門或泵,其動作相關信息將接受上級部門的實時監控。在自動方式下可以進行遠程控製。人工和自動控製方式也可通過遠程監控係統切換。
                
  (2) 遠程控製:根據各級用戶通過網絡發給現場測控單元(plc)的指令,閘門可自動開啟或關閉,充、排水泵自動啟動或者停止,其動作由各級用戶根據權限控製。
                
  (3) 閘門啟閉及泵啟動告警:在閘門將要啟閉以及啟閉過程當中,在閘門啟閉裝置附近應有相應的聲光裝置發出告警提示,以提醒在現場的工作人員注意。
                
  (4) 限位保護:在閘門啟閉裝置的最上麵和最下麵應安裝啟閉機運行範圍的限位開關,一旦啟閉裝置運行到這兩個位置時,這兩個限位開關將立即通知測控單元,切斷啟閉機電源,以避免啟閉機超出運行範圍。
                
  (5) 相序保護:在啟閉機的供電線路裏麵應串有相序保護器,避免由於三相電源相序混亂所造成的啟閉機電機的不正常運轉。
                
  (6) 過載保護:每個啟閉機的控製電路裏麵必須配有熱過載繼電器,根據不同電機功率要求其有不同的設定值,當電機發生過載或是其他故障時,此繼電器將能自動切斷電機的供電電源,以免燒毀電機。
            
  3.2 數據監測
                
  實時監測數據應包括:閘前水位、閘後水位、閘門開度、閘門荷載、閘門上升或下降接觸器狀態、閘門行程開關狀態、啟閉機保護裝置狀態、動力和控製電源狀態、有關操作按鈕或開關狀態、閘門啟閉機電源電壓、電流等。
                
  (1) 水位監測:在閘室及閘室前後都要按水位觀測要求安裝水位傳感器,以便實時監測閘室及閘室前後的實時水位信息。
                
  (2) 閘位的自動跟蹤測量:無論閘門動作與否,安裝於閘門啟閉機傳動裝置上的閘位計都應實時檢測閘門的高度值,並上傳給現場測控單元。
                
  (3) 電流、電壓監測:在供電線路裏麵還要配置多功能電表,用以實時監測三相電源的電流和電壓,為啟閉機的啟閉操作提供參考數據。
                
  (4) 液壓係統監測:包括油壓、壓力報警信號(超壓、欠壓)、濾油器堵塞報警信號、油箱油位過低報警信號;
                
  (5) 環境監測:在發電機室中裝有溫濕度等傳感器,用以實時監測機房中的工作環境狀況。
                
  (6) 狀態監測:包括進出閘信號燈狀態、上下遊閉鎖狀態、閘門上升或下降接觸器狀態、閘門行程開關狀態、啟閉機保護裝置狀態、動力和控製電源狀態、有關操作按鈕或開關狀態等。
            
  3.3 充排水控製係統
                
  壩袋充排水控製係統主要由上位控製係統、充排水泵、軟起動器、電氣控製裝置、水位檢測設備、壩袋高度及壩袋內壓檢測設備等組成,根據壩袋高度、壩袋內壓以及水位,通過對水泵電機的啟停控製以及輸水管路上的電動蝶閥的開關等進行壩袋的充排水自動控製,壩袋的充排水所需時間必須與工程的運用要求相適應。
                
  壩袋充排水控製係統主要包括汛期和非汛期兩種充排水控製方式,汛期時,草莓视频app下载根據葛溝水位的情況,作出一個閉環控製,來調節壩袋的高度;非汛期時,草莓视频下载app无限观看根據上遊水位的情況,作出一個閉環控製,來調節相應壩袋的高度。
            
4  係統硬件設計
            
  4.1 可編程控製器的選型
                
  針對用戶要求,要求設備plc模塊化、高性能、高可靠性、高速指令處理、用戶友好的參數設置、簡單的維護及服務和合理的價格等,綜合考慮各個plc品牌的性能和性價比,acm2app草莓视频選用了simens的可編程控製器s7-200和s7-300係列,s7-200作為子站,s7-300作為主站。其中,葛溝水位站plc采用了cpu222,船閘啟閉控製plc采用了cpu226, s7-300采用了cpu315-2dp。

 

4.2 擴展從站模塊
                
  擴展從站模塊(em277profib-us-dp):可將s7-200 cpu連接到profibus-dp網絡。em277經過串行i/o總線連接到s7-200 cpu。pro-fibus網絡經過其dp通信端口,連接到em277 profibus-dp模塊。這個端口可運行於9600波特和12m波特之間的任何profibus波特率。作為dp從站,em277模塊接受從主站來的多種不同的i/o配置,向主站發送和接收不同數量的數據。這種特性使用戶能修改所傳輸的數據量,以滿足實際應用的需要。與許多dp站不同的是,em277模塊不僅僅是傳輸i/o數據。em277能讀寫s7-200cpu中定義的變量數據塊。這樣,使用戶能與主站交換任何類型的數據。首先將數據移到s7-200 cpu中的變量存儲器,就可將輸入、計數值、定時器值或其它計算值傳送到主站。類似地,從主站來的數據存儲在s7-200cpu中的變量存儲器內,並可移到其它數據區。em277 profibus-dp模塊的dp端口可連接到網絡上的一個dp主站上,但仍能作為一個mpi從站與同一網絡上如simatic編程器或s7-300/s7-400 cpu等其它主站進行通信。
            
5  係統軟件設計
            
  5.1 操作係統軟件
                
  橡膠壩監控係統的操作係統軟件采用windows 2000 server。它是在windows nt server 4.0的基礎上,進一步發展活動目錄,它采用了類似exchange server 的數據存儲方式,稱為extensible storage service,其特點是不需要事先定義數據庫的參數,可以做到動態的增長,性能非常優良。在數據存儲之上已建立索引的,可以方便快速地搜索和定位。活動目錄的分區是域(domain),一個域可以存儲上百萬個對象,域之間還有層次關係,可無限地擴展。
                
  在數據存儲之上,建立一個對象模型,以構成活動目錄。這一對象模型對ldap有純粹的支持,還可以管理和修改schema。通過修改sche-ma的工具,用戶和開發人員可以自己定義特殊的類和屬性,來創建所需要的對象和對象屬性。活動目錄是一個分布式的目錄服務,信息可以分散在多台不同的計算機上,保證快速訪問和容錯;同時不管用戶從何處訪問或信息處在何處,都對用戶提供統一的視圖。
            
  5.2 plc控製程序的開發 
                
  plc作為橡膠壩測控係統的核心,plc編程軟件對於實現現地、遠程監控是至關重要的。step7是用於simatic s7300/400站創建可編程邏輯控製程序的標準軟件;microwin是用於simatic s7200站創建可編程邏輯控製程序的標準軟件,都可使用梯形邏輯圖、功能塊圖或語句表3種方式編寫具體程序。
  s7200 plc中不需要編寫任何與通訊有關的程序,隻需要將要交換的數據整理到一個連續的v存儲區當中即可,而s7300中需要在ob1(或是定時中斷組織塊ob35)當中調用係統功能x_get(sfc67)和x_put(sfc68),實現s7300 與s7200之間的通訊,調用sfc67和sfc68時var_addr參數填寫s7200的數據地址區。
                
  本係統s7-300控製程序的開發采用西門子公司的step7 5.4, s7-200控製程序的開發采用西門子公司的microwin v4.0 sp3。
            
  5.3 上位機simatic wincc軟件設計
                
  本係統采用西門子公司的監控軟件simatic wincc(視窗控製中心)設計而成,具有數據顯示,累積量查詢和報表打印等功能。
                
  simatic wincc(視窗控製中心),是西門子(siemens)在自動化領域中的先進技術和microsoft的強大功能相結合的產物。它有各種有效功能用於自動化過程,是用於個人計算機上的,按價格和性能分級的人機界麵。可以容易的結合標準和用戶程序生成人機界麵,準確的滿足實際要求。
                
  simatic wincc主要包括計算機(computer), 標簽管理(tag manage -ment),數據類型(data type)和編輯器(editor)四大部分。其中計算機一項是對計算機進行有關的設置;標簽管理是對標簽進行初始化定義;數據類型是對標簽所代表的數據類型進行定義;編輯器則是最為主要的部分,它主要包括以下幾個部分:
                (1) 圖形編輯器(graphics desig -ner);
                (2) 報表係統(report designer);
                (3) 標簽存檔(tag logging);
                (4) 報警存檔(alarm logging)。
                
  由於wincc軟件本身是一個利用最新的麵向對象的軟件編程技術開發而成的32位應用程序,可以用其內嵌的c語言或vb語言編輯器(而且wincc自己也具有豐富的函數庫)編寫適用於用戶工程需要的動作或腳本文件,來進行數據的記錄及存儲,這樣使得對於過程數據的處理、分析比通過odbc和sql訪問歸檔數據更為靈活、簡單。其中一段關於變量采集與歸檔得程序如下:
                void savevalsues()
                { #pragma  code("kernel32.dll");
                 void getlocaltime(systemt -ime*   lpst);
                 #pragma code();
                 sy
                 int nmonth; stemtime st;
                 int nyear;
                 int nday;
                 int nhour;
                 int nminute;
                 int nsecond; */定義時間參數/*       
                int i;                   
                 int nvaluecount=94;    */定義變量個數/*
                 file *fp,*fptemp,*fplog;
                 char filename[64]={0};
                 char strerr[256]={0};
                 char *  tagname[150]={
                "zspower_leiji",
                "6wf1_leiji",
                ."7sf4_leiji"
                }; */定義參數,其中包括由需要記錄的94個變量組成的數組/*
                unsigned float fvalue[150]={0.0f};
                getlocaltime(&st);            
                nyear=st.wyear;
                nmonth=st.wmonth;
                nday=st.wday;  */獲取係統時間/*  
                sprintf(filename,"d:\\data-\\%04d%02d%02d",nyear,nmonth,nday);
                fptemp=fopen(filename,"r");
                if(fptemp) goto exit;          */與係統時間相符的二進製文件是否已存在/*  
                fp=fopen(filename,"wb");
                   if(!fp)
                 { fplog=fopen("d:\\data\\log.txt","wa+");
                 sprintf(strerr,"%04d/%02d/%02d%02d:%02d:%02d------can`t write 
            logfile:%04d%02d%02d",nyear,nmonth,nday,nhour,nminute,nsecond,nyear,nmonth,nday);
                 fwrite(strerr,sizeof(strerr),1,fplog);
                 fclose(fplog);
                 return;
                 } */創建與係統時間相符的二進製文件並打開/*
                 for (i=0;i<92;i++)
                    {
                 fvalue[i]=gettagfloat(tagname[i]);  
                 }
                 fwrite(fvalue,4,94,fp);             
                 fclose(fp); */按照數組中定義的變量順序依次將變量瞬時值寫入文件/*
                exit:
                 fclose(fptemp);    */關閉文件/*    
                }