楊小軍 徐 昆
楊小軍:同方威視技術(shù)股份有限公司 工程師 100084 北京
徐 昆:昆明鐵路局工務(wù)處 高級工程師 650011 昆明
在我國山區(qū),危巖落石是三大自然災害之一,嚴重影響了鐵路列車在山區(qū)的安全運行,成為制約我國西部開發(fā)和交通建設(shè)大發(fā)展的重要因素。因此,展開落石監(jiān)測的鐵路防災監(jiān)控系統(tǒng)研究,對保證山區(qū)鐵路列車安全運行具有十分重要的現(xiàn)實意義。
鐵路防災監(jiān)控系統(tǒng)可以分為數(shù)據(jù)采集層 (包含現(xiàn)場采集設(shè)備及監(jiān)控單元)、數(shù)據(jù)處理分析層(包括數(shù)據(jù)庫服務(wù)器及應(yīng)用服務(wù)器等)和數(shù)據(jù)展示層 (包括工務(wù)終端及調(diào)度終端等),系統(tǒng)架構(gòu)如圖1所示。
在鐵路防災監(jiān)控系統(tǒng)中,現(xiàn)場監(jiān)測設(shè)備呈現(xiàn)多樣化,為了保證所有現(xiàn)場監(jiān)測設(shè)備的正常運行,每個現(xiàn)場設(shè)有一個監(jiān)控單元。如何讓數(shù)據(jù)處理中心與所有現(xiàn)場監(jiān)控單元保持實時、可靠的連接,對現(xiàn)場監(jiān)測及現(xiàn)場維護具有重要的意義,因此研究一種高效、可靠、可擴展且適用于鐵路防災系統(tǒng)的通信協(xié)議十分必要。
在現(xiàn)有的鐵路防災監(jiān)控系統(tǒng)中,現(xiàn)場監(jiān)控單元與數(shù)據(jù)處理中心連接大多采用通用組態(tài)軟件、OPC或者通用通信協(xié)議 (如modbus協(xié)議),采用以上通信方式的優(yōu)缺點如下。
優(yōu)點:通信協(xié)議開發(fā)簡單,現(xiàn)場監(jiān)控單元有可用的通信包可以調(diào)用,無需進行復雜的通信協(xié)議編程;數(shù)據(jù)處理中心的監(jiān)控軟件無需開發(fā),可直接購買通用組態(tài)軟件。
缺點:由于通用組態(tài)軟件的限制,不利于對數(shù)據(jù)處理中心的算法編程、畫面繪制等;組態(tài)軟件中的通信驅(qū)動無針對性,通信效率不高;通信協(xié)議缺乏直接開放的接口,不利于系統(tǒng)的有效擴展;當監(jiān)控現(xiàn)場的硬件發(fā)生改變時,通信協(xié)議及上層監(jiān)控軟件也要隨之修改,不利于系統(tǒng)的維護。
在針對落石監(jiān)測的鐵路防災監(jiān)控系統(tǒng)中,通信效率、算法分析及畫面展示是整個系統(tǒng)的技術(shù)關(guān)鍵,因此繼續(xù)采用通用組態(tài)軟件或者通用通信協(xié)議方式已經(jīng)不再合適。根據(jù)系統(tǒng)要求,比較合適的方式是采用自由通信協(xié)議,自定義協(xié)議格式、連接模式、硬件程序架構(gòu)等,可設(shè)計出高效、可靠、擴展性良好的通信協(xié)議。
圖1 鐵路防災監(jiān)控系統(tǒng)架構(gòu)圖
在防災監(jiān)控系統(tǒng)中,監(jiān)控主機單元負責整個系統(tǒng)中所有設(shè)備 (包括工控機、PLC控制器、UPS電源、低壓電器、傳感器等)的監(jiān)控。當設(shè)備出現(xiàn)故障時,如何向數(shù)據(jù)處理中心進行報警;當設(shè)備出現(xiàn)故障時,如何來定位故障點;如果數(shù)據(jù)處理中心需要對設(shè)備進行控制時,如何傳遞控制命令。這些信息 (包括故障報警、控制命令等)的傳遞都需要一套約定來實現(xiàn),因此需要一套脫離物理層的通信協(xié)議。
既有鐵路防災監(jiān)控系統(tǒng)中,鐵路防災的報警信息較為有限,主要包括風、雨、雪、異物等。為了使新設(shè)計的鐵路防災監(jiān)控系統(tǒng)數(shù)據(jù)能夠兼容其他防災系統(tǒng)數(shù)據(jù),該通信協(xié)議在格式上留有接口。同時,考慮到以后系統(tǒng)的擴展,該通信協(xié)議還需具備一定的開放性及可擴展性。擴展性出于2種目的:首先是有利于建立統(tǒng)一的防災體系,為有效整合現(xiàn)有的鐵路防災系統(tǒng)打下基礎(chǔ);其次是有了統(tǒng)一的數(shù)據(jù)基礎(chǔ)后,為后續(xù)的數(shù)據(jù)挖掘和分析打好基礎(chǔ)。通信協(xié)議的格式定義好后,數(shù)據(jù)處理分析系統(tǒng)即可根據(jù)此規(guī)則對所有鐵路防災數(shù)據(jù)進行處理分析。
經(jīng)過綜合研究,可擴展的協(xié)議格式定義如圖2所示。報頭,代表鐵路防災監(jiān)控數(shù)據(jù)專用,用“AA”表示;報文種類,是“上傳”還是“下達”的數(shù)據(jù),通過這個字節(jié)來區(qū)別;報文類型,包括各種命令種類,如故障、報警、命令等;報文數(shù)據(jù),是對各種報文類型的補充,代表著真正的報文含義;校驗,是對整個報文進行校驗,以保證報文在傳輸過程中的可靠性。在該通信協(xié)議中,報文類型、報文數(shù)據(jù)均可根據(jù)需要進行擴展,滿足各種鐵路災害數(shù)據(jù)的傳遞。
圖2 通信協(xié)議的格式定義
通信系統(tǒng)采用客戶端和服務(wù)器的通信模式。以TCP/IP為例,通信套接字調(diào)用的順序如圖3所示。上位機PC端作為“客戶端”主動連接“服務(wù)器”PLC端。PC端主動發(fā)起通信socket連接命令,而此時PLC作為服務(wù)端 (監(jiān)聽端口)一直處于等待連接狀態(tài),直到通信連接成功。
圖3 通信套接字調(diào)用的順序
連接成功后,上位機立刻發(fā)送“初始化幀”,此時PLC也在等待上位機發(fā)送初始化命令。初始化成功后,上位機負責通信連接的保持,如果2 s內(nèi)上位機沒有收到任何數(shù)據(jù)幀,則啟動“hello報文”的發(fā)送。 “hello報文”由PC端發(fā)送給PLC,每隔2 s發(fā)送一次,上位機每隔200 ms判斷一次是否有所發(fā)報文的回復,若無回復則繼續(xù)發(fā)送“hello報文”,如果連續(xù)3次發(fā)送都沒有返回,認為連接中斷,此時上位機需要重新初始化才能繼續(xù)進行通信;如果200 ms判斷有回復,間隔2 s再次發(fā)送hello報文,如此循環(huán)來保持通信連接。
在通信連接正常時,如果現(xiàn)場設(shè)備有報警,作為監(jiān)控核心的PLC立即生成相應(yīng)的報警報文,并通過以太網(wǎng)口向數(shù)據(jù)處理分析中心發(fā)送,整個過程在1 s內(nèi)完成。同理,當上層有控制命令需要傳送給現(xiàn)場設(shè)備時,也能在1 s內(nèi)將命令傳送給現(xiàn)場設(shè)備。由于采用了hello連接模式,當通信異常時,上層系統(tǒng)能立即發(fā)出報警,保證了通信的可靠連接。
通信協(xié)議的設(shè)計重點是滿足監(jiān)控主機單元與上層的通信連接,實時監(jiān)控鐵路沿線復雜的設(shè)備狀態(tài)。然而,對鐵路防災監(jiān)控系統(tǒng)而言,監(jiān)控核心一般采用穩(wěn)定可靠的PLC(可編程控制器),其功能并不像計算機那么強大,不能使用高級語言來編寫程序,因此,為了使整個通信協(xié)議結(jié)構(gòu)清晰,且便于通信程序的編寫,對程序架構(gòu)進行了分層設(shè)計。整個通信協(xié)議的架構(gòu)分為3層,各層的功能如圖4所示。無論采用何種監(jiān)控核心 (西門子、施耐德或貝加萊),均可采用這種架構(gòu)進行編程,提高通信協(xié)議的兼容性,有利于系統(tǒng)的擴展。此外,通信協(xié)議不依賴物理層,無論使用RS-232、RS-485還是TCP/IP通信接口,該通信協(xié)議都可在此基礎(chǔ)上應(yīng)用。
圖4 通信程序架構(gòu)圖
以西門子S7-300型號PLC為例,編寫一套通信程序來完成各項通信協(xié)議功能。SIMATIC S7-PN核心包含一個集成PROFINET接口,具有TCP通信功能。通過該集成以太網(wǎng)接口組態(tài)TCP通信,只能使用開放式通信專用的功能塊。依據(jù)RFC793的TCP協(xié)議,在STEP7通信塊的標準庫中提供了一些FB功能塊,通過用戶程序與符合以太網(wǎng)標準的通信伙伴進行數(shù)據(jù)交換。
編程實現(xiàn)測試結(jié)果如圖5所示。輸入PLC的IP地址進行通信連接,通信連接成功后,上位機開始發(fā)起“hello包”的連接。當無數(shù)據(jù)交換需求時,系統(tǒng)通過“hello包”來維持上位機和下位機的連接;當有數(shù)據(jù)交換請求時,如下位機有“故障報警”請求,此時下位機會以通信協(xié)議定義的格式生成一條數(shù)據(jù)幀發(fā)送給上位機,上位機接收成功后給予回復,表明“故障報警”已收到。同理,如果有其他數(shù)據(jù)幀的交換,也是按照此規(guī)則進行。
圖5 編程實現(xiàn)測試結(jié)果
通過建立一套穩(wěn)定可靠的通信協(xié)議,對整個系統(tǒng)的所有設(shè)備運行提供了實時、可靠的監(jiān)控,并且當設(shè)備故障需要維修時,通信協(xié)議可提供方便、準確定位、可視化的維護維修接口。同時,由于通信協(xié)議具備良好的開放性及可擴展性,為將來建立統(tǒng)一的防災體系,有效整合現(xiàn)有的鐵路防災監(jiān)控系統(tǒng)打下基礎(chǔ),并為后續(xù)的數(shù)據(jù)挖掘和分析打下良好的基礎(chǔ)。
[1] 張新芳.高速鐵路、客運專線防災安全監(jiān)控系統(tǒng)設(shè)計探討[J].鐵道工程學報,2006(4):71-74.
[2] 王玉鎖.高速鐵路隧道洞口段危巖落石運動軌跡及沖擊特性研究[J].前沿動態(tài),2011(2):16-18.
[3] (美)科默(Comer,D.E)著.計算機網(wǎng)絡(luò)與因特網(wǎng)[M].北京:機械工業(yè)出版社,2009:22-23.