譚順輝,孟祥波,徐受天,蒲曉波
(中鐵工程裝備集團(tuán)有限公司,河南鄭州 450016)
盾構(gòu)監(jiān)控系統(tǒng)人機界面組態(tài)開發(fā)
譚順輝,孟祥波,徐受天,蒲曉波
(中鐵工程裝備集團(tuán)有限公司,河南鄭州 450016)
為實現(xiàn)對盾構(gòu)各系統(tǒng)集中監(jiān)視、控制、數(shù)據(jù)存儲、故障報警、界面多語言切換等功能,采用NET框架下C#自主開發(fā)的方式,開發(fā)出盾構(gòu)上位機監(jiān)控系統(tǒng)。首先簡要介紹系統(tǒng)的開發(fā)環(huán)境和運行的軟硬件環(huán)境,然后按軟件部分系統(tǒng)邏輯分層順序,分別從以下3個方面進(jìn)行詳細(xì)描述:1)底層負(fù)責(zé)與PLC通訊的OPC協(xié)議;2)自定義控件、組合顯示界面、報警界面,曲線圖界面及注漿界面的多語言切換;3)數(shù)據(jù)存儲格式、海量數(shù)據(jù)的形象化統(tǒng)計分析。主要研究結(jié)論如下:1)系統(tǒng)經(jīng)過中鐵號百余臺盾構(gòu)的實際應(yīng)用證明設(shè)計符合盾構(gòu)監(jiān)控要求,界面友好、穩(wěn)定可靠;2)系統(tǒng)雖為盾構(gòu)量身定做,但其人機界面軟件部分包含了組態(tài)軟件的大部分功能,進(jìn)行功能擴展后可以移植到其他工業(yè)控制系統(tǒng)。
盾構(gòu);監(jiān)控系統(tǒng);人機界面;HMI;組態(tài)軟件
隨著國內(nèi)城市地下空間開發(fā)的快速發(fā)展,大型隧道掘進(jìn)機(盾構(gòu))得到了廣泛的應(yīng)用。和眾多大型工程機械一樣,盾構(gòu)運行中存在大量過程控制、運動控制等系統(tǒng),對這些系統(tǒng)進(jìn)行方便快捷集中有效地監(jiān)測控制顯得極其必要。目前,國內(nèi)外著名的盾構(gòu)生產(chǎn)商(比如海瑞克、羅威特、小松、羅賓斯、上海隧道等)都有自己的人機界面。文獻(xiàn)[1]代表的上海隧道開發(fā)的盾構(gòu)監(jiān)控系統(tǒng),其重點在于用先進(jìn)控制方法優(yōu)化施工數(shù)據(jù)。文獻(xiàn)[2]代表了完全從底層開發(fā)的監(jiān)控系統(tǒng)。盾構(gòu)是個系統(tǒng)工程,完全從數(shù)據(jù)采集板卡開發(fā)難度較大,也不利于實現(xiàn)盾構(gòu)所有參數(shù)都加入監(jiān)控系統(tǒng)。文獻(xiàn)[3]代表采用組態(tài)軟件開發(fā)監(jiān)控系統(tǒng),這類系統(tǒng)不利于后期功能擴展,且系統(tǒng)安裝、設(shè)置都比較復(fù)雜。目前來看,大多數(shù)盾構(gòu)廠商均傾向于直接用成熟組態(tài)軟件開發(fā)盾構(gòu)HMI,比如法碼通(NFM)主要使用PcVue,中鐵建主要使用WinCC,上海隧道使用組態(tài)王。從以上文獻(xiàn)可以看出,目前使用分布式PLC并用高級語言自主開發(fā)人機界面對盾構(gòu)進(jìn)行監(jiān)控的方案在業(yè)界還不多見。盾構(gòu)研發(fā)制造是一個長期的過程,且盾構(gòu)是個龐大的系統(tǒng)工程,需要監(jiān)測的IO點達(dá)5 000~6 000個,花更多的時間和精力開發(fā)出具有自己特點、自主知識產(chǎn)權(quán)、易于功能擴展的盾構(gòu)人機界面(HMI系統(tǒng))十分必要。必要性主要表現(xiàn)在以下方面:1)價格上不受制于組態(tài)軟件公司;2)功能可以定制。監(jiān)控系統(tǒng)由一系列傳感器、控制器等經(jīng)過一定的網(wǎng)絡(luò)協(xié)議連接構(gòu)成。人機界面也包含軟硬件部分。本文主要闡述盾構(gòu)人機界面的軟件部分,其本質(zhì)是為盾構(gòu)定制的簡易組態(tài)軟件。下文所提的上位機軟件、人機界面(HMI)、監(jiān)控系統(tǒng)等均特指盾構(gòu)監(jiān)控系統(tǒng)人機界面的軟件部分。
1.1 總體框架設(shè)計
應(yīng)用軟件常采用3層結(jié)構(gòu),即界面層、邏輯層、數(shù)據(jù)層??紤]到盾構(gòu)HMI的主要功能是監(jiān)測控制盾構(gòu)參數(shù)變化、存儲歷史數(shù)據(jù)并進(jìn)行統(tǒng)計分析等,程序的使用不需要遵循特定的業(yè)務(wù)流程,所以本系統(tǒng)中的上位機軟件沒有邏輯層。由于盾構(gòu)HMI操作的對象全部直接或間接來自PLC,在數(shù)據(jù)層底下相當(dāng)于多出來一個PLC通訊層。盾構(gòu)HMI系統(tǒng)總體框架如圖1所示。
圖1 盾構(gòu)HMI系統(tǒng)總體框架Fig.1 Structure of HMI system of shield machine
1)通訊層。主要負(fù)責(zé)程序與PLC的通訊,通過SIMATIC NET建立OPC服務(wù)器,然后建立程序與OPC服務(wù)器的連接,并以定時循環(huán)和按需2種方式讀寫PLC。
2)數(shù)據(jù)層。主要負(fù)責(zé)將從PLC獲取到的實時數(shù)據(jù)按類型(如實時變量、開關(guān)變量、環(huán)累計量)、按不同的存儲機制(如按秒存、按環(huán)存、高低精度存)等對重要的歷史數(shù)據(jù)進(jìn)行存儲。存儲要按照節(jié)省空間、硬盤讀寫時間及解析數(shù)據(jù)時間等原則進(jìn)行。
3)界面層。主要負(fù)責(zé)形象化的在屏幕上顯示盾構(gòu)的實時數(shù)據(jù)、報警信息、統(tǒng)計分析數(shù)據(jù)結(jié)果(如曲線圖、數(shù)據(jù)報表、歷史記錄等),必要時還需要實現(xiàn)界面的多語言切換及動畫效果等。軟件日志可以在界面上顯示,也可以直接由文本編輯器直接打開。
本軟件的最大特點是實現(xiàn)了界面和主程序的分離。界面和界面上控件的綁定關(guān)系等由專門的界面生成工具生成為XML文件。主程序通過讀取該XML文件重繪出各個界面。分離的好處有:1)多臺同時發(fā)布時,有界面修改不需要重新編譯主程序從而保證版本的穩(wěn)定性;2)當(dāng)主程序更改升級時不需要反復(fù)做代碼的遷移等,可大大減輕開發(fā)人員的工作量,保證程序的穩(wěn)定。對本軟件進(jìn)行功能分拆,加上TCP/IP傳輸文件的功能后可以實現(xiàn)互聯(lián)網(wǎng)上的遠(yuǎn)程集中監(jiān)控。
1.2 開發(fā)環(huán)境選擇
盾構(gòu)HMI屬于數(shù)據(jù)采集與控制領(lǐng)域,業(yè)內(nèi)普遍的方式是應(yīng)用組態(tài)軟件。采用組態(tài)軟件不僅不利于系統(tǒng)功能擴展,且需購買版權(quán)等處處受制于人。盾構(gòu)研發(fā)制造是個長期過程,自主開發(fā)盾構(gòu)HMI十分必要。目前軟件業(yè)界存在主流面向?qū)ο笳Z言有C++、Java和C#,其中C#作為新推出的一種編程語言,幾乎集中了所有關(guān)于軟件開發(fā)和軟件工程研究的最新成果,面向?qū)ο?、類型安全、組件技術(shù)、自動內(nèi)存管理、跨平臺異常處理、版本控制及代碼安全管理[4]。綜合以上考慮,使用當(dāng)前普遍采用的快速開發(fā)語言C#。Microsoft.NET Framework是一種在Windows平臺上編程的架構(gòu),并具有面向?qū)ο?、語言無關(guān)性、增強的安全性及代碼共享等優(yōu)點。簡言之,本軟件是在Microsoft.NET Framework平臺下用C#開發(fā)的。
2.1 通信方式選擇
通信方式的選擇是確定工控機與PLC之間的通信。盾構(gòu)屬于大型設(shè)備,IO點較多。PLC常選用西門子S7-300或400系列。S7按功能強弱排序,主要提供MPI,Profibus,工業(yè)以太網(wǎng)等通訊子網(wǎng)[5]。在這幾種通信方式中,工業(yè)以太網(wǎng)具有成本低廉、通用性極好、速度快及可靠等特點。因此,系統(tǒng)的通信采用工業(yè)以太網(wǎng)方式[6]。
工業(yè)以太網(wǎng)最常用的傳輸介質(zhì)是RJ45(普通網(wǎng)線),它的最大傳輸距離是100 m[7]。盾構(gòu)PLC一般位于盾構(gòu)主控室后方,盾構(gòu)工控機位于主控室內(nèi)部正中,二者距離一般不超過10 m,通過工業(yè)級交換機直接連接,即可滿足要求。經(jīng)應(yīng)用證明,該通訊方式成本低廉、穩(wěn)定可靠。
2.2 通信協(xié)議設(shè)計研究
由于西門子S7-400沒有公布通過工業(yè)以太網(wǎng)方式連接PC的數(shù)據(jù)報格式,不能通過編程直接控制PLC。西門子的解決方案是采用其提供的驅(qū)動程序,將PC與PLC的通信標(biāo)準(zhǔn)化為OPC。OPC(用于過程控制的OLE)是一種用于自動化領(lǐng)域內(nèi)被絕大多PLC支持新通訊標(biāo)準(zhǔn)。目前盾構(gòu)所用到的PLC(如西門子、三菱、施耐德、AB等)都有專門的軟件來實現(xiàn)PLC的OPC接口。因此,用OPC設(shè)計出來的人機界面系統(tǒng)可以很輕易地移植到其他盾構(gòu)或PLC平臺上。
在HMI系統(tǒng)中,上位機程序中加載OPC基金會的組件相當(dāng)于是OPC客戶端。西門子提供的SIMATIC NET軟件安裝成功后的Station Configuration 是OPC服務(wù)器,即OPC的服務(wù)器與客戶端都位于盾構(gòu)監(jiān)控的工控機上。OPC服務(wù)器(SIMATIC NET)是由PLC廠商提供的類似于設(shè)備驅(qū)動程序的軟件,它通過PLC廠商私有的通信協(xié)議讀取PLC中的數(shù)據(jù),并將其轉(zhuǎn)化為與OPC規(guī)范兼容的數(shù)據(jù)結(jié)構(gòu)。HMI系統(tǒng)編寫OPC客戶端讀取OPC服務(wù)器中的數(shù)據(jù),一方面通過形象化的顯示方式將數(shù)據(jù)顯示在屏幕,一方面將關(guān)鍵數(shù)據(jù)存儲于數(shù)據(jù)庫用于事后的故障查詢和統(tǒng)計分析等。C#與OPC服務(wù)器的連接原理如圖2所示。
圖2 C#連接OPC服務(wù)器原理圖Fig.2 Working principle of C#connecting with OPC server
OPC服務(wù)器安裝步驟為:1)在PLC與工控機網(wǎng)絡(luò)連接正常的前提下,在工控機上安裝西門子SIMATIC NET。根據(jù)PLC通訊模塊的插槽號等信息,按文檔配置并下載OPC服務(wù)器,最終配置成功與否可在Station Configuration界面上查看。2)在OPC Scout界面上手動添加PLC變量,亦可編程批量添加。3)上位機軟件中調(diào)用OPC基金會組件即可編程查看PLC變量。
3.1 自定義控件
控件類似組態(tài)軟件中的系統(tǒng)自帶的功能,比如顯示數(shù)值的Label,寫入數(shù)值的Text等。組態(tài)軟件一般也都配備有腳本語言供高級應(yīng)用者自己開發(fā)控件。上文1.1已經(jīng)提到,整個HMI軟件采用界面和主程序分離,所有界面及界面控件的綁定關(guān)系等由頁面生成工具生成為XML文件。這個特點導(dǎo)致無論是頁面生成工具還是主程序都無法使用VS開發(fā)工具自帶的控件,為此需要在程序中自定義控件。HMI系統(tǒng)中常用且穩(wěn)定的控件可直接放在程序的Crec.Elements程序集中,主程序通過引用該類庫調(diào)用這些控件,可能會修改的控件可以做成插件。插件的好處是比較靈活,修改插件不會影響主程序版本的穩(wěn)定性。由功能可以看出頁面生成工具側(cè)重于外觀顯示;主程序是在XML文檔的基礎(chǔ)上重繪出外觀,同時為控件賦予特定的讀寫PLC的功能。圖3為系統(tǒng)中常用的控件。
圖3 自定義控件列表Fig.3 List of self-defined controls
3.2 組合實時顯示界面
盾構(gòu)是定制性產(chǎn)品,每2臺盾構(gòu)界面都是不同的,為便于管理采用了界面和主程序的分離。為了在不重新編譯的情況下修改這些設(shè)置,采用配置文件的形式設(shè)計。配置文件保存頁面元素屬性、數(shù)據(jù)綁定關(guān)系、報警文本映射表等信息。不同的項目有不同的配置文件,但是卻有相同的主程序。配置文件的好處還在于功能擴展為遠(yuǎn)程監(jiān)控時,可以用來集中監(jiān)控,通過配置文件的不同來標(biāo)定不同的盾構(gòu)。
在寫好自定義控件之后,就會發(fā)現(xiàn)組合顯示界面十分簡單,其過程類似用組態(tài)軟件配置界面。在頁面生成工具中通過拖放自定義控件、設(shè)置控件屬性、設(shè)置綁定關(guān)系并經(jīng)過一定的美工處理之后,界面生成成功。將界面上的控件屬性、綁定關(guān)系、界面布局等寫入界面XML文檔中。主程序讀取界面XML文件重繪界面,并增加讀寫OPC、定時存儲等功能之后,即可動態(tài)實時顯示盾構(gòu)PLC的參數(shù)變化。系統(tǒng)的生成流程:頁面工具中拖放自定義控件,生成開發(fā)版界面—生成配置文件—配置文件導(dǎo)入主程序—主程序重繪界面—界面上實時顯示盾構(gòu)參數(shù)。圖4為主程序中顯示的盾構(gòu)主監(jiān)控頁。
圖4 HMI主監(jiān)控頁Fig.4 Main page of HMI system
3.3 報警界面、曲線圖、報表等統(tǒng)計分析界面
報警對于任何一種組態(tài)軟件都至關(guān)重要。有效的報警信息可以幫助工程施工人員及時地發(fā)現(xiàn)系統(tǒng)故障,對于預(yù)防危險、安全生產(chǎn)意義重大。最新產(chǎn)生的報警在框架上實時滾動更新,無論切換到哪個界面都能及時看到。圖5為報警界面。
曲線圖界面可直觀顯示數(shù)據(jù)的實時和歷史趨勢,通過對比分析某些變量的歷史曲線可以顯示施工狀況及分析故障原因等。其他統(tǒng)計分析界面如報表、歷史記錄等在此不再贅述。圖6為曲線圖界面。
3.4 界面的多語言切換
主程序中界面顯示均基于配置文件,可由頁面生成工具分別生成2套語言頁面配置文件,切換多語言顯示時分別讀取不同的配置文件。對于主程序中的錯誤提示語、確認(rèn)提示語、報警等,需有專門的語言配置文件。圖7為英文版注漿界面。
需要多語言切換的程序代碼的編碼方式不能為默認(rèn),否則在語言環(huán)境不一致的電腦中不能運行。
鑒于歷史數(shù)據(jù)的讀寫不會出現(xiàn)多用戶并發(fā)、沒有復(fù)雜的范式規(guī)范,且安裝大規(guī)模數(shù)據(jù)庫軟件耗資源、效率低,所以本軟件沒有采用通用的數(shù)據(jù)庫存儲。本軟件自定義了一種歷史數(shù)據(jù)存儲類型,命名為sd文件。sd文件即可按照一定的存儲機制存儲實時數(shù)據(jù)、開關(guān)量數(shù)據(jù)及環(huán)累計數(shù)據(jù)等。存儲機制是實時數(shù)據(jù)按照高低精度存儲,即每0.1,1,10,60 s等存儲一次可選,亦可多選進(jìn)行組合。即對特別重要的數(shù)據(jù)按0.1 s一次存儲,一般的按1 s一次存儲,不重要數(shù)據(jù)按60 s一次存儲。這種安排是為了節(jié)省磁盤空間和節(jié)省磁盤讀寫時間。開關(guān)量包括按鈕的寫入顯示信息及報警信息等,開關(guān)量在開關(guān)狀態(tài)變化時存儲。環(huán)累計量是環(huán)變量的一種,是盾構(gòu)特有的一種數(shù)據(jù)形式,其按照一環(huán)存儲一次的原則進(jìn)行保存。各種變量在sd文件中分有不同的區(qū)塊,當(dāng)數(shù)據(jù)量達(dá)到區(qū)塊的最大值時,區(qū)塊應(yīng)能自動擴展。歷史數(shù)據(jù)的存儲機制如圖8所示(高精度存儲是開的專門線程,不再專門列出)。
圖5 HMI系統(tǒng)報警界面Fig.5 Alarming page of HMI system
圖6 HMI系統(tǒng)曲線圖界面Fig.6 Curve page of HMI system
圖7 HMI系統(tǒng)英文注漿界面Fig.7 Grouting page of HMI system in English version
圖8 歷史數(shù)據(jù)的定時循環(huán)存儲機制Fig.8 Storage mechanism of historical data in timing loop
盾構(gòu)HMI上位機軟件簡單實現(xiàn)了組態(tài)軟件的通用功能,用該軟件進(jìn)行簡單組態(tài)后可實現(xiàn)監(jiān)測控制盾構(gòu)的主驅(qū)動、螺機、泡沫、注漿等各個系統(tǒng)。經(jīng)過中鐵裝備百余臺盾構(gòu)應(yīng)用的驗證,各項功能如實時界面顯示、歷史數(shù)據(jù)存儲、數(shù)據(jù)統(tǒng)計分析等都滿足設(shè)計要求。由于該系統(tǒng)專注但不局限于盾構(gòu)的數(shù)據(jù)監(jiān)測和管理,經(jīng)過適當(dāng)修改可適用于其他基于PLC的控制系統(tǒng),具有很好的推廣價值。
本系統(tǒng)是為了避免功能和價格上受制于成熟組態(tài)軟件而獨立開發(fā)的,故部分功能十分契合盾構(gòu)監(jiān)控要求。比如環(huán)累計量的顯示存儲等是盾構(gòu)獨有的存儲方式。系統(tǒng)內(nèi)部的控制模型、各種能形象化顯示的控件等較少,且部分功能為盾構(gòu)定制,故通用性不夠,且存在以下問題:1)部分插件或者動畫效果未考慮工控機的實際情況,導(dǎo)致CPU或內(nèi)存占用過高,縮短了工控機使用壽命,應(yīng)進(jìn)一步優(yōu)化。2)對于盾構(gòu)人機交互軟件的設(shè)計比較偏重功能實用性,對于界面美工部分稍有欠缺,還可根據(jù)需要進(jìn)一步形象化處理。
(References):
[1] 周文波,胡珉.盾構(gòu)隧道信息化施工智能管理系統(tǒng)設(shè)計及應(yīng)用[J].巖石力學(xué)與工程學(xué)報,2004(S2):5122-5127.(ZHOUWenbo,HUMin.Designandapplicationof intelligent management system of digitalized construction in a shield-driven tunnel[J].Chinese Journal of Rock Mechanics and Engineering,2004(S2):5122-5127.(in Chinese))
[2] 沈立新.盾構(gòu)實時遠(yuǎn)程監(jiān)控系統(tǒng)技術(shù)[J].鐵道建筑技術(shù),2010(8):34-38.(SHEN Lixin.A real time vision system used for shield machine[J].Railway Construction Technology,2010(8):34-38.(in Chinese))
[3] 高勇.基于WinCC盾構(gòu)刀盤遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計[J].計算機工程應(yīng)用技術(shù),2011(18):4462-4464.(GAO Yong.Remote monitoring system designs based on the WinCC shield cutter[J].Computer Knowledge and Technology,2011(18):4462-4464.(in Chinese))
[4] 李海濤,史愛松,孫更新.C#3.0從基礎(chǔ)到項目實戰(zhàn)[M].北京:化學(xué)出版社,2010:11-12.
[5] 徐受天,蒲曉波.基于OPC的盾構(gòu)地面數(shù)據(jù)采集和監(jiān)視系統(tǒng)設(shè)計[J].隧道建設(shè),2009,29(6):674-677.(XU Shoutian,PUXiaobo.Designofdataacquisitionand visualization system of shield machine based on OPC[J].Tunnel Construction,2009,29(6):674-677.(in Chinese))
[6] 蒲曉波.西門子PLC在盾構(gòu)控制系統(tǒng)檢測試驗臺的應(yīng)用[J].隧道建設(shè),2009,29(1):127-129.(PU Xiaobo.Application of Siemens PLC in test-bed for shield machine control system[J].Tunnel Construction,2009,29(1):127-129.(in Chinese))
[7] 張學(xué)武.對盾構(gòu)法地鐵隧道施工引起的地表變形探討[J].建材與裝飾:下旬刊,2008(6):307-309.
Development of HMI Configuration of Monitoring System of Shield Machine
TAN Shunhui,MENG Xiangbo,XU Shoutian,PU Xiaobo
(China Railway Engineering Equipment Co.,Ltd.,Zhengzhou 450016,Henan,China)
A kind of shield monitoring system is developed on basis of C#self-developing mode under.NET framework,so as to realize the centralized monitoring,control,data storage,fault alarm,and multi-language interchange of each system of shield machine.In this article,the developing environment and the operating software and hardware environment of the monitoring system is presented briefly;then the monitoring system is discussed in respect of the OPC agreement between the bottom level and PLC,the multi-language interchange of the self-defined control,composite page,alarming page,curve page and grouting page,and data storage mode and visualized statistical analysis of the mass data.Conclusions drawn are as follows:1)It is demonstrated that the monitoring system developed is interface-friendly,stable and reliable and can meet the requirements of the shield machines;2)The Supervisory Control and Data Acquisition(Scada)used in the Human-Machine Interface(HMI)of the monitoring system of shield machines can be used in other industrial control systems after function developing.
shield machine;monitoring system;Human-Machine Interface(HMI);Supervisory Control and Data Acquisition(Scada)
10.3973/j.issn.1672-741X.2014.04.015
U 45
A
1672-741X(2014)04-0380-07
2013-09-06;
2013-11-10
譚順輝(1969—),男,廣西桂林人,1991年畢業(yè)于華東交通大學(xué),設(shè)備工程與管理專業(yè),本科,高級工程師,主要從事隧道設(shè)備設(shè)計及生產(chǎn)管理工作。