陶 敏,姚 峰
(1.國網(wǎng)浙江省電力公司電力科學研究院,杭州 310014;2.杭州意能軟件有限公司,杭州 310014)
移動試驗管理通信規(guī)約設計
陶 敏1,姚 峰2
(1.國網(wǎng)浙江省電力公司電力科學研究院,杭州 310014;2.杭州意能軟件有限公司,杭州 310014)
移動試驗管理系統(tǒng)收集現(xiàn)場裝置采集的帶電檢測、在線檢測以及專業(yè)巡檢數(shù)據(jù),依據(jù)現(xiàn)場標準化作業(yè)平臺的指令,自動形成試驗報告,并上傳到PMS(安全生產(chǎn)管理系統(tǒng))中,因此,數(shù)據(jù)通信是移動試驗管理系統(tǒng)不可或缺的關(guān)鍵核心功能。詳細介紹移動試驗管理現(xiàn)場數(shù)據(jù)采集規(guī)約的設計方法,重點闡述數(shù)據(jù)傳輸格式的設計,通過面向?qū)ο蟮姆椒ǎ橄笤囼瀳蟾?、試驗項格式,以有限的指令格式實現(xiàn)絕緣、化學、帶電試驗等各類數(shù)據(jù)的傳輸,并兼顧試驗項格式不斷發(fā)展的要求,是移動試驗管理系統(tǒng)開發(fā)的關(guān)鍵因素。
試驗管理;通信規(guī)約;設計;面向?qū)ο?/p>
移動試驗管理系統(tǒng)建設的目的是為了減少現(xiàn)場試驗數(shù)據(jù)收集的工作量,降低數(shù)據(jù)收集差錯率,提高試驗數(shù)據(jù)收集的真實性、及時性以及準確性。除了現(xiàn)場數(shù)據(jù)的收集外,移動試驗管理系統(tǒng)還可以將收集的數(shù)據(jù)自動形成試驗報告,并上傳到PMS中。
移動試驗管理系統(tǒng)的主要工作平臺是平板電腦,因此可以支持現(xiàn)場的無線數(shù)據(jù)傳輸,如通過3G/4G通道、WIFI通道以及藍牙通道等。目前主要的通信通道是藍牙通道。
移動試驗管理系統(tǒng)收集的基礎(chǔ)數(shù)據(jù)是符合各試驗項規(guī)范的試驗數(shù)據(jù)集,包括絕緣試驗、化學試驗、帶電試驗等各類數(shù)據(jù)??赏瑫r收集不同裝置的多組試驗數(shù)據(jù),并通過試驗任務編號進行自動組合。
移動試驗管理系統(tǒng)是PMS的子系統(tǒng),統(tǒng)一運行于現(xiàn)場標準化作業(yè)平臺上,設備臺賬來源于現(xiàn)場標準化作業(yè)平臺的作業(yè)指導書模塊,由作業(yè)指導書模塊下達作業(yè)任務??蓪崟r從PMS下載、更新試驗項格式。
2.1 數(shù)據(jù)收集通信需求
現(xiàn)場試驗人員通過無線方式將試驗裝置連接到移動試驗管理系統(tǒng),系統(tǒng)識別驗證連接的裝置是否是有效的入網(wǎng)裝置;驗證通過后,現(xiàn)場人員將裝置預先采集的試驗數(shù)據(jù)以試驗項的形式發(fā)送給移動試驗管理系統(tǒng);移動試驗管理系統(tǒng)接收裝置發(fā)送的試驗數(shù)據(jù),并寫入到數(shù)據(jù)庫中。之后試驗裝置和移動試驗管理系統(tǒng)斷開連接,從而完成1次現(xiàn)場試驗數(shù)據(jù)的通信。在這個過程中,有幾個關(guān)鍵的需求可能對規(guī)約的設計產(chǎn)生影響:
(1)通信主體是裝置與移動試驗管理系統(tǒng),因此決定了通信的數(shù)據(jù)不可能是非常高級或復雜的,如Excel、數(shù)據(jù)庫文件等。
(2)雙方通信需要請求連接并識別驗證,雙方均可以主動斷開連接。
(3)試驗項格式要預先定義,如果可能,應盡量減少傳輸?shù)臄?shù)據(jù)量。使用枚舉量來替代文字傳輸,特別是中文字符的傳輸。
移動試驗現(xiàn)場通信用例模型如圖1所示。
圖1 移動試驗管理現(xiàn)場通信用例模型
移動試驗管理系統(tǒng)通過“偵聽連接”用例來偵聽現(xiàn)場裝置的連接請求;裝置和移動試驗管理系統(tǒng)通過“管理連接”用例來建立或斷開雙方的通信連接;現(xiàn)場裝置通過“發(fā)送試驗數(shù)據(jù)報告”用例將試驗報告發(fā)送到移動試驗管理系統(tǒng)。
這與TCP/IP協(xié)議簇中面向可靠連接的TCP協(xié)議的操作非常類似,由于藍牙協(xié)議棧支持TCP/ IP協(xié)議,因此除WIFI外,通信通道的選擇可以有很多種,本項目采用的是藍牙通道。這給協(xié)議的設計帶來很大的好處,因為可以不必設計數(shù)據(jù)接收差錯校驗,而是由TCP協(xié)議完成。
2.2 試驗報告與試驗項
所有試驗報告的格式大致相同,即包含試驗日期、任務編號、試驗班組、試驗人等。為了減少裝置開發(fā)的復雜度(盡量減少裝置中文庫的大?。吮仨氂糜趨^(qū)分不同試驗報告的試驗日期以及任務編號外,其他信息均在移動試驗管理系統(tǒng)中設置,因此,可以將試驗報告簡單地理解成若干個試驗項數(shù)據(jù)的集合。
試驗項數(shù)據(jù)是符合試驗項規(guī)范的格式數(shù)據(jù),試驗項格式在PMS中規(guī)定,是通信雙方均需遵循的規(guī)范。典型的試驗項格式如圖2所示。
圖2 變壓器局部放電測量試驗項格式
據(jù)不完全統(tǒng)計,電力行業(yè)共有超過20種設備的絕緣試驗、化學試驗、帶電試驗約230項,因此,不可能為每一個試驗項單獨規(guī)定數(shù)據(jù)傳輸格式,必須對試驗項進行面向?qū)ο蟮某橄?,這也有利于今后試驗項格式的更新、升級以及保持多版本數(shù)據(jù)的兼容性。
2.3 面向?qū)ο蟪橄?/p>
通過分析,可以發(fā)現(xiàn)無論多復雜的試驗項,其本質(zhì)是1個二維表,大多試驗項甚至是一維表(變長的二維表格可以看作是一維表的集合),因此,如果能對每個試驗項的每個格子進行定義,那么就可以使用1種或若干種數(shù)據(jù)格式來傳輸所有的試驗數(shù)據(jù)??偨Y(jié)起來,1個試驗數(shù)據(jù)可以用以下幾個方面來表述:
(1)屬于哪個試驗項?
(2)是試驗項中哪個格子的數(shù)據(jù)?
(3)什么時候采集的?
(4)它的值是多少?
(5)數(shù)據(jù)值的單位是什么?
其中1-2項需要預先定義,也就是試驗項格式定義;3-5項在試驗時形成,也就是試驗數(shù)據(jù)。圖3是通過抽象后的試驗項格式與試驗報告的類模型。
圖3中的TestItemStyle以及TestDataStyle是試驗項格式類,分別用以描述試驗項以及試驗項中的試驗數(shù)據(jù)。DataEnum定義試驗數(shù)據(jù)的枚舉值,如正常、異常、超標,以避免傳輸中文字符,枚舉值盡量不要有任何意義。由于沒有規(guī)定試驗報告必須包含哪些試驗項,因此不必抽象試驗報告格式類。
TestItem和TestData用以描述符合以上試驗項格式(用編碼關(guān)聯(lián))的數(shù)據(jù)。由于有的試驗項中試驗數(shù)據(jù)可能具有不同的數(shù)據(jù)采集時間,因此抽象了1個TestDataWithTime類來描述這種差異。試驗報告TestReport僅用以組合試驗項數(shù)據(jù)。
由于二進制數(shù)據(jù)傳輸?shù)奶厥庑?,因此在傳輸?shù)據(jù)時,必須告知傳輸數(shù)據(jù)的值類型,即數(shù)據(jù)值是浮點數(shù)、32位整型數(shù)還是64位整型數(shù)等,它們占據(jù)的數(shù)據(jù)長度不同并且解析方式也不同。數(shù)據(jù)類型通過ValueType類描述。
DataUnit是數(shù)據(jù)的單位。TestData和Test-DataStyle并沒有關(guān)聯(lián)到DataUnit,不直接關(guān)聯(lián)的原因是為了增加數(shù)據(jù)傳輸?shù)撵`活性,即數(shù)據(jù)使用什么單位由裝置決定,TestData和TestDataStyle類的Scale屬性分別描述的是試驗數(shù)據(jù)以及試驗項格式規(guī)定的單位與國際標準單位之間的倍率關(guān)系,移動試驗管理系統(tǒng)負責將接收的數(shù)據(jù)轉(zhuǎn)換成試驗項規(guī)定的單位。在實際操作中發(fā)現(xiàn),單位的倍率可以用來轉(zhuǎn)換數(shù)據(jù)值的類型,如可以將0.01浮點數(shù)傳輸成倍率為-2(10-2)的整型數(shù)1。
如果考慮數(shù)據(jù)的偏移,則將更為合理,如1個試驗值都是在1.000 000 095~1.000 000 105波動,可以設置偏移量為1,倍率為-9(10-9),那么傳輸?shù)臄?shù)據(jù)就可以限定在95~105,將非常有利于傳輸有效位很長且數(shù)據(jù)變化不大的數(shù)據(jù)。由于現(xiàn)有試驗項中并未發(fā)現(xiàn)有類似的數(shù)據(jù),為減少裝置實現(xiàn)的復雜度,本項目沒有設計數(shù)據(jù)偏移。
圖3 試驗項格式與試驗報告類模型
無論多復雜的規(guī)約,其本質(zhì)就是二進制格式數(shù)據(jù)塊的傳輸。二進制數(shù)據(jù)塊如果包括了動作的含義,就可以實現(xiàn)接口。1個協(xié)議基本上可以包含通信的方式以及通信的數(shù)據(jù)格式兩部分。
3.1 通信方式
數(shù)據(jù)通信的方式并不影響用戶的應用數(shù)據(jù)傳輸,即使協(xié)議限制了傳輸數(shù)據(jù)的長度,也可通過拼接的方式來實現(xiàn)大數(shù)據(jù)的傳輸。
不建議采用串口方式進行通信,原因是這種方式容易出現(xiàn)數(shù)據(jù)丟失問題,需要設計復雜的交互來驗證數(shù)據(jù)傳輸?shù)挠行?。公網(wǎng)的短信、3G/4G等其他方式的通信安全性得不到充分保障,因此也不在考慮之列。
在實際操作中,選擇藍牙通信作為現(xiàn)場裝置與移動試驗管理系統(tǒng)的基本通信協(xié)議。目前藍牙4.0版本已經(jīng)可以支持長距離、低功耗的數(shù)據(jù)傳輸,這將大大拓展移動試驗管理的現(xiàn)場數(shù)據(jù)收集的活動半徑,增強現(xiàn)場數(shù)據(jù)收集的安全性。
3.2 試驗項格式定義
需要預先對試驗項格式以及試驗數(shù)據(jù)、數(shù)據(jù)單位進行編號,并特別注意以下幾點:
(1)編號不要全部連續(xù)編排,應預留出一定的空間,便于今后的更新和升級。
(2)為兼容不同的版本,盡量不要修改已經(jīng)發(fā)布的試驗項格式,可以采用為升級的試驗項重新定義編號的方式,以保證系統(tǒng)同一時間可以收集不同版本裝置的數(shù)據(jù)。
(3)數(shù)據(jù)單位采用國際標準單位,將有助于記憶和減少差錯概率及調(diào)試難度。對于特定的數(shù)據(jù)單位,如介損的百分比等,也可進行特別編號。
3.3 傳輸數(shù)據(jù)格式
遵循GB/T 18657系列標準,規(guī)定通信規(guī)約的幀結(jié)構(gòu)。幀結(jié)構(gòu)的主要部分是APDU(應用規(guī)約數(shù)據(jù)單元)、ASDU(應用服務數(shù)據(jù)單元)以及信息對象,下面詳細介紹傳輸數(shù)據(jù)格式的結(jié)構(gòu)及其與試驗報告、試驗項的對應關(guān)系。
3.3.1 應用規(guī)約數(shù)據(jù)單元
傳輸?shù)恼麄€數(shù)據(jù)包稱做APDU,本項目采用變長格式的APDU,原因是每個試驗項的數(shù)據(jù)長度不同。
基本上,可以將1個APDU看作是1份試驗報告,它包括了多個APCI(應用規(guī)約控制單元)和ASDU的組合,如圖4所示。
圖4 應用規(guī)約數(shù)據(jù)單元結(jié)構(gòu)
APCI和ASDU成對出現(xiàn),APCI用于描述相關(guān)ASDU的長度,還有4個字節(jié)可以用來描述任務編號(數(shù)字)。
由于每個APCI均包含了任務編號,因此單個APDU也可以傳輸多個和部分試驗報告的數(shù)據(jù),從而可以解決因APDU長度限制造成超長試驗報告無法傳輸?shù)膯栴}(擴展考慮)。
3.3.2 應用服務數(shù)據(jù)單元
1個ASDU可以理解成1個試驗項(對于變長的試驗項,表示試驗項中的1行數(shù)據(jù)),數(shù)據(jù)結(jié)構(gòu)如圖5所示。
圖5 應用服務數(shù)據(jù)單元結(jié)構(gòu)
ASDU包含1個數(shù)據(jù)單元標識符、若干個信息對象以及1個公共時標,這正好可以描述圖3中的TestItem。信息對象用以描述試驗項中的單個試驗值。
類型標識用于說明指令的類型,本設計中有2個指令,即帶時標和不帶時標的數(shù)據(jù)傳輸。是否帶時標視試驗項中單個數(shù)據(jù)的采集時間是否與整個試驗項的公共時標一致而定,不同的指令使用不同結(jié)構(gòu)的信息對象。
公共地址用以描述試驗項的編號,可以將相同編號的ASDU組合成1個變長的試驗項;公共時標用以表示試驗項的試驗時間,通常情況下可以通過這個時標提取試驗日期。
3.3.3 信息對象
信息對象用來描述具體的試驗值,因此它除了說明值是多少,還必須說明是試驗項中的哪個試驗數(shù)據(jù)。信息對象的結(jié)構(gòu)如圖6所示。
圖6 信息對象結(jié)構(gòu)
有2種信息對象結(jié)構(gòu):一種包含數(shù)據(jù)時間,另一種不包含數(shù)據(jù)時間,分別用上節(jié)提到的不同指令進行傳輸。
信息對象地址是試驗項中試驗內(nèi)容的編號。為了減少出現(xiàn)差錯的概率,對相同類型的試驗內(nèi)容進行統(tǒng)一編碼,如電阻統(tǒng)一編碼為100。以“耦合電容器絕緣電阻”試驗項為例,無論是“絕緣電阻”還是“絕緣電阻20℃折算值”的信息對象地址均是100;同時,通過位置碼來區(qū)分相同試驗項中的同類試驗值,如以上“絕緣電阻”的位置碼是0,“絕緣電阻20℃折算值”的位置碼是1。以信息對象地址和位置碼組合來確定試驗項中的試驗內(nèi)容。
值類型用來描述值的數(shù)據(jù)類型,可以是浮點數(shù)、雙精度浮點數(shù)、32位整型數(shù)等。通常情況下,試驗值使用雙精度浮點數(shù)。
采用國際標準制單位,如電阻的單位使用Ω。用數(shù)量級來描述本測量值單位與標準單位之間的換算關(guān)系,如以上的絕緣電阻,如果測量值的單位是MΩ,那么數(shù)量級應為6(106)。
3.4 其他問題
由于特定的二進制數(shù)的長度可能超過1個字節(jié),如浮點數(shù)、32位整型數(shù)等,因此在制定通信規(guī)約時,必須首先規(guī)定二進制數(shù)的字節(jié)序列,即傳輸?shù)臄?shù)據(jù)是BIG-ENDIAN(大字節(jié)在前)還是LITTLE-ENDIAN(小字節(jié)在前),參考的建議是視開發(fā)環(huán)境而定。Java使用BIG-ENDIAN,而.net采用LITTLE-ENDIAN。移動試驗管理系統(tǒng)在Android環(huán)境中運行,使用Java編程語言開發(fā),因此本項目采用BIG-ENDIAN的二進制字節(jié)序列。
傳輸?shù)臄?shù)據(jù)包最好是類似“起始字符、數(shù)據(jù)長度、內(nèi)容、結(jié)束字符”的結(jié)構(gòu),這是因為數(shù)據(jù)傳輸?shù)牟鸱职怯傻讓訁f(xié)議規(guī)定的,接收的數(shù)據(jù)包有可能是用戶多次發(fā)送的整合數(shù)據(jù)或1次發(fā)送的部分數(shù)據(jù)。因此數(shù)據(jù)接收程序必須進行數(shù)據(jù)合并以及拆分工作。如果沒有特殊原因,盡量采用1次連接傳送1次數(shù)據(jù)的通信方式。
如果采用TCP協(xié)議通信,應答包的設計就不是必須的,除非業(yè)務需要,如應答長數(shù)據(jù)塊的序號。來回的交互只會徒增通信實現(xiàn)的復雜度。
浙江電力移動試驗管理系統(tǒng)與現(xiàn)場試驗裝置的通信規(guī)約采用了以上設計方法進行設計。合理的規(guī)約設計可以加快項目進程,特別是牽涉到多個廠家協(xié)同開發(fā)的場合,應重點考慮廠家實現(xiàn)規(guī)約的難易程度。
(1)在設計中,盡量套用國家、行業(yè)或國際標準的規(guī)約和進行擴展,由于其合理性已經(jīng)得到驗證,因此可以節(jié)省大量的規(guī)約設計時間。
(2)考慮到儀器廠家的生產(chǎn)能力以及裝置生產(chǎn)的成本,盡量不要采用大量的中文傳輸、特定的文件格式、復雜的接口規(guī)約,因為這些都需要底層的模塊支持且耗費寶貴的硬件資源,會延長生產(chǎn)和調(diào)試的周期。
(3)盡量考慮規(guī)約的擴展性和兼容性。裝置與試驗項格式的更新和升級不會同步進行,在相當長的一段時間內(nèi),可能會同時存在不同版本的裝置。版本的差異應在微機中解決。
(4)盡量減少出現(xiàn)差錯的可能性,如帶單位傳輸數(shù)據(jù),原因是各儀器廠家出廠的默認單位有可能不同,有的可以設置,有的不可以設置。
[1]GB/T 18657.1-2002遠動設備及系統(tǒng) 第5部分 第1篇 傳輸幀格式[S].北京:中國標準出版社,2002.
[2]GB/T 18657.2-2002遠動設備及系統(tǒng) 第5部分 第2篇 鏈路傳輸規(guī)則[S].北京:中國標準出版社,2002.
[3]GB/T 18657.3-2002遠動設備及系統(tǒng) 第5部分 第3篇 應用數(shù)據(jù)的一般結(jié)構(gòu)[S].北京:中國標準出版社,2002.
[4]GB/T 18657.4-2002遠動設備及系統(tǒng) 第5部分 第4篇 應用信息元素的定義和編碼[S].北京:中國標準出版社,2002.
[5]GB/T 18657.5-2002遠動設備及系統(tǒng) 第5部分 第5篇 基本應用功能[S].北京:中國標準出版社,2002.
(本文編輯:徐 晗)
Design of Communication Protocol for Mobile Test Management System
TAO Min1,YAO Feng2
(1.State Grid Zhejiang Electric Power Research Institute,Hangzhou 310014,China;2.Hangzhou Yineng Software Co.,Ltd.,Hangzhou 310014,China)
Mobile test management system collects data from charged detection,on-line detection and professional inspection acquired by field devices.Under instructions of the field standard operating platform,the data are automatically generated as test report and upload to the secure production management system(PMS).Therefore,the data communication is an indispensable core function of mobile test management system.This paper elaborates on the design method of mobile test management field data collection protocol, which focuses on the design of the data transmission format and through object oriented method,abstract test reports,test item format and limited instruction formats to realizes transmission of all kinds of insulation, chemical,electrified test data and moreover fulfills the requirements of the development of the test item format,which is the key to the success of mobile test management system.
test management;communication protocol;design;object oriented
TN915.853
B
1007-1881(2015)04-0061-05
2014-10-28
陶 敏(1969),男,高級工程師,從事電力信息系統(tǒng)的研發(fā)和項目管理工作。