趙 越,李曉輝
(水利部水文儀器及巖土工程儀器質(zhì)量監(jiān)督檢驗測試中心,江蘇 南京 210012)
為確保水文數(shù)據(jù)采集、傳輸、處理各組成單元之間,以及子系統(tǒng)間實現(xiàn)高度的信息共享,標準化工作對于水文、水資源自動監(jiān)測系統(tǒng)的成功建設(shè)非常關(guān)鍵。近年來我國水文系統(tǒng)已充分認識到水文、水資源通信規(guī)約的重要性。四川、江蘇 2 省的水文水資源勘測局先后編寫了《水文測報系統(tǒng)技術(shù)規(guī)約和協(xié)議》、《江蘇省水文自動測報系統(tǒng)數(shù)據(jù)傳輸規(guī)約》等地方標準。在行業(yè)標準層面,2012 年《水資源監(jiān)測數(shù)據(jù)傳輸規(guī)約》已經(jīng)頒布施行,《水文監(jiān)測數(shù)據(jù)通信規(guī)約》(報批稿)完成了編制工作并通過審查。
這些規(guī)約的編制對規(guī)范水文監(jiān)測數(shù)據(jù)傳輸設(shè)備互相兼容、資源共享提供了堅實的技術(shù)支撐,同時也對規(guī)約的測試工作提出新的要求。
規(guī)約的測試工作分為規(guī)約測試和規(guī)約符合性測試。
測試規(guī)約即對規(guī)約本身技術(shù)內(nèi)容的測試。規(guī)約作為標準,其技術(shù)內(nèi)容的準確性、完整性和可用性在編制過程中必須經(jīng)過嚴格測試。
在規(guī)約標準編制送審稿、報批稿階段應(yīng)進行規(guī)約測試,以驗證其是否完整、準確。以《水文監(jiān)測數(shù)據(jù)通信規(guī)約》為例,介紹在征求意見稿、送審稿階段進行的規(guī)約測試。
通過規(guī)約測試達到以下目的:1)是否完全涵蓋水文、水資源的所有功能要求;2)固定數(shù)據(jù)正文內(nèi)容臨界拆包或拆包狀態(tài)的執(zhí)行策略;3)數(shù)據(jù)自報、查詢、控制和響應(yīng)的功能;4)測試規(guī)約報文結(jié)構(gòu)是否準確。
測試系統(tǒng)由中心站、信道設(shè)備和 RTU 設(shè)備共同組成,結(jié)構(gòu)如圖1 所示。
圖1 測試系統(tǒng)示意圖
為了盡可能反映水文水資源監(jiān)測系統(tǒng)硬件的實際情況,規(guī)約測試時,若采用一般常用的計算機軟件模擬 RTU 是不能反映水文水資源監(jiān)控設(shè)備實際能力的,為此采用實際系統(tǒng)中應(yīng)用的 RTU 設(shè)備進行必要升級改造,通過實際信道(GPRS,GSM,北斗衛(wèi)星)參與測試。
1)中心站。包括計算機及相應(yīng)軟件,應(yīng)具有數(shù)據(jù)收發(fā)、查詢、控制功能,對發(fā)送、接收的信息幀實時顯示和分析??商崛⌒畔姆謱有畔?,如鏈路層標志和功能碼、應(yīng)用層信息對象標識等,便于直觀判斷信息交換的正確性。
2)RTU 設(shè)備。應(yīng)具備以下能力:能連接規(guī)約所規(guī)定的全部采集參數(shù)所對應(yīng)的傳感器,并能完成數(shù)據(jù)采集功能,或置入有效數(shù)據(jù),模擬采集功能;按照規(guī)約要求處理、發(fā)送相關(guān)數(shù)據(jù);接收中心站指令并做出相應(yīng)動作。
3)信道設(shè)備。為模擬實際鏈路環(huán)境下的規(guī)約運行情況,測試信道為 GPRS(CDMA),GSM,北斗衛(wèi)星。各信道設(shè)備的型號、版本號如表1 所示。
表1 信道設(shè)備
中心站 GPRS 接入方式為固定 IP。
1.3.1 規(guī)約功能碼遍歷
對《水文監(jiān)測數(shù)據(jù)通信》進行規(guī)約測試,通過遍歷規(guī)約的所有功能碼檢查報文結(jié)構(gòu)是否合理,功能是否完整。
1.3.2 場景測試用例
按照數(shù)據(jù)流向,可將水文水資源監(jiān)測系統(tǒng)劃分為以下 3 類場景:1)傳感器到 RTU;2)RTU 到中心站;3)中心站到 RTU。規(guī)約測試重點為 RTU 至中心站之間的通訊功能檢查,即場景 2 和 3,在場景 2 和 3 下設(shè)置了 RTU-中心站的自報、應(yīng)答,中心站-RTU 的查詢,中心站-RTU 的控制及響應(yīng)等 4 大類場景。
在《水文監(jiān)測數(shù)據(jù)通信》規(guī)約編制過程中,共進行了 2 次規(guī)約測試。通過測試確定該規(guī)約報文結(jié)構(gòu)合理,基本滿足水文監(jiān)測數(shù)據(jù)傳輸?shù)囊?。但在測試中仍發(fā)現(xiàn)以下一些問題:
1)文字錯誤,導致上下文表述不一致;
2)幀結(jié)構(gòu)不準確;
3)報文功能碼不能滿足水文、水資源測控系統(tǒng)需要。
根據(jù)測試結(jié)果對《水文監(jiān)測數(shù)據(jù)通信》文本進行修訂使之完整、準確,并于 2012 年 9 月26 日通過報批稿的標準審查,正式上報待批,在國家水資源能力建設(shè)和甘肅省中小河流治理中,該規(guī)約和《水資源監(jiān)測數(shù)據(jù)傳輸規(guī)約》被廣泛應(yīng)用。
規(guī)約符合性測試即對被測設(shè)備規(guī)約符合性進行測試。依據(jù)有關(guān)通信規(guī)約標準(如《水資源監(jiān)測數(shù)據(jù)傳輸規(guī)約》、《水文監(jiān)測數(shù)據(jù)通信》等),根據(jù)制造企業(yè)或用戶委托要求,進行標準一致性或系統(tǒng)設(shè)備兼容性的測試。
1)物理層的檢驗項目,包括字節(jié)格式和傳輸速率是否正確。
2)鏈路層的檢驗項目,有幀格式是否正確,傳輸規(guī)則是否滿足規(guī)約要求等項目。
3)基本應(yīng)用功能檢驗,包括:測站參數(shù)設(shè)置,自報、召測,時鐘同步等。
4)數(shù)據(jù)正確性的檢驗,包括:測量數(shù)據(jù)、固態(tài)存儲、內(nèi)存下載數(shù)據(jù)是否正確,實時數(shù)據(jù)是否正確。
同時測試要求 RTU 設(shè)備具有物理層功能,即數(shù)據(jù)(模擬數(shù)據(jù))采集、發(fā)送,RTU 系統(tǒng)參數(shù)和數(shù)據(jù)的貯存。規(guī)約符合性測試內(nèi)容包括傳感器(模擬傳感器)數(shù)據(jù)采集、傳輸,以及 RTU 設(shè)置。
基于規(guī)約測試階段的經(jīng)驗,為確保測試軟件的準確、公正,相關(guān)單位編制了“水資源數(shù)據(jù)傳輸規(guī)約測試軟件”和“水文數(shù)據(jù)傳輸規(guī)約測試軟件”。在軟件編制過程中先后安排了數(shù)種 RTU 與其交叉測試,以《水文監(jiān)測數(shù)據(jù)通信》為例,該軟件先后與 3種 RTU 交叉測試。通過交叉測試和文檔校核,確保測試軟件符合《水文監(jiān)測數(shù)據(jù)通信》的規(guī)定。
為了更貼近水文、水資源監(jiān)測工作實際需要,本次測試信道選用 GPRS(CDMA),同時兼容北斗衛(wèi)星等其他信道。
規(guī)約測試主要依靠設(shè)備的規(guī)約實現(xiàn)文檔和測試系統(tǒng)進行。規(guī)約實現(xiàn)文檔應(yīng)逐項列出該規(guī)約所實現(xiàn)的應(yīng)用功能、選項和報文類型等;測試系統(tǒng)可以是安裝了測試軟件的計算機,通過 GPRS 等信道與被測設(shè)備相連。測試軟件應(yīng)完全遵循相應(yīng)標準,有以下幾方面功能:
1)工作模式(自報、兼容、查詢應(yīng)答)[1]的選擇。
2)信息的構(gòu)造。可靈活構(gòu)造信息幀, 選擇幀格式、命令、狀態(tài)標志和數(shù)據(jù)等。
3)信息的實時分析、捕捉和存儲。對發(fā)送、接收的信息幀實時顯示和分析,實時提取信息幀的分層信息,如鏈路層標志和功能碼、應(yīng)用層信息對象標識等。
4)錯誤顯示和統(tǒng)計。初步具備對通信中發(fā)生的錯誤如應(yīng)答、標志錯誤的顯示和統(tǒng)計。
1)測試前根據(jù)測試內(nèi)容制作詳細的測試大綱,列出測試項目。
2)鏈路測試。測試系統(tǒng)根據(jù)測試大綱發(fā)送單個或 1 組信息幀。當測試特定內(nèi)容(如數(shù)據(jù)格式)時,可發(fā)送數(shù)據(jù)召喚命令,檢查響應(yīng)的數(shù)據(jù)報文。
3)按測試大綱逐一進行測試。主要測試通信過程中發(fā)送、接收的信息幀是否正確,包括幀格式、狀態(tài)標志和數(shù)據(jù)類型等;接收傳感器數(shù)據(jù)是否準確,并進行記錄;對接收的報文作簡單判斷,遇到錯誤時此項測試中斷。
4)測試完成后對測試記錄進行分析,如各項內(nèi)容均通過,可以認定此規(guī)約實現(xiàn)符合相應(yīng)標準;如有部分內(nèi)容未通過,則必須找出原因以便進行修改。
5)依據(jù)測試結(jié)果形成檢測報告。
規(guī)約符合性測試過程中,發(fā)現(xiàn)在相同技術(shù)環(huán)節(jié)發(fā)生一些共性問題,測試時必須要注意,以下以《水文監(jiān)測數(shù)據(jù)通信規(guī)約》為例進行探討。
2.4.1 規(guī)約測試的物理屬性
測試要求 RTU 設(shè)備具有物理層功能,在測試過程中要求密碼、地址等要素在系統(tǒng)掉電后不應(yīng)丟失,被測要素應(yīng)與 RTU 設(shè)備實際采集要素一致。
2.4.2 CRC 校驗
CRC 校驗的基本思想是利用線性編碼理論,在發(fā)送端根據(jù)要傳送的 k 位二進制碼序列,以一定的規(guī)則產(chǎn)生 1 個校驗用的監(jiān)督碼(既 CRC 碼)r 位,并附在信息后邊,構(gòu)成 1 個新的二進制碼序列數(shù)共(k + r)位,最后發(fā)送出去。在接收端,根據(jù)信息碼和 CRC 碼之間所遵循的規(guī)則進行檢驗,以確定傳送中是否出錯。
《水文監(jiān)測數(shù)據(jù)通信規(guī)約》采用 CRC16 校驗,測試過程中應(yīng)注意 CRC 校驗中的幾個要素:初始值為 FFFF,方向為右移,多項式為 0xA001[2]4-14。
2.4.3 幀結(jié)構(gòu)部分
在《水文監(jiān)測數(shù)據(jù)通信規(guī)約》中,不同類型的報文需要考慮使用不同的正文開始符和結(jié)束符(主要針對分包傳輸),報文上行和下行的方向標識符不一樣,需要注意。
所有召測回應(yīng)報文,都不再發(fā)送確認。如果回應(yīng)報文為多包傳輸,也不再發(fā)送確認,只進行接收。
2.4.4 正文結(jié)構(gòu)
在 ASCII 報文中,各要素、數(shù)據(jù)、要素和數(shù)據(jù)、要素和其他元素、數(shù)據(jù)和其他元素之間都需要用空格分隔,其他元素包括測站分類碼、正文結(jié)束符等。協(xié)議中明確規(guī)定不需要增加的部分除外。
在 HEX 報文中,標識符采用 2 字節(jié) HEX 碼,第 1 個字節(jié)為引導符,第 2 個字節(jié)為數(shù)據(jù)定義字節(jié),按照規(guī)約實現(xiàn)文檔附錄 C[2]41-46的規(guī)定進行。對于附錄中規(guī)定固定用 F0 之類的,應(yīng)把 F0 作為數(shù)據(jù)定義字節(jié),例如測站標識符為“F1 F1”。
2.5.5 要素無數(shù)據(jù)情況
數(shù)據(jù)組中的數(shù)據(jù)應(yīng)與要素標識符組中編列的要素標識符一一對應(yīng)。當某個要素某個時間點沒有數(shù)據(jù)時,對于 ASCⅡ 編碼報文應(yīng)在數(shù)據(jù)組相應(yīng)位置上填列字符“M”,對于 HEX/BCD 編碼報文應(yīng)在數(shù)據(jù)組相應(yīng)位置上填列與其他數(shù)據(jù)位數(shù)一樣的“A”。此類 HEX/BCD 編碼報文中標識符規(guī)定的數(shù)據(jù)長度定義適用于每組數(shù)據(jù),即每組數(shù)據(jù)長度應(yīng)一致。
在規(guī)約測試過程中,為方便測試的進行,檢測單位對密碼(密鑰)、存儲補發(fā)等要素進行了補充約定,這些約定僅適用于規(guī)約測試,在具體項目中,建設(shè)方可根據(jù)實際情況約定相關(guān)要素。
水文、水資源通信規(guī)約有利促進了行業(yè)技術(shù)進步,同時對檢測單位提出了更高的要求,檢測單位需要針對規(guī)約測試投入更多的資源,以提高技術(shù)水平和檢測能力。
[1]國家水資源監(jiān)控能力建設(shè)項目辦公室. SZY206-2012 水資源監(jiān)測數(shù)據(jù)傳輸規(guī)約[S]. 北京:國家水資源監(jiān)控能力建設(shè)項目辦公室,2012: 13-15.
[2]水利部水利信息中心,水利部水文儀器及巖土工程儀器質(zhì)量監(jiān)督檢驗測試中心. 水文監(jiān)測數(shù)據(jù)通信規(guī)約(送審稿)[S]. 北京:水利部水文局,2012.