摘? 要:根據(jù)傳統(tǒng)監(jiān)控工作站既有的用戶需求和新的發(fā)展趨勢(shì),提出一種工業(yè)監(jiān)控工作站的桌面應(yīng)用整合方案。方案使用了基于electron的桌面整合框架技術(shù),通過(guò)制定統(tǒng)一的調(diào)度邏輯,在整合框架內(nèi)通過(guò)設(shè)計(jì)不同層次的應(yīng)用嵌入、應(yīng)用調(diào)度、消息中轉(zhuǎn),最終實(shí)現(xiàn)工業(yè)監(jiān)控工作站的各分散應(yīng)用的統(tǒng)一入口、統(tǒng)一調(diào)度、消息交互,從而實(shí)現(xiàn)各個(gè)零散系統(tǒng)應(yīng)用的整合。
關(guān)鍵詞:工業(yè)監(jiān)控;工作站;桌面整合
中圖分類號(hào):TP311? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2022)01-0096-04
Abstract: According to the existing user requirements and new development trend of traditional monitoring workstation, a desktop application integration scheme of industrial monitoring workstation is proposed. The scheme uses the desktop integration framework technology based on electron. Based on the development of unified scheduling logic and the design of different levels of application embedding, application scheduling and message transfer, and finally realize the unified entrance, unified scheduling and message interaction of various decentralized applications of industrial monitoring workstation, so as to realize the integration of various scattered system applications.
Keywords: industrial monitoring; workstation; desktop integration
0? 引? 言
工業(yè)監(jiān)控系統(tǒng)的主要功能包括對(duì)機(jī)電設(shè)備的實(shí)時(shí)集中監(jiān)控功能和各系統(tǒng)之間協(xié)調(diào)聯(lián)動(dòng)功能兩大部分。一方面,通過(guò)工業(yè)監(jiān)控系統(tǒng),可實(shí)現(xiàn)對(duì)電力設(shè)備、火災(zāi)報(bào)警信息及其設(shè)備、環(huán)控設(shè)備、環(huán)境參數(shù)、照明設(shè)備、門禁設(shè)備、廣播和閉路電視設(shè)備、人員信息系統(tǒng)等進(jìn)行實(shí)時(shí)集中監(jiān)視和控制的基本功能;另一方面,通過(guò)工業(yè)監(jiān)控系統(tǒng),還可實(shí)現(xiàn)非運(yùn)營(yíng)情況下、正常運(yùn)營(yíng)情況下、緊急突發(fā)情況下和重要設(shè)備故障情況下各相關(guān)系統(tǒng)設(shè)備之間協(xié)調(diào)互動(dòng)等高級(jí)功能。而工業(yè)監(jiān)控系統(tǒng)的工作站,作為人與系統(tǒng)的交互界面,承擔(dān)了所有系統(tǒng)與工作人員交互的職責(zé)。
傳統(tǒng)的工業(yè)監(jiān)控工作站,以組態(tài)監(jiān)控為主,其他系統(tǒng)的配合使用,涉及大量應(yīng)用程序的打開、使用、調(diào)度。隨著工業(yè)監(jiān)控系統(tǒng)的功能越來(lái)越多,肩負(fù)的職責(zé)越來(lái)越復(fù)雜,工業(yè)監(jiān)控的工作站中部署的應(yīng)用技術(shù)越來(lái)越多,對(duì)于不同種類,不同結(jié)構(gòu),不同功能的應(yīng)用軟件進(jìn)行統(tǒng)一調(diào)度產(chǎn)生了困難。隨著技術(shù)不斷更新,人機(jī)交互的美觀性、易用性的不斷提升,新舊技術(shù)架構(gòu)交織在一起,在這樣的背景下,工業(yè)監(jiān)控項(xiàng)目系統(tǒng)的工作站對(duì)于不同應(yīng)用的整合展示,統(tǒng)一調(diào)度提出了要求。
本文以實(shí)際工業(yè)監(jiān)控項(xiàng)目工作站統(tǒng)一調(diào)度展示的需求為基礎(chǔ),簡(jiǎn)單介紹了工業(yè)監(jiān)控工作站的使用背景;回顧了傳統(tǒng)工業(yè)監(jiān)控工作站的應(yīng)用使用邏輯;闡述了隨著技術(shù)發(fā)展造成應(yīng)用技術(shù)變化之后產(chǎn)生的綜合監(jiān)控工作站整合需求;進(jìn)而介紹基于新整合需求的設(shè)計(jì)思路和實(shí)現(xiàn)方式;最后總結(jié)了本文內(nèi)容并對(duì)該方案的通用性進(jìn)行了思考和展望。
1? 傳統(tǒng)工作站的界面模式
在傳統(tǒng)的工業(yè)監(jiān)控工作站中,一般會(huì)配置2~3個(gè)屏幕作為內(nèi)容展示區(qū),比如1屏用于展示組態(tài),2屏用于展示CCTV。在啟動(dòng)工作站的時(shí)候,會(huì)同時(shí)啟動(dòng)組態(tài)應(yīng)用程序和CCTV的應(yīng)用程序,并放置到對(duì)應(yīng)的位置中。如圖1所示。
現(xiàn)如今,隨著技術(shù)的不斷更迭,應(yīng)用內(nèi)容的不斷增加,監(jiān)控人員不再滿足于各個(gè)系統(tǒng)各自為政的使用模式,而是希望不同的監(jiān)控系統(tǒng)和應(yīng)用程序之間,能夠通過(guò)統(tǒng)一的入口,統(tǒng)一的調(diào)用邏輯,靈活地在統(tǒng)一的界面中相互配合工作。從而實(shí)現(xiàn)工作站中各種不同應(yīng)用的整體展示和使用的需求。以環(huán)境平面圖界面場(chǎng)景為例,在環(huán)境平面圖中,用戶希望能夠通過(guò)組態(tài)監(jiān)控畫面,直接選擇并展示對(duì)應(yīng)的視頻監(jiān)控畫面;或者將組態(tài)畫面與一些信息化元素組合展示,例如通過(guò)設(shè)備的組態(tài)監(jiān)控畫面查看對(duì)應(yīng)設(shè)備的檢修計(jì)劃等;除此之外,用戶還希望能夠通過(guò)一些系統(tǒng)運(yùn)行情況自動(dòng)調(diào)起其他子系統(tǒng)的頁(yè)面配合查看。
2? 應(yīng)用整合后的優(yōu)勢(shì)
從系統(tǒng)的角度來(lái)講,整合的工作站將各個(gè)孤立的展示程序結(jié)合為一個(gè)有機(jī)的整體,可以按照統(tǒng)一的調(diào)度邏輯進(jìn)行展示,并實(shí)現(xiàn)各個(gè)孤立程序之間的消息交互、通信、調(diào)用,從而提高各系統(tǒng)展示界面的消息傳遞和相互調(diào)度能力,實(shí)現(xiàn)各個(gè)系統(tǒng)之間的協(xié)調(diào)配合,提高工作站的整體水平。從用戶角度來(lái)講,整合的工作站可以提供統(tǒng)一的交互邏輯,同時(shí)協(xié)調(diào)多個(gè)不同系統(tǒng)界面的交互展示,有助于提升工作站展示數(shù)據(jù)的綜合能力,并為工作人員提供更加友好的人機(jī)交互體驗(yàn)。用戶可以從各個(gè)不同應(yīng)用獨(dú)立使用的困境中解放,觸發(fā)更多的多應(yīng)用交互需求和場(chǎng)景的產(chǎn)生,從而更好地完成監(jiān)控系統(tǒng)的統(tǒng)一協(xié)調(diào)工作。
3? 應(yīng)用整合框架的實(shí)現(xiàn)
3.1? 功能分析
結(jié)合對(duì)監(jiān)控工作站應(yīng)用場(chǎng)景的整理和分析,應(yīng)用整合需要具備以下能力:
3.1.1? 唯一入口統(tǒng)一調(diào)度框架
首先,需要考慮為工作站程序提供唯一的入口,從而避免各個(gè)子系統(tǒng)程序各自為政的局面發(fā)生。
通過(guò)設(shè)定統(tǒng)一的入口,所有系統(tǒng)調(diào)度在入口程序中進(jìn)行。例如,原先分別打開組態(tài)和CCTV,組態(tài)和CCTV的畫面切換各自負(fù)責(zé),而整合后,不再配置組態(tài)和CCTV程序中的獨(dú)立菜單,任何頁(yè)面的打開,都由入口程序負(fù)責(zé),各個(gè)應(yīng)用向入口程序發(fā)起請(qǐng)求和發(fā)送消息。入口程序負(fù)責(zé)收集和匯總消息并進(jìn)行整體框架層面的展示和調(diào)度。
3.1.2? 統(tǒng)一調(diào)度展示風(fēng)格
其次,要保證工作站所有程序融合以后的整體感,必須保證所有應(yīng)用頁(yè)面的風(fēng)格統(tǒng)一,只有通用的頁(yè)面風(fēng)格,才不會(huì)在頁(yè)面調(diào)度和人機(jī)交互的過(guò)程中給人以突兀不和諧的感覺(jué)。
通過(guò)制定的統(tǒng)一的頁(yè)面風(fēng)格和交互模式設(shè)置入口程序及各個(gè)子系統(tǒng)的頁(yè)面規(guī)劃和規(guī)范。
3.1.3? 屏蔽系統(tǒng)差異
由于各個(gè)子系統(tǒng)程序開發(fā)語(yǔ)言,架構(gòu),應(yīng)用程序的使用方式各不相同,因此,統(tǒng)一的入口程序必須能夠屏蔽各系統(tǒng)之間的這些差異,使得人機(jī)交互的模式能夠有統(tǒng)一感、整體感,才能使得各個(gè)孤立程序猶如一個(gè)有機(jī)整體,從而提供良好的人機(jī)交互體驗(yàn)。
通過(guò)唯一入口登入登出后開展子系統(tǒng)頁(yè)面調(diào)用,通過(guò)入口程序屏蔽各子系統(tǒng)登入方式、退出方式、鎖屏機(jī)制等等差異。實(shí)現(xiàn)統(tǒng)一登入、統(tǒng)一登出、統(tǒng)一鎖屏等。
3.2? 整合框架設(shè)計(jì)
根據(jù)功能分析,整合框架程序至少需要包含三部分:
(1)統(tǒng)一調(diào)度層。該層提供工作站的統(tǒng)一入口,用于進(jìn)行各個(gè)應(yīng)用畫面的統(tǒng)一調(diào)起、隱藏、關(guān)閉等,該層屏蔽了各個(gè)子系統(tǒng)原先的出入口,使得各應(yīng)用畫面整合消息的統(tǒng)一展示。對(duì)于統(tǒng)一調(diào)度層,必須滿足以下要求,界面永遠(yuǎn)置頂,使得頁(yè)面調(diào)度隨時(shí)可以開展。但調(diào)度層不能影響畫面展示層展示的畫面的交互。因此,必須實(shí)現(xiàn)遮擋但鼠標(biāo)操作可穿透的效果。此外,調(diào)度層需要隨時(shí)監(jiān)測(cè)展示層和鎖定層發(fā)送的消息,以便按需進(jìn)行調(diào)度控制。
(2)畫面展示層。該層用于展示通過(guò)統(tǒng)一調(diào)度層調(diào)起的畫面。該層服務(wù)于統(tǒng)一調(diào)度層,根據(jù)調(diào)度層的命令設(shè)定頁(yè)面的展開位置、展示狀態(tài)、展示高度等。同時(shí),畫面展示層可以向調(diào)度層進(jìn)行消息傳遞,實(shí)現(xiàn)各個(gè)子系統(tǒng)消息向調(diào)度層的匯聚。對(duì)于畫面展示層,必須同時(shí)實(shí)現(xiàn)對(duì)不同應(yīng)用程序的調(diào)用,包括且不限于exe程序,網(wǎng)頁(yè)等。此外,展示層還需要實(shí)現(xiàn)按需向調(diào)度層發(fā)送消息,從而實(shí)現(xiàn)跨應(yīng)用的界面調(diào)度和消息交互。
(3)工作站鎖定層。該層用于實(shí)現(xiàn)工作站的統(tǒng)一鎖屏、登出、登入、修改密碼等,一方面,該層實(shí)現(xiàn)各個(gè)子系統(tǒng)的統(tǒng)一認(rèn)證等操作,另一方面,該層提供了工作站的鎖定,實(shí)現(xiàn)了人機(jī)交互的阻斷效果,可以在特定的情況下,通過(guò)調(diào)起鎖定層實(shí)現(xiàn)人機(jī)阻隔效果。
3.3? 實(shí)現(xiàn)原理
經(jīng)過(guò)對(duì)各自桌面應(yīng)用基座進(jìn)行梳理,在本次應(yīng)用中,選用electron作為入口程序的基座技術(shù)。Electron 是一個(gè)使用 JavaScript,HTML 和 CSS 等 Web 技術(shù)創(chuàng)建原生程序的框架,它基于 Chromium 和 Node.js,讓你可以使用 HTML,CSS 和 JavaScript 構(gòu)建應(yīng)用。因此,它可以非常容易的實(shí)現(xiàn)web應(yīng)用的集成,同時(shí)輕松實(shí)現(xiàn)操作系統(tǒng)服務(wù)、應(yīng)用程序的調(diào)度和展示。此外,基于Electron開展的應(yīng)用整合,具備跨平臺(tái)特性,可以滿足不同項(xiàng)目場(chǎng)景的展示需求。
按照框架設(shè)計(jì)的三層結(jié)構(gòu),分別封裝調(diào)度應(yīng)用層、展示應(yīng)用層、鎖定應(yīng)用層。
調(diào)度應(yīng)用層展示于工作站最頂層,通過(guò)異形菜單、鼠標(biāo)穿透等技術(shù)實(shí)現(xiàn)與應(yīng)用展示層的無(wú)縫銜接,一方面從視覺(jué)上融為一體,另一方面也不阻礙應(yīng)用展示層的人機(jī)交互,同時(shí),應(yīng)用調(diào)度層時(shí)刻保持對(duì)應(yīng)用展示層和應(yīng)用鎖定層的消息監(jiān)聽,確保實(shí)時(shí)根據(jù)消息觸發(fā)調(diào)度事件,并通過(guò)匯總情報(bào)展示調(diào)度層設(shè)計(jì)的展示內(nèi)容。并在調(diào)度層通過(guò)統(tǒng)一的控制進(jìn)程對(duì)各個(gè)不同的應(yīng)用層進(jìn)行管理。
展示應(yīng)用層負(fù)責(zé)對(duì)被展示的頁(yè)面進(jìn)行包裝,并按照調(diào)度應(yīng)用層的命令展示、隱藏、關(guān)閉于置頂?shù)奈恢?,同時(shí)提供給用戶界面人機(jī)交互。展示應(yīng)用層會(huì)根據(jù)用戶的操作生成消息并發(fā)送給調(diào)度應(yīng)用層,由調(diào)度應(yīng)用層調(diào)起其他應(yīng)用或執(zhí)行相關(guān)工作。
鎖定應(yīng)用層負(fù)責(zé)實(shí)現(xiàn)工作站的鎖定、提示等功能,實(shí)現(xiàn)工作站的全屏鎖定以阻隔人機(jī)交互。用戶在鎖定應(yīng)用層的操作后,鎖定應(yīng)用層向調(diào)度應(yīng)用層發(fā)出解鎖、切換、關(guān)閉等消息,由調(diào)度應(yīng)用層執(zhí)行下一步調(diào)度操作。
各層之間的調(diào)度和消息傳遞邏輯如圖2所示。
由圖中可以看出,在應(yīng)用啟動(dòng)之后,首先打開調(diào)度應(yīng)用層,通過(guò)對(duì)調(diào)度應(yīng)用層進(jìn)行操作,進(jìn)而打開展示應(yīng)用層和鎖定應(yīng)用層。展示應(yīng)用層和鎖定應(yīng)用層按需被調(diào)起后,通過(guò)界面操作向調(diào)度應(yīng)用層發(fā)送消息,由調(diào)度應(yīng)用層進(jìn)一步確定其余兩層的下一步動(dòng)作。與此同時(shí),界面調(diào)度層根據(jù)當(dāng)前收集的消息,展示全局相關(guān)的信息內(nèi)容。
3.4? 界面效果
通過(guò)對(duì)監(jiān)控工作站進(jìn)行整合后,監(jiān)控工作站各個(gè)應(yīng)用之間實(shí)現(xiàn)了協(xié)作和聯(lián)動(dòng),使得整個(gè)人機(jī)交互體驗(yàn)得以完善和提升,工作站各應(yīng)用之間有機(jī)結(jié)合,形成一個(gè)整體。
以環(huán)境平面圖界面場(chǎng)景為例,界面示例如圖3所示。
其中上方菜單區(qū)域?yàn)閼?yīng)用調(diào)度層,展示所有可以進(jìn)行人機(jī)交互的界面菜單入口,應(yīng)用調(diào)度層右側(cè)展示系統(tǒng)整體相關(guān)的信息和系統(tǒng)功能區(qū)域。
通過(guò)點(diǎn)擊應(yīng)用調(diào)度層菜單或者觸發(fā)應(yīng)用調(diào)度邏輯,在下方畫面展示層區(qū)域中分別打開組態(tài)應(yīng)用畫面;通過(guò)對(duì)畫面展示層中的組態(tài)應(yīng)用畫面進(jìn)行人機(jī)交互,向應(yīng)用調(diào)度層發(fā)出CCTV調(diào)度消息,由應(yīng)用調(diào)度層實(shí)現(xiàn)在指定的位置將CCTV界面調(diào)起。
通過(guò)應(yīng)用調(diào)度層右側(cè)的系統(tǒng)功能區(qū)域,可以調(diào)起應(yīng)用鎖定層,通過(guò)應(yīng)用鎖定層可以阻斷所有人機(jī)操作。在應(yīng)用鎖定層,可以按照界面要求操作(如輸入密碼等)與界面展開交互,并將交互結(jié)果生成消息發(fā)送給應(yīng)用調(diào)度層,由應(yīng)用調(diào)度層根據(jù)接收到的結(jié)果進(jìn)行調(diào)度,從而解除應(yīng)用鎖定層的鎖定效果。
4? 結(jié)? 論
通過(guò)對(duì)監(jiān)控工作站桌面應(yīng)用的整合,可以改變過(guò)去各個(gè)應(yīng)用各自為政的弊端,使得整個(gè)工作站桌面應(yīng)用融為一體,實(shí)現(xiàn)統(tǒng)一的,完整的,友好的人機(jī)交互環(huán)境。同時(shí),多應(yīng)用的交互,更有利于對(duì)整體場(chǎng)景的把控,降低軟件使用的難度和復(fù)雜性,有利于更好地開展監(jiān)控工作。
對(duì)于應(yīng)用整合這一課題,其實(shí)在很多傳統(tǒng)的領(lǐng)域也存在相應(yīng)的需求,如果進(jìn)行合理的改造和整合,將大大有助于提升應(yīng)用水平的提升,進(jìn)而提升軟件帶來(lái)的價(jià)值。在筆者涉及的項(xiàng)目中,通過(guò)本文方案進(jìn)行了工作站應(yīng)用整合后,獲得了用戶的一致好評(píng),用戶對(duì)人機(jī)交互的需求得到了滿足。
參考文獻(xiàn):
[1] 鐘秀娟.工業(yè)監(jiān)控組態(tài)系統(tǒng)的分析與研究 [J].辦公自動(dòng)化,2011(24):31+33.
[2] 王虎,方建清,董永剛.使用反向代理技術(shù)實(shí)現(xiàn)B/S系統(tǒng)應(yīng)用整合 [J].信息與電腦(理論版),2011(18):116-118+120.
[3] 羅宏俊,馮瑞.基于Web技術(shù)進(jìn)行桌面應(yīng)用開發(fā)的研究 [J].網(wǎng)絡(luò)新媒體技術(shù),2016,5(2):42-47.
[4] HEX Blog.用HTML5和Node.JS開發(fā)桌面應(yīng)用 [EB/OL].(2014-05-01).http://hex.youdao.com/blog/.
[5] CSDN.開發(fā)桌面應(yīng)用,自然用Electron! [EB/OL].(2019-03-08).https://blog.csdn.net/soledadzz/article/details/88677522.
作者簡(jiǎn)介:毛瑞(1985—),女,漢族,貴州黔南人,工程師,軟件工程碩士,研究方向:軌道交通行業(yè)解決方案研究和設(shè)計(jì)。