楊青 劉軍



摘? 要:電子測量儀器的門類和品牌均呈現多樣化趨勢,同時用戶對儀器的使用場景和操作習慣也不同,儀器的菜單系統無法做到普適性,當菜單設計不符合用戶預期時,會導致人機交互體驗不佳,測量效率低下,并且由于菜單系統固化,用戶無法修改菜單。文章提出了一種可配置的儀器菜單系統,儀器可以根據用戶配置,動態生成個性化的菜單系統,從而符合用戶的使用習慣,提升測量效率和使用體驗。
關鍵詞:電子測量儀器;菜單系統;可配置;個性化
中圖分類號:TP311? ? 文獻標識碼:A? 文章編號:2096-4706(2023)13-0084-04
Configurable Instrument Menu System
YANG Qing, LIU Jun
(The 41th Institute of CETC, Qingdao? 266555, China)
Abstract: The categories and brands of electronic measuring instruments are showing a trend of diversification. Meanwhile, the menu system of instrument cant be adapted to all users due to different usage scenarios and operating habits. When the menu design does not meet users' expectations, it will lead to poor human-computer interactive experience, low measurement efficiency, and users cannot modify the menu due to the curing menu system. A configurable instrument menu system is proposed in this paper. The instrument can generate a personalized menu system according to users' configuration in runtime, so as to meet the users' habits and improve measurement efficiency and user experience.
Keywords: electronic measuring instrument; menu system; configurable; personalization
0? 引? 言
電子測量儀器在出廠時,通常被廠家內置了一套菜單系統用于人機交互,這種菜單系統預先定義了儀器前面板上每個鍵的功能,固化了菜單結構,用戶無法改變。這對于像示波器、頻譜儀類的通用儀器的用戶而言問題不大,因為他們有著比較一致的操作習慣。但是隨著產業升級和行業細分,市面上出現了很多專業化、綜合化的電子測量儀器,由于用戶還沒有對這類儀器的操作達成共識,廠家很難用一套既定的菜單系統方案去滿足所有人的使用習慣。當用戶不能適應廠家內置的菜單系統時,就會影響其操作的流暢性和測試測量的效率,體驗效果變差。針對上述情況,儀器菜單系統最好能夠支持自定義配置,如果用戶不習慣出廠設置,可以隨時對其調整、裁剪或重組,為此,本文提出了一種可配置儀器菜單系統,并說明了技術實現路徑。
1? 菜單系統特點及其局限性
菜單系統的外在表現是儀器的前面板,如圖所示,前面板包含硬鍵和軟鍵,硬鍵是一組面板上凸起的長方形、圓形、三角形按鈕或旋鈕,硬鍵通常關聯著最常用的操作;軟鍵是由軟件繪制在前面板觸摸屏上的可視化控件,它是儀器菜單系統的主要視窗,按照樹狀層級,向用戶提供儀器的所有功能項。一個典型的儀器前面板如圖1所示。
菜單系統的內部,是一套由儀器的面板驅動、操作系統和應用程序緊密關聯的軟件機制,不管用戶按下的是硬鍵還是軟鍵,最終都會被操作系統表達為一個消息傳遞給應用程序,后者根據消息參數中的鍵值,查找對應的功能,然后執行該功能,把執行結果反饋給界面,作為對用戶的響應。上述鍵值和功能之間的關聯是廠家事先設計好并固化到儀器的,用戶無法改變,但是廠家為了滿足用戶個性化的需求,通常會在前面板上保留一個“宏”鍵,“宏”鍵不關聯任何儀器功能,而是與一個腳本綁定,用戶可以事先把自己的測試序列和操作步驟錄制到腳本里,這樣當按下“宏”鍵后,儀器就會依次執行腳本中的批量操作。“宏”鍵僅僅給予了用戶有限程度上的自主性,這是因為:1)面板上的除了“宏”鍵,其他軟硬鍵由廠家固化了指令關聯,用戶無法按照自己的操作習慣組織菜單和定義按鍵功能;2)“宏”鍵僅有一個,只能關聯一個批量操作,如果用戶需要多種批量操作,則需要切換腳本,使用不方便。顯然,使用“宏”鍵這種解決方案無法完全滿足用戶的需求,用戶期望的是充分的自主性,能夠根據自己的使用習慣和應用場景,自行定義菜單系統。
2? 設計思路
一款儀器的內置功能集合是固定的,前面板上的按鍵布局也是固定的,但是軟鍵菜單結構、按鍵和功能之間的關聯并非無法改變,因為它們是由儀器軟件在初始化時構造出來的。可否通過改善軟件設計,切斷面板上的鍵與儀器功能之間的固有關聯?在此基礎上更進一步,把定義關聯關系和菜單結構的權限交給用戶,讓用戶可以自行設計并生成儀器菜單系統的配置,然后儀器能夠加載并遵循用戶配置,動態生成按鍵和功能之間的映射關系以及菜單結構,就可以實現一套用戶自定義的菜單系統。具體的,儀器的內置功能集合以文件的形式保存在儀器中,用戶需要定義菜單系統時,使用廠家的配套軟件從儀器中讀取該文件,并操作配套軟件進行鍵值與功能的關聯,調整菜單結構或定義新的功能項,定制完成后生成一份配置文件,由配套軟件上傳到儀器,儀器依據這份配置文件,重新生成菜單結構,重建按鍵與功能的關聯,該過程的示意圖如圖2所示。本文對其中的技術重點進行了介紹,包括功能集合和配置文件的結構設計、菜單動態加載與生成、儀器對菜單系統的按鍵響應。為了便于下文表述,把儀器固有的功能稱為“內置功能”,用戶自定義的功能稱為“定制功能”。
3? 文件結構
內置功能描述文檔描述的是儀器固有的功能,配置文件描述的是用戶自定義的菜單系統。所謂的用戶自定義,是指用戶基于儀器固有的功能,按照自己的使用習慣進行菜單結構組織調整,并在必要時進行擴展,生成一些預設參數或固有功能組合的快捷操作菜單項。對每臺儀器而言,內置功能集合文檔具有唯一性和只讀的屬性,出于空間占用和運行效率的考慮,本文使用二進制格式的文件作為該文檔的載體;而對于配置文件而言,由于允許用戶創建多個配置,配置文件不唯一并且可讀寫,本文使用json作為配置文件的描述格式。
3.1? 內置功能描述文檔結構
內置功能描述文檔由功能項段、功能參數段、功能名稱段和功能描述段組成。功能項段記錄了該儀器最小粒度的功能集合,包括標識、名稱和描述三部分。其中標識是所有的功能項和定制項的唯一身份,標識的使用約定如圖3所示。功能標識對于儀器至關重要,儀器內部會根據標識查找可執行該功能的模塊。名稱和描述字段均為一個索引,通過該索引可在名稱段和描述段中找到該內置功能項相關的字符串,這些字符串信息用于為用戶提供在線的操作提示和功能說明,采用UTF-8編碼方式。
在圖3中,從0到0x7FFF共32768個序號預留給用戶作為定制功能項的標識。儀器內置功能項序號起始于0x8000,從0x8000到0xBFFF共16384個序號對應無參功能項,儀器執行該功能不需要額外的參數,從0xC000到0xFFFF共16 384個序號對應攜帶參數的功能項,儀器執行該功能需要外界提供參數,例如“設置中心頻率到3 kHz”就是一個帶參功能項,其中的3 kHz為參數。
功能參數段用來指明每個帶參功能項的參數類型,記錄了所有帶參功能項與參數類型的關聯。功能名稱字符串段包括每個功能項的名稱,功能描述字符串段包括功能項的用途和操作提示,這兩段均采用UTF-8編碼方式。
3.2? 配置文件結構
配置文件包含了用戶定制的菜單信息,由三部分組成,第一部分為菜單層次結構的描述信息,是一個樹狀結構,其中的每個中間節點是某級菜單,葉子節點是菜單項,菜單的屬性包括標題、菜單標識、菜單項成員標識及位置、上級標識等;菜單項的屬性包括名稱、菜單項標識、功能標識等。第二部分是定制功能項的描述信息,記錄了用戶為儀器新定義的定制功能項。定制功能項是對內置功能項的擴展,是用戶為了方便使用,創建的快捷和輔助操作,它建立在儀器內置功能之上,而非增加或修改內置功能,定制功能項包括一鍵設置項、已配參項和導航項三種類型。其中,一鍵設置項是多個功能項的組合,當按下后,儀器將順序執行按該項所包含的功能;已配參項記錄了用戶預設參數,當按下后,儀器將在執行功能時使用該參數;導航項用于菜單切換,當按下后,軟鍵區域將切換成該導航項所指向的菜單。第三部分是硬鍵關聯關系的描述信息,記錄的是儀器前面板硬鍵與功能項的關聯關系。
4? 菜單動態加載與生成
當用戶使用配套軟件制作完成菜單系統的配置文件,并把它上傳到儀器,儀器將加載該配置,結合內置功能描述文檔,動態生成新的菜單系統,顯示到軟鍵區域,并為硬鍵建立與用戶指定功能的關聯。
具體的,加載是儀器應用程序讀取配置文件并建立相應數據結構和對象的過程。程序首先根據定制功能項的描述信息,創建所有的定制功能項對象,以定制功能項標識為鍵,使用map型容器進行管理。然后創建內容為空的菜單對象,以菜單標識為鍵,使用map型容器進行管理。當所有定制功能項、菜單對象創建就緒后,結合已有的內置功能項,程序將依據配置文件中的菜單層次結構描述信息,對菜單進行填充,從而動態生成了菜單,上述流程如圖4所示。最后建立硬鍵與功能關聯,依據的是配置文件中硬鍵關聯的描述信息,同樣利用map型容器管理硬件鍵值與功能項對象的關聯,當用戶按下硬鍵時,就利用硬鍵鍵值在該容器找到功能項對象,分發消息,執行相應功能。之所以選擇map型容器,是因為map型容器通常采用平衡二叉樹結構,搜索某個元素快速高效。圖5是某綜測儀動態生成的菜單界面。
5? 儀器對菜單系統的按鍵響應
當菜單系統生成之后,用戶就可以通過按鍵與儀器交互了。從儀器響應的角度,按鍵所對應的功能項分為單一功能項和復合功能項兩類,單一功能項對應一個功能操作;而復合功能項對應多個功能的序列,按下復合功能項的鍵,將觸發一系列的功能順序執行。
5.1? 對單一功能項的響應
當用戶按下此類型的按鍵,儀器的響應過程如下。
1)用戶的按鍵動作被用戶交互模塊捕獲,得知用戶按鍵的鍵值,由于鍵值已經和功能項標識關聯,用戶交互模塊可以根據功能項標識,從容器中找到該功能項對象。
2)該對象生成一條指令,送往儀器的指令分發模塊。
3)指令分發模塊利用路由表,查找到可以響應該指令的儀器內部模塊,然后將指令送往該模塊。
4)儀器內部模塊響應完指令后,通過指令分發模塊向菜單系統反饋響應結果。
上述過程中,指令的內容包括功能項標識、功能參數對象;指令分發模塊處于用戶交互模塊與儀器內部功能模塊之間,為兩者傳遞命令和響應結果;路由表是一個路由項的集合,每個路由項包含功能項的標識和執行該功能的儀器內部模塊標識;響應結果通常包含錯誤碼和錯誤描述,菜單系統可以將該響應呈現給用戶。
5.2? 對復合功能項的響應
當用戶按下按鍵,若該按鍵關聯到復合功能項,儀器的響應過程如下:
1)同5.1的步驟1)。
2)復合功能項對象從它的鏈表頭部開始取功能子項的標識,然后在容器中找到該子項,調用該子項的指令分發接口,如果該子項是單一功能項,則會執行5.1中的后續步驟,若該子項仍是復合功能項,則會遞歸的執行本步驟。
3)查看儀器響應結果,若響應正常,則繼續取下一個子項執行之,若響應異常,則說明此時有錯誤發生,在這種情況下停止取下一個子項,退出迭代。
4)通過指令分發模塊向菜單系統反饋最后一個被執行的子項的響應結果。
復合功能項按鍵響應流程如圖6所示。
6? 結? 論
本文介紹了一種可配置的儀器菜單系統,使得菜單層次結構可變,功能項可擴展。其中,菜單層次結構的可變性增加了儀器人機交互柔性,賦予了用戶自行構建儀器菜單系統的能力,而一鍵設置項、已配參項等定制功能項,擴展了儀器功能,簡化了操作步驟,賦予了用戶高效測試的能力。從宏觀上看,本文所述的菜單系統,是對儀器人機交互模式中的“本地”和“程控”的創新性整合,使得儀器不但能本地化響應用戶的個性化操作,而且其效率與專門定制開發的程控軟件相當。
參考文獻:
[1] 古天祥,王厚軍,習友寶,等.電子測量原理 [M].北京:機械工業出版社,2004:247-305.
[2] 楊廣強.熱工儀器儀表校準及自動化 [J].百科論壇電子雜志,2019(10):712-713.
[3] 董士海.人機交互的進展及面臨的挑戰 [J].計算機輔助設計與圖形學學報,2004(1):1-13.
[4] 楊青,牛大勝.電子測量儀器人機交互的統一化處理方法 [J].電子質量,2017(4):58-60.
[5] COOPER A. About Face 3:交互設計精髓 [M].劉松濤,譯.北京:電子工業出版社,2008.
作者簡介:楊青(1981—),男,漢族,山東濰坊人,高級工程師,碩士,研究方向:電子測量裝備與頻譜監測;劉軍(1975—),男,漢族,天津薊縣人,研究員,學士學位,研究方向:超寬帶監測接收機與監測系統。
收稿日期:2023-03-11