Siemens PLC在橡膠壩控制系統中的應用
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 充排水控制系統
壩袋充排水控制系統主要由上位控制系統、充排水泵、軟起動器、電氣控制裝置、水位檢測設備、壩袋高度及壩袋內壓檢測設備等組成,根據壩袋高度、壩袋內壓以及水位,通過對水泵電機的啟停控制以及輸水管路上的電動蝶閥的開關等進行壩袋的充排水自動控制,壩袋的充排水所需時間必須與工程的運用要求相適應。
壩袋充排水控制系統主要包括汛期和非汛期兩種充排水控制方式,汛期時,我們根據葛溝水位的情況,作出一個閉環控制,來調節壩袋的高度;非汛期時,我們根據上游水位的情況,作出一個閉環控制,來調節相應壩袋的高度。
4 系統硬件設計
4.1 可編程控制器的選型
針對用戶要求,要求設備plc模塊化、高性能、高可靠性、高速指令處理、用戶友好的參數設置、簡單的維護及服務和合理的價格等,綜合考慮各個plc品牌的性能和性價比,我們選用了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 savevalues()
{ #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); */關閉文件/*
}
5.4 監控流程設計
本系統中,plc程序設計主要完成開關量邏輯控制和模擬量回路控制。開關量邏輯控制包括各個水泵閥門的啟停及其聯鎖控制,模擬量回路控制包括各個回路的pid控制算法的實現和比值控制系統和串級控制系統的實現。系統流程圖2所示。
圖2 系統流程
6 結束語
本系統按照沂河桃園橡膠壩監控系統建設的總體目標,遵循運行安全穩定、技術先進的原則,利用計算機網絡技術、電力電子技術、工業控制技術和數據及視頻傳輸技術對沂河桃園橡膠壩進行開發設計,建成一個具有先進性、可靠性、易于利用的現代化工程。本系統能實現實時信息自動采集、處理、監測、控制、遠程數據傳輸等功能,為沂河的航運及安全提供了有力的保障。
文章版權歸西部工控xbgk所有,未經許可不得轉載。