,,,
(1.武漢理工大學 能源與動力工程學院,武漢 430063;2.泰州口岸船舶有限公司,江蘇 泰州 225321)
在船舶動力設備運行狀態(tài)監(jiān)測、相關實驗室性能測試分析等應用場合,都需要利用各類傳感器獲取被監(jiān)測對象的狀態(tài)參數(shù),并將其在儀表或監(jiān)測系統(tǒng)軟件界面進行展示。當前類似系統(tǒng)在開發(fā)時主要根據(jù)實際需求統(tǒng)計監(jiān)測參數(shù)個數(shù)與界面控件呈現(xiàn)形式,在選定的開發(fā)平臺上完成界面的布局與邏輯代碼編輯工作[1-3]。這種實現(xiàn)方法簡單易行,但都采用固化的軟件界面,如果需要增加顯示參量、改變某個監(jiān)測參量的展示形式、調整布局位置、調整系統(tǒng)顯示器尺寸與個數(shù)等情況,都只能通過修改軟件源代碼、并重新編譯分發(fā)的方式才能實現(xiàn),系統(tǒng)的靈活性不夠。針對該問題,基于配置化方式,提出一套更為靈活方便的處理方式。
配置方式的方法的核心是通過將直接測量的參數(shù)及中間計算量等需要顯示的測點與呈現(xiàn)控件、呈現(xiàn)位置、呈現(xiàn)顯示器動態(tài)綁定的方法,并結合設計的配置工具,幫助進行初始配置并提供用戶后續(xù)自行調整的能力。系統(tǒng)運行時,根據(jù)設定的配置信息,利用動態(tài)創(chuàng)建界面的方法自動生成界面元素[4]。在Visual Studio 2017平臺利用VB.NET及SQL Server 2008數(shù)據(jù)庫進行了方法的測試驗證。
配置信息的設計是重點之一,配置文件的形式可以是ini文件、xml文件、注冊表、數(shù)據(jù)庫表格等多種類型,但是由于實際項目中的配置信息較多,以數(shù)據(jù)庫的形式無疑是最好的選擇[5]。數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎,把信息系統(tǒng)中的大量數(shù)據(jù)按照一定的模型組織起來,提供存儲、維護、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準確的從數(shù)據(jù)庫中獲取所需要的信息[6]。具體配置信息的數(shù)據(jù)庫表的設計包括原始測點登記表、計算測點表配置表、測點顯示類型表、系統(tǒng)顯示器登記表、顯示配置方案表等信息。原始測點登記表是對試驗數(shù)據(jù)采集的相關信息進行存儲,主要字段結構見表1。
表1 原始測點登記表
在原始測點登記表中,幾個關鍵字段的作用描述如下。
1)測點編號。實現(xiàn)對測點進行編號,對每個測點的編號要求唯一。
2)對應存儲表。存儲對應測點的采集數(shù)據(jù)表的表名信息。
3)對應存儲字段。存儲對應測點在存儲表中的對應字段名。
(4)測點類型:對測點類型的描述,測點類型為原始測點或計算測點,若測點類型為計算測點,則需要配置“計算測點配置表”的數(shù)據(jù)。計算測點配置表的主要結構見表2。
表2 計算測點表配置表
計算測點表配置表中幾個關鍵字段的用途說明如下。
1)計算配置說明。對計算公式設置進行描述,例如6個測點溫度的平均值。
2)計算配置表達式。設定計算表達式,該表達式是給用戶看的,而具體計算公式設定,在計算公式設置字段中。例如(水潤滑軸承溫度測點1+水潤滑軸承溫度測點2++水潤滑軸承溫度測點6)/6。
3)計算公式設置。其值一般為(wd1+wd2++wd6)/6,其中wd1為對應“原始測點登記表”中的測點編號,其他類同,可以配置為 max(wd1,wd2,,wd6),則表示取某一次測量6個測點中的最大值,因為這6個測點在一次采樣中是都有值的,對這2個表達式,為了后續(xù)識別,需要在“計算配置說明”字段中給予一個描述。計算測點表配置表的具體示例見表3。
表3 計算測點表配置表示例
在常見的監(jiān)測數(shù)據(jù)呈現(xiàn)系統(tǒng)中都是以界面控件的形式進行監(jiān)測數(shù)據(jù)的展示,通過測點顯示類型表對界面控件的信息進行存儲,若測點顯示類型不滿足實際需求時,則可以通過添加配置信息的形式實現(xiàn)界面控件的添加。具體信息見表4。
表4 測點顯示類型表
測點顯示類型表中“類型名稱”字段用于對控件的名稱進行描述,例如垂直液柱、數(shù)字表、儀表盤以及趨勢圖等。若系統(tǒng)當前顯示器無法滿足全部的數(shù)據(jù)呈現(xiàn)功能時,可以通過系統(tǒng)顯示器登記表進行拓展顯示屏,增強系統(tǒng)的拓展性。系統(tǒng)顯示器登記表用于保存系統(tǒng)目前用多少個顯示器,每個顯示器的尺寸等信息。具體信息見表5。
表5 系統(tǒng)顯示器登記表
系統(tǒng)顯示器登記表幾個關鍵字段說明如下。
1)顯示器編號。對系統(tǒng)中存儲在顯示器進行編號。
2)顯示器類型。記錄顯示器的類型信息。
設計了顯示配置方案表用于將測點信息與顯示器以及界面控件相關聯(lián)的重要途徑,也是基于配置思想的軸系監(jiān)測數(shù)據(jù)呈現(xiàn)方法設計的核心之一。常見的監(jiān)測數(shù)據(jù)系統(tǒng)由區(qū)域、測點、控件以及文本描述組成。根據(jù)配置方式設計的顯示配置方案表結構見表6。
表6 顯示配置方案表
顯示配置方案表中幾個關鍵字段說明如下。
1)主鍵。對顯示配置方案表中的信息進行編號,對每條配置信息的編號要求唯一。
2)父主鍵。存儲當前配置信息的父主鍵信息,如果為根節(jié)點,則無父主鍵,值保存0。通過主鍵及父主鍵這2個字段,實現(xiàn)用結構化的存儲表格來保存樹狀的信息。
3)名稱。當前配置顯示信息的名稱,可以是標簽名、頁簽名、區(qū)域名、測點顯示名稱等。
4)類型。當前配置信息的所屬類型,其中所有可供選擇的類型為“顯示器、頁簽、區(qū)域、測點、文本描述”。
5)缺省顯示類型。存儲默認的顯示類型,當類型無信息時,類型為缺省顯示類型。
顯示器、頁簽、區(qū)域、測點以及文本描述互相之間的關系具有層次的關系,而通過主鍵與父主鍵的存在,可以建立樹狀的結構進行設置,但是這個樹狀的結構很難確定具有多少層,只能通過實際顯示配置方案表中的配置信息進行設定,圖1是樹狀結構的示例圖。
由圖1可以看出,每個區(qū)域都有邏輯測點,而邏輯測點是根據(jù)控件的類型進行設置,控件類型共分為2種模式:①簡單控件,其只能顯示測點一個時間點上的值;②復雜控件,可以顯示測點多個時間點上的值,比如趨勢圖控件。
雖然配置信息的設定比較簡單,但如果這些配置信息由人工來輸入仍然比較繁瑣,設計了一種配置設定工具,其操作界面見圖2。通過配置工具能夠快速設定配置信息,其中設定信息包括主鍵與父主鍵,配置信息的主鍵為唯一的標識,根據(jù)所選擇的類型不同,父主鍵的信息會自動進行匹配,界面元素的坐標通過用戶在示例的配置界面上用鼠標點擊位置的方式自動輸入到文本框中,并對其高度與寬度進行設定,最終決定界面元素所在的位置。
系統(tǒng)設計為支持不同顯示器顯示不同的監(jiān)測數(shù)據(jù),因此程序和顯示器是要對應的,在程序運行環(huán)境下設計了一個設置的ini文件,或者在程序啟動時要人為選擇一個顯示器編號,才能決定這個顯示器上顯示的內容。
當程序啟動時,根據(jù)配置信息或人工選擇獲得當前顯示器編號,根據(jù)顯示器的編號對“顯示配置方案表”進行查詢獲得需要的信息,將獲得的信息進行分類,獲得顯示的層次分別,根據(jù)顯示類型,利用動態(tài)創(chuàng)建控件技術界面生成頁簽等區(qū)域布局,然后針對一個最小的區(qū)域,獲取該區(qū)域下要顯示的測點,通過自動控件添加控件到區(qū)域,細化顯示,并在測點與定時器對應登記,程序化初始化顯示完成。
通過上述的這種方法程序初始化的優(yōu)缺點如下。
1)優(yōu)點。通過這種方式,界面顯示的控件完全由用戶自主配置,能夠適應各種工況要求,方法較為靈活。
2)缺點。界面初始化需要的時間相比原來固化設計的程序啟動使用要稍微長一些,但時間差異也不會超過0.5 s。
在文中的應用場景下,這種測試平臺數(shù)據(jù)顯示對界面初始化時間要求不是很苛刻,而且初始化后的響應時間與預先設計布局的軟件一樣的,因此沒有影響。
程序初始化完后,首先需要統(tǒng)計有多少個不同的數(shù)據(jù)刷新時間間隔,對每個不同的時間間隔值,登記其關聯(lián)對應的測點編號,根據(jù)統(tǒng)計出來的不同的數(shù)據(jù)刷新時間間隔的個數(shù)注冊定時器時間,當定時器時間到,根據(jù)該定時器關聯(lián)的測點編號,獲取對應的測點信息,包括測點的顯示模式,根據(jù)測點顯示模式確定數(shù)據(jù)值的處理方式,更新界面顯示。
若程序在運行過程中切換某個監(jiān)測數(shù)據(jù)顯示方式,例如對一個監(jiān)測測點,可以分為單一值顯示模式和歷史數(shù)據(jù)一起顯示模式。在程序運行過程中,用戶可能想要實時動態(tài)切換該量的形式模式,用戶可以通過右鍵選擇菜單或者點擊導航欄功能中的“切換顯示模式”選擇需要的顯示類型,將當前軟件模塊中的控件移除,根據(jù)新類型,在對應位置創(chuàng)建相應的控件并設置控件的數(shù)據(jù)顯示。
根據(jù)以上思路及算法實現(xiàn)了相應的程序,圖3是程序運行界面示例。通過基于配置方式的監(jiān)測數(shù)據(jù)展示方法,程序的界面根據(jù)實際監(jiān)控工況由用戶使用配置工具設定配置信息生成所需要的界面,使傳統(tǒng)的軟件系統(tǒng)固化的缺點得以改善,方便視情工況的監(jiān)測數(shù)據(jù)進行呈現(xiàn)。
1)通過配置方式,用戶自主設定配置信息,生成所需監(jiān)測界面,與傳統(tǒng)狀態(tài)監(jiān)測系統(tǒng)的數(shù)據(jù)呈現(xiàn)方式相比,文中方法的靈活性、適應性與擴展性更強。
2)配置方式的監(jiān)測系統(tǒng)與傳統(tǒng)狀態(tài)監(jiān)測系統(tǒng)相比,系統(tǒng)初始化時間較固化界面稍微延長,在系統(tǒng)使用過程中系統(tǒng)穩(wěn)定性與效率相同。
3)該方法可以推廣應用到類似的應用場景,具有一定的工程實用價值。