本申請涉及人機界面控制技術(shù)領(lǐng)域,尤其是一種以瀏覽器為基礎(chǔ)的網(wǎng)頁人機界面控制設(shè)備及其運行方法。
背景技術(shù):
注塑機,又稱射出成型設(shè)備,是一種塑料成型設(shè)備,其可利用成型模具將熱塑性或熱固性的塑料制作成各種形狀的塑料制品。
一般地,注塑機設(shè)置有人機界面(Human Machine Interface,HMI),用于實現(xiàn)人與機器的交互?,F(xiàn)有的人機界面都是基于Linux系統(tǒng)實現(xiàn)的,具體地,參見圖1所示的人機界面系統(tǒng)的結(jié)構(gòu)示意圖,人機界面系統(tǒng)由下往上分為四個部分,依次為硬件設(shè)備、操作系統(tǒng)、圖形庫(Graphic Library,GL)和人機界面。其中,人機界面是基于圖形庫開發(fā)的,且通過操作系統(tǒng)的應用程序接口(Application Programming Interface,簡稱API)實現(xiàn)人機界面與硬件設(shè)備之間的信息交互。
一般來說,Linux系統(tǒng)由三個部分組成,包括引導程序(BootLoader)、Linux內(nèi)核及根文件系統(tǒng)(Root Filesystem)。Linux系統(tǒng)的啟動流程可分為以下三個階段。在第一階段中,引導程序啟動,此時會初始化硬件設(shè)備,加載且啟動Linux內(nèi)核,以及傳遞Linux內(nèi)核所需要的啟動參數(shù),之后,引導程序交出系統(tǒng)的控制權(quán),此后再也與引導程序無關(guān)。在第二階段中,Linux內(nèi)核啟動以完成初始化工作,接著,加載根文件系統(tǒng),運行根文件系統(tǒng)中的init作為第一個進程(Process),該進程運行于用戶空間,并且啟動內(nèi)核守護進程(Kthreadd)作為第二個進程,該進程運行于內(nèi)核空間。在第三階段中,系統(tǒng)進入正常運行狀態(tài),用戶空間的各個進程由第一個進程啟動,內(nèi)核空間的各個進程由第二個進程啟動,可由程序加載不同的文件系統(tǒng)以及運行不同的文件統(tǒng)中的程序,當用戶空間的程序進行系統(tǒng)調(diào)用(system call)時,將切換到內(nèi)核空間執(zhí)行,在系統(tǒng)正常的情況下,在此階段中,Linux內(nèi)核空間與用戶空 間程序交替在處理器(CPU)執(zhí)行代碼。
一般來說,嵌入式的人機界面開發(fā)機器可分為主機和目標機,其中,生成代碼的機器稱為“主機”,運行代碼的機器稱為“目標機”。由于主機和目標機不是由同一機器開發(fā),稱為交叉開發(fā)。然而,此種交叉開發(fā)方式使得跨平臺的人機界面系統(tǒng)的跨平臺性較差。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請?zhí)峁┝艘环N網(wǎng)頁人機界面控制設(shè)備,用于解決現(xiàn)有人機界面系統(tǒng)跨平臺性差的技術(shù)問題。另外,本申請還提供了一種網(wǎng)頁人機界面控制設(shè)備的運行方法,用以在實際中的應用及實現(xiàn)上述方法。
為實現(xiàn)所述目的,本申請?zhí)峁┑募夹g(shù)方案如下:
一種網(wǎng)頁人機界面控制設(shè)備,包括:網(wǎng)頁人機界面、操作系統(tǒng)及人機界面控制系統(tǒng);其中:
所述網(wǎng)頁人機界面,顯示在所述網(wǎng)頁人機界面控制設(shè)備的顯示器中,以供用戶進行操作;
所述人機界面控制系統(tǒng),用于在用戶操作所述網(wǎng)頁人機界面時,產(chǎn)生一控制指令;其中,所述控制指令用于控制所述網(wǎng)頁人機界面控制的設(shè)備執(zhí)行所述操作;
所述人機界面控制系統(tǒng)包括:業(yè)務(wù)邏輯模塊、解析器模塊、信息數(shù)組模塊及信息循環(huán)模塊;其中:
所述業(yè)務(wù)邏輯模塊,用于處理及綁定超文本標記語言內(nèi)Javascript所提供的函數(shù);
解析器模塊,用于編譯及執(zhí)行Javascript;其中,所述解析器模塊為所述超文本標記語言的Javascript的解析引擎以及JavaScript事件驅(qū)動環(huán)境的Javascript的解析引擎,且所述超文本標記語言的Javascript調(diào)用所述JavaScript事件驅(qū)動環(huán)境內(nèi)的應用程序;
信息數(shù)組模塊,用于產(chǎn)生網(wǎng)頁瀏覽器所執(zhí)行信息的排程數(shù)組,所述網(wǎng)頁瀏覽器通過所述超文本標記語言展示所述網(wǎng)頁人機界面;
信息循環(huán)模塊,用于處理來自所述排程數(shù)組以及所述JavaScript事件驅(qū)動環(huán)境的信息;其中,當該網(wǎng)頁瀏覽器和/或該JavaScript事件驅(qū)動環(huán)境有事件時,該信息循環(huán)模塊由等待狀態(tài)被喚醒,以執(zhí)行來自所述排程數(shù)組及所述JavaScript事件驅(qū)動環(huán)境的信息。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備中,所述信息循環(huán)模塊包括:信息接口;
所述信息接口,用于整合所述排程數(shù)組以及所述JavaScript事件驅(qū)動環(huán)境的信息。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備中,所述操作系統(tǒng)接收來自所述信息循環(huán)模塊的控制指令,將所述控制指令封裝成網(wǎng)絡(luò)封包,并通過網(wǎng)絡(luò)硬件將所述網(wǎng)絡(luò)封包發(fā)送至受控機器的控制器。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備中,所述受控機器完成所述控制指令后產(chǎn)生操作結(jié)果,通過所述控制器將所述操作結(jié)果封裝成另一網(wǎng)絡(luò)封包,并將所述另一網(wǎng)絡(luò)封包回傳至所述網(wǎng)頁人機接口控制設(shè)備。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備中,所述受控機器還包括對照表,用于提供所述控制指令對應的操作。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備中,所述網(wǎng)頁人機接口控制設(shè)備與所述受控機器之間通過網(wǎng)絡(luò)連接。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備中,所述JavaScript事件驅(qū)動環(huán)境采用Node.js作為Javascript運行環(huán)境。
本申請還提供了一種網(wǎng)頁人機界面控制設(shè)備的運行方法,包括:
接收來自網(wǎng)頁人機接口的控制指令;
觸發(fā)與所述控制指令對應的Javascript函數(shù),通過JavaScript事件驅(qū)動環(huán)境的信息整合,將所述控制指令傳遞至底層的操作系統(tǒng);
將所述控制指令封裝成網(wǎng)絡(luò)封包,通過網(wǎng)絡(luò)硬件將所述網(wǎng)絡(luò)封包傳輸至受控機器,以使所述受控機器完成所述控制指令后產(chǎn)生操作結(jié)果;
接收所述操作結(jié)果并傳遞至所述JavaScript事件驅(qū)動環(huán)境,經(jīng)所述JavaScript事件驅(qū)動環(huán)境解析后,產(chǎn)生解析結(jié)果;
將所述解析結(jié)果傳送至所述網(wǎng)頁人機接口的排程,通過所述網(wǎng)頁人機接口顯示所述解析結(jié)果。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備的運行方法中,所述JavaScript事件驅(qū)動環(huán)境的整合,包括:
所述網(wǎng)頁人機接口和/或所述JavaScript事件驅(qū)動環(huán)境有事件時,對應執(zhí)行來自所述網(wǎng)頁人機接口的排程及所述JavaScript事件驅(qū)動環(huán)境的信息。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備的運行方法中,所述受控機器還包括對照表,用于提供該控制指令之對應操作。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備的運行方法中,所述網(wǎng)頁人機接口控制設(shè)備與所述受控機器之間通過網(wǎng)絡(luò)連接。
可選地,上述的網(wǎng)頁人機界面控制設(shè)備的運行方法中,所述JavaScript事件驅(qū)動環(huán)境采用Node.js作為Javascript運行環(huán)境。
由以上技術(shù)方案可知,本申請?zhí)峁┝艘环N網(wǎng)頁人機界面控制設(shè)備及其運行方法,其中,網(wǎng)頁人機界面是利用Web技術(shù)開發(fā)的,利用瀏覽器內(nèi)核解析網(wǎng)頁人機界面,并將瀏覽器內(nèi)核與JavaScript事件驅(qū)動環(huán)境整合為一個應用,以實現(xiàn)在瀏覽器中進行的信息交互。另外,通過JavaScript事件驅(qū)動環(huán)境中對應模塊來完成與本地操作系統(tǒng)間的交互。因此,本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備,不僅方便平臺移植,并且易于將網(wǎng)頁人機界面與Web應用進行整合。
當然,實施本申請的任一產(chǎn)品并不一定需要同時達到以上所述的所有優(yōu)點。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中人機界面系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本申請?zhí)峁┑木W(wǎng)頁人機界面系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備的結(jié)構(gòu)示意圖;
圖4A為本申請?zhí)峁┑腏avascript解析引擎融合的示意圖;
圖4B為本申請?zhí)峁┑男畔⑹录h(huán)整合的示意圖;
圖5為本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備與受控機器間運行的示意圖;
圖6A及圖6B為本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備使用的文件系統(tǒng);
圖7為本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備的運行方法的流程圖。
具體實施方式
下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
參照圖2,其為本申請?zhí)峁┑木W(wǎng)頁人機界面系統(tǒng)的架構(gòu)示意圖。該網(wǎng)頁人機界面系統(tǒng)與圖1示出的現(xiàn)有人機界面系統(tǒng)相比,不同之處主要是上面兩層。具體地,在現(xiàn)有人機界面系統(tǒng)中,人機界面是基于對應操作系統(tǒng)提供的圖形庫開發(fā)的,通信部分則直接使用操作系統(tǒng)的API。然而,如圖2所示,本申請?zhí)峁┑木W(wǎng)頁人機界面是利用Web技術(shù)開發(fā)的,通過瀏覽器內(nèi)核解析網(wǎng)頁人機界面,使其可以在瀏覽器中實現(xiàn)交互。另外,人機界面與操作系統(tǒng)之間的通信,是通過JavaScript事件驅(qū)動環(huán)境中的模塊完成的。
參照圖3,其示出了本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備的架構(gòu)示意圖。如圖3所示,網(wǎng)頁人機界面控制設(shè)備包括人機界面控制系統(tǒng)11、網(wǎng)頁瀏覽器12及操作系統(tǒng)13。其中,人機界面控制系統(tǒng)11,用于實現(xiàn)網(wǎng)頁瀏覽器12的網(wǎng)頁人機界面121與操作系統(tǒng)13之間的信息交互。
具體地,網(wǎng)頁人機界面控制設(shè)備的顯示器可顯示網(wǎng)頁人機界面121,當使用者操作該網(wǎng)頁人機界面121時,人機界面控制系統(tǒng)11產(chǎn)生一控制指令,并執(zhí)行該控制指令對應的信息,即控制指令被傳遞至操作系統(tǒng)13進行解析,以得到該控制指令所對應的信息,進而人機界面控制系統(tǒng)執(zhí)行該信息,如執(zhí)行使用者選擇的啟動、暫停等操作。需要說明的是,在控制指令被傳遞至操作系統(tǒng)13之前,網(wǎng)頁人機界面控制設(shè)備會處理不同信息模塊提供的各種信息。
人機界面控制系統(tǒng)11包括業(yè)務(wù)邏輯模塊111、解析器模塊112、信息數(shù)組模塊113及信息循環(huán)模塊114。
其中,業(yè)務(wù)邏輯模塊111用于處理及綁定超文本標記語言HTML內(nèi)JavaScript所提供的函數(shù),解析器模塊112用于編譯及執(zhí)行JavaScript。需要說明的是,解析器模塊112是超文本標記語言的JavaScript的解析引擎以及JavaScript事件驅(qū)動環(huán)境114的Javascript的解析引擎,并且超文本標記語言的Javascript調(diào)用該JavaScript事件驅(qū)動環(huán)境14內(nèi)的應用程序。
網(wǎng)頁瀏覽器12通過超文本標記語言展示網(wǎng)頁人機界面121,在展示過程中需要使用排程數(shù)組,信息數(shù)組模塊113提供該排程數(shù)組。
信息循環(huán)模塊114用于處理來自信息數(shù)組模塊113的排程數(shù)組以及JavaScript事件驅(qū)動環(huán)境14的信息。其中,當網(wǎng)頁瀏覽器12或JavaScript事件驅(qū)動環(huán)境14有事件時,表明要執(zhí)行使用者的操作,則信息循環(huán)模塊114將由等待狀態(tài)被喚醒,并執(zhí)行來自排程數(shù)組或JavaScript事件驅(qū)動環(huán)境14的信息。當網(wǎng)頁瀏覽器12以及JavaScript事件驅(qū)動環(huán)境14都有事件時,兩者提供的信息可被整合成一個線程(thread),這里所述的線程表示事件執(zhí)行時(program)的行程(process)(例如一段程序)的執(zhí)行軌跡,例如從一起始點開始、到目前為止所有函數(shù)的調(diào)用路徑以及調(diào)用路徑所用到的區(qū)域變量等。線程為計算機可執(zhí)行的最小單位,在本實施例中,排程數(shù)組及JavaScript事件驅(qū)動環(huán)境14兩者提供的信息被整合成一個線程。
具體實施時,信息循環(huán)模塊114可以包括信息接口(圖未示),信息接口可用于整合排程數(shù)組及JavaScript事件驅(qū)動環(huán)境14提供的信息,以達到線程整合的目的。
由于所有信息事件運行在網(wǎng)頁瀏覽器的線程中,本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備屬于網(wǎng)頁瀏覽器架構(gòu),進而,網(wǎng)頁人機界面控制設(shè)備如網(wǎng)頁瀏覽器一般,具備跨平臺性。
由以上技術(shù)方案可知,本申請采用Node-WebKit的技術(shù)手段,該技術(shù)手段在于使運行于WebKit上的網(wǎng)頁應用程序(WebAPP)或者網(wǎng)頁可具備JavaScript運行平臺(Node.js)的所有能力,進而可突破Webkit的很多限制,例如可調(diào)用本地資源能力。JavaScript運行平臺是一種高效能且易擴充的網(wǎng)站應用程序開發(fā)框架(Web Application Framework),主要用于開發(fā)高延展性的網(wǎng)絡(luò)服務(wù)。因此,現(xiàn)有技術(shù)中JavaScript運行平臺(Node.js)往常應用于服務(wù)器上,但本申請有別于現(xiàn)有技術(shù),是將JavaScript運行平臺(Node.js)應用在網(wǎng)頁上,以 減少采用Webkit實現(xiàn)網(wǎng)頁人機界面控制設(shè)備的許多限制。
具體地,JavaScript事件驅(qū)動環(huán)境即是指采用Node.js作為JavaScript運行環(huán)境。JavaScript是一個定義完整的程序語言,其可使用于不同上下文中,以JavaScript運行在瀏覽器為例,瀏覽器可提供上下文來定義使用JavaScript可以做什么,Node.js即是一種不同于瀏覽器的上下文,其同樣用于定義使用JavaScript可以做什么,亦即Node.js也可由其他具備可定義JavaScript做什么的上下文取代。另外,Node-WebKit的實現(xiàn)方式,目的是讓超本標記語言(HTML)中的Javascript可以調(diào)用Node.js的所有應用程序。
參照圖4A,其為本申請?zhí)峁┑腏avascript解析引擎整合的示意圖。如圖4A所示,業(yè)務(wù)邏輯模塊可以是Javascript的業(yè)務(wù)邏輯模塊(Bindings),用來處理及綁定超文本標記語言Javascript層提供的函數(shù),而解析器模塊用來編譯及執(zhí)行Javascript的解析器,例如Google V8解析器。因此,對超文本標記語言的Javascript層來說,解析引擎是Google V8,而Node.js的Javascript解析引擎也是V8,兩者都有自己的信息循環(huán)處理機制,彼此無法感知到對方的存在。
另外,排程引擎(例如WebKit)和JavaScript事件驅(qū)動環(huán)境(例如Node.js)通過合并業(yè)務(wù)邏輯模塊(Bindings)和解析器模塊(Google V8解析器),可實現(xiàn)Javascript解析引擎的打通,因此,可實現(xiàn)Javascript解析引擎整合的效果。
參照圖4B,其為本申請?zhí)峁┑男畔⑹录h(huán)整合的示意圖。如圖4B所示,網(wǎng)頁瀏覽器(例如為Chromium)對信息的處理,可通過信息數(shù)組模塊來實現(xiàn),信息數(shù)組模塊提供了瀏覽器執(zhí)行信息的線程數(shù)組。為了實現(xiàn)JavaScript事件驅(qū)動環(huán)境(Node.js)和網(wǎng)頁瀏覽器(Chromium)之間的信息事件整合,Node-WebKit擴展了網(wǎng)頁瀏覽器(Chromium)的消息處理隊列,并且為JavaScript事件驅(qū)動環(huán)境(Node.js)的消息隊列提供信息接口,該信息接口可實現(xiàn)信息的線程整合。
如圖4B所示,在正常狀態(tài)下,即沒有事件的情況下,信息循環(huán)模塊處于“等待”狀態(tài)并阻塞,當JavaScript事件驅(qū)動環(huán)境(Node.js)或者網(wǎng)頁瀏覽器(Chromium)有事件的時候,將會喚醒信息循環(huán)模塊以處理對應的信息。
基于上述Node-WebKit原理,本申請?zhí)峁┮詾g覽器為基礎(chǔ)的人機界面控制系統(tǒng)。在該人機界面控制系統(tǒng)中,所有信息事件都運行在網(wǎng)頁瀏覽器的線程 中,使得人機界面控制系統(tǒng)具有網(wǎng)頁瀏覽器的架構(gòu)。由于網(wǎng)頁瀏覽器具有跨平臺性能,故人機界面控制系統(tǒng)具有跨平臺性。進而,包含該人機界面控制系統(tǒng)的網(wǎng)頁人機界面控制設(shè)備也具備跨平臺性。
另外,除了前述網(wǎng)頁人機界面控制設(shè)備內(nèi)部對于信息的整合外,還有網(wǎng)頁人機界面控制設(shè)備與受控機器之間信息傳遞的處理,其中,網(wǎng)頁人機界面控制設(shè)備與受控機器之間是通過網(wǎng)絡(luò)連接。
參照圖3,簡單來講,操作系統(tǒng)13接收來自信息循環(huán)模塊114的控制指令后,會將該控制指令封裝成網(wǎng)絡(luò)封包,并通過網(wǎng)絡(luò)硬件傳輸至受控機器(圖未示)的控制器。
受控機器內(nèi)具有一對照表,表明該控制指令的對應操作,從而受控機器可依據(jù)該對照表查找到與控制指令對應的操作,并執(zhí)行查找到的該操作。待受控機器完成該控制指令后,會產(chǎn)生操作結(jié)果,該操作結(jié)果通過該控制器封裝成另一網(wǎng)絡(luò)封包而回傳至網(wǎng)頁人機界面控制設(shè)備。關(guān)于網(wǎng)頁人機界面控制設(shè)備與受控機器之間的信息處理過程,下面將舉例說明。
參照圖5,其為本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備與受控機器間運作的示意圖。如前所述,除了前述網(wǎng)頁人機界面控制設(shè)備內(nèi)部對于信息的整合外,圖5進一步說明了網(wǎng)頁人機界面控制設(shè)備與受控機器之間信息傳遞的處理。如圖5所示,網(wǎng)絡(luò)左邊為本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備1,網(wǎng)絡(luò)右邊為受控機器2,本實施例中的受控機器是以機械手為例,當然,在實際應用中,并不限定于此。網(wǎng)頁人機界面控制設(shè)備1和受控機器2兩者通過網(wǎng)絡(luò)(有線或無線)連接,以實現(xiàn)彼此之間的信息交互。
實際操作時,在點擊網(wǎng)頁人機界面控制設(shè)備1顯示的網(wǎng)頁人機界面中的“回原點”選項后(此在用戶接口層中執(zhí)行),會觸發(fā)對應的Javascript函數(shù),在函數(shù)中通過調(diào)用JavaScript事件驅(qū)動環(huán)境(Node.js)的通信模塊(此在通信層中執(zhí)行),以將控制指令從排程引擎(WebKit層)傳遞給底層操作系統(tǒng)(例如Windows)的網(wǎng)絡(luò)層,底層操作系統(tǒng)將JavaScript事件驅(qū)動環(huán)境(Node.js)傳遞過來的控制指令,封裝成網(wǎng)絡(luò)封包后,通過網(wǎng)絡(luò)傳輸?shù)绞芸貦C器2(例如受控主機)。
受控機器2收到網(wǎng)頁人機界面控制設(shè)備1發(fā)送過來的網(wǎng)絡(luò)封包后,經(jīng)解析 獲取到控制指令,根據(jù)預設(shè)的對照表,執(zhí)行對最終設(shè)備的“回原點”操作。如圖5所示,受控機器2的控制器通過通信總線控制各個軸及其他部件(機械手的X軸手臂等),進而操控機械手以執(zhí)行操作。
待操作完成后,將產(chǎn)生例如成功標示碼或失敗標示碼的操作結(jié)果,通過受控機器2的控制器封裝成網(wǎng)絡(luò)封包,再發(fā)送給網(wǎng)頁人機界面控制設(shè)備1,網(wǎng)頁人機界面控制設(shè)備1收到來自受控機器2的網(wǎng)絡(luò)封包后,將解析該網(wǎng)絡(luò)封包內(nèi)容,之后,傳遞給JavaScript事件驅(qū)動環(huán)境(Node.js)的監(jiān)聽程序,由JavaScript事件驅(qū)動環(huán)境(Node.js)的其他模塊對該解析內(nèi)容進行分析,并將最終結(jié)果傳遞給信息循環(huán)模塊,進入網(wǎng)頁瀏覽器的線程,以實現(xiàn)在網(wǎng)頁中顯示欲操作的執(zhí)行結(jié)果。
上述流程說明了網(wǎng)頁人機界面控制設(shè)備與受控機器之間的控制、狀態(tài)等傳遞和回饋過程,而兩者之間的其他操作,或者是受控機器狀態(tài)的實時回饋也與此流程相似。
參照圖6A及圖6B,其為本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備所采用的文件系統(tǒng)內(nèi)容。如圖6A所示,其示出了網(wǎng)頁人機界面的程序包內(nèi)包含的文件。其中,文件WebHMI.zip的解壓縮文件為功能邏輯代碼部分(詳見圖6B),除該文件之外的其余文件則是用來鏈接Node.js數(shù)據(jù)庫和webkit數(shù)據(jù)庫,從而將兩者的進程整合到一個進程中,以實現(xiàn)對相互資源自由調(diào)用的目的。
如圖6B所示的網(wǎng)頁人機界面的頁面文件夾,從上到下依次為:樣式文件(css)、頁面文件(html)、圖示文件(imags)、腳本文檔(js)、入口頁面(index.html)以及配置文件(package.json)。除了以上述文件外,該文件夾中也可以放Node.js的通訊DLL庫或其他通信模塊,以便在html頁面中調(diào)用執(zhí)行。
參照圖7,其示出了本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備的運作方法流程。其中,網(wǎng)頁人機界面控制設(shè)備與受控機器之間是通過網(wǎng)絡(luò)連接的。在步驟S701中,受控機器接收來自網(wǎng)頁人機界面的控制指令。如前所述,使用者可通過網(wǎng)頁人機界面選擇欲執(zhí)行的控制指令。接著至步驟S702。
在步驟S702中,觸發(fā)對應該控制指令的Javascript函數(shù),通過JavaScript事 件驅(qū)動環(huán)境的信息整合,將該控制指令傳遞至底層的操作系統(tǒng)。具體地,在本步驟中,選擇控制項目后,所選擇控制指令將觸發(fā)對應的Javascript函數(shù),經(jīng)由JavaScript事件驅(qū)動環(huán)境的信息整合,該控制指令被傳送至底層的操作系統(tǒng)。
上述JavaScript事件驅(qū)動環(huán)境的整合包括在網(wǎng)頁人機界面或JavaScript事件驅(qū)動環(huán)境有事件時,對應執(zhí)行來自網(wǎng)頁人機界面的排程或JavaScript事件驅(qū)動環(huán)境的信息。接著至步驟S703。
在步驟S703中,將該控制指令封裝成網(wǎng)絡(luò)封包,通過網(wǎng)絡(luò)硬件傳輸至受控機器,其中,該受控機器完成該控制指令后產(chǎn)生操作結(jié)果。具體地,本步驟是將控制指令封裝成網(wǎng)絡(luò)封包,傳送至受控機器執(zhí)行并產(chǎn)生操作結(jié)果,其中,受控機器具有指令對照表,可由此取得該控制指令的對應操作。接著至步驟S704。
在步驟S704中,接收并傳遞該操作結(jié)果至該JavaScript事件驅(qū)動環(huán)境,經(jīng)該JavaScript事件驅(qū)動環(huán)境解析后,產(chǎn)生解析結(jié)果。本步驟是網(wǎng)頁人機界面控制設(shè)備接收操作結(jié)果,經(jīng)過解析后得到解析結(jié)果。接著至步驟S705。
在步驟S705中,傳送該解析結(jié)果至該網(wǎng)頁人機界面的排程,從而通過該網(wǎng)頁人機界面呈現(xiàn)該解析結(jié)果。也就是說,該解析結(jié)果接著會進入網(wǎng)頁的排程中,并以web形式通過人機界面呈現(xiàn)該解析結(jié)果。
由上述技術(shù)方案可知,網(wǎng)頁人機界面為瀏覽器網(wǎng)頁,可實現(xiàn)多個網(wǎng)頁人機界面控制設(shè)備的統(tǒng)一管理。更具體地,本技術(shù)方案采用Web技術(shù)開發(fā)人機界面,通過瀏覽器內(nèi)核解析成瀏覽器中運行的界面,擺脫了圖形庫的限制,因而利于多個網(wǎng)頁人機界面控制設(shè)備的整合管理。
另外,通過網(wǎng)頁人機界面的遠程音視頻通信功能,可維修其他網(wǎng)頁人機界面控制設(shè)備。具體來講,網(wǎng)頁人機界面通常具有音視頻通信功能,因而結(jié)合本申請中的網(wǎng)頁人機界面,可改進現(xiàn)有技術(shù)中不同設(shè)備間可能因不同程序?qū)е碌娜藱C界面溝通問題,另外,還可以避免采用遠程控制的繁瑣手段。因此,網(wǎng)頁人機界面可使各設(shè)備之間的遠程維護或遠程診斷更方便實現(xiàn)。
通過上述步驟可知,本申請是以網(wǎng)頁瀏覽器作為人機界面的呈現(xiàn)載體,因此,基于網(wǎng)頁瀏覽器的所有應用都是本申請區(qū)別于現(xiàn)有HMI方式的優(yōu)點。例如:可方便機器廠商通過網(wǎng)頁人機界面進行遠程維修;基于瀏覽器的3D應 用,可以在維修中幫助維修工程師與客戶快速進行故障的定位和排查,縮短維修時間,為客戶提供高效的售后服務(wù)。
綜上所述,本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備及其運行方法,由于網(wǎng)頁人機界面是使用Web技術(shù)開發(fā)的,并將瀏覽器內(nèi)核與JavaScript事件驅(qū)動環(huán)境整合為一個應用,故可實現(xiàn)在瀏覽器中的信息交互。本申請?zhí)峁┑木W(wǎng)頁人機界面控制設(shè)備除了可提供友善的人機交互外,還方便平臺移植及易于將網(wǎng)頁人機界面與Web應用整合,以實現(xiàn)在多種終端設(shè)備上執(zhí)行遠程診斷和操控的目的,從而讓網(wǎng)頁人機界面控制設(shè)備具更完善功能和效益。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括上述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。