專利名稱:測量儀器基于萬維網(wǎng)的遠(yuǎn)程監(jiān)視或控制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及測量儀器領(lǐng)域。本發(fā)明尤其涉及測量儀器的監(jiān)視或控制。
本領(lǐng)域中現(xiàn)有包括示波器在內(nèi)的各種各樣測量儀器。測量儀器具有非常廣泛的用途,例如從測量發(fā)動機的振動到測量腦電波僅僅是其中的幾個實例。常規(guī)測量儀器至少存在以下幾個缺點(a)典型地,需要在接近測量點的地方進行監(jiān)視或控制(b)對于如空間探測的遠(yuǎn)程監(jiān)視或控制,必須特別地提供專用接口或裝置。
因為人們往往希望在測量儀器例行的可能用途中包括可從物理上遠(yuǎn)離測量地點的地方,例如在隔壁辦公室、鄰近建筑或者不同的設(shè)備現(xiàn)場等,需要有一種更容易和對用戶更友好的方法來達(dá)到所希望的遠(yuǎn)程監(jiān)控或控制。正如將在下面詳細(xì)公布的,本發(fā)明取得了這些和其它一些希望的結(jié)果。
測量儀器是web(萬維網(wǎng))使能的,即它可以接收由在遠(yuǎn)程客戶機上使用瀏覽器的用戶發(fā)送的命令或信息以完成對測量儀器的操作。作為響應(yīng),操作根據(jù)所提供的命令或信息來完成??墒褂玫牟僮鹘Y(jié)果返回到用戶的遠(yuǎn)程客戶機的瀏覽器。這一操作可能是大量監(jiān)視或控制操作中的任一個,命令或信息使區(qū)別出所需的監(jiān)視或控制操作變得容易。返回的操作結(jié)果包括從測量儀器得到的數(shù)據(jù)。
在一個實施例中,測量儀器是web使能的,它將測量儀器與配有一個web服務(wù)器、一個批處理命令執(zhí)行器以及使遠(yuǎn)程客戶機瀏覽器的用戶和測量儀器的交互使用更為容易的、具有一個或多個相關(guān)批處理命令的一個或多個web頁的服務(wù)器相連。
在另一個替代實施例中,測量儀器配置為基于web的控制子系統(tǒng),其中包括一個web服務(wù)器、一個批處理命令執(zhí)行器以及使遠(yuǎn)程客戶機瀏覽器的用戶和測量儀器的交互使用更為容易的、具有一個或多個相關(guān)批處理命令的一個或多個web頁。
本發(fā)明將通過實施例的實例加以說明。在附圖中示出,其中相應(yīng)的參考標(biāo)識為類似的元件,其中
圖1為本發(fā)明的概述;圖2的流程圖說明了本發(fā)明的一個實施例的方法、步驟;圖3a-3b給出了圖1中web使能測量儀器的兩種實施例;圖4a-4b給出了圖3的一個基于web控制子系統(tǒng)實施例的硬件和軟件的實現(xiàn);圖5a-5b給出了相應(yīng)于本發(fā)明web頁實施例的兩個屏幕實例;以下將闡述本發(fā)明的各個方面。本領(lǐng)域的技術(shù)人員士將意識到使用本發(fā)明的一部分或全部都是可以的。為了解釋的方便,規(guī)定了特殊的數(shù)字、材料和配置以便對本發(fā)明進行徹底的理解。然而,很顯然對一個經(jīng)驗豐富的人來說,即使不了解具體細(xì)節(jié),也可以使用本發(fā)明。在其它的例子中,為了使本發(fā)明清楚明了,忽略或簡化了眾所周知的特性。
其中的部分描述采用計算機系統(tǒng)完成的操作,使用如數(shù)據(jù)、指針、位、值、字符、字符串、數(shù)字和布爾操作符等術(shù)語,這與工作交接通用的方法是一致的。正如本領(lǐng)域經(jīng)驗豐富人士所熟知的,這些量采用可以通過計算機系統(tǒng)的機械和電學(xué)元件存儲、傳輸、組合或產(chǎn)生的電、磁或光信號形式;計算機系統(tǒng)包括可獨立使用的、附屬的或嵌入的一般用途和特殊用途的數(shù)據(jù)處理機、系統(tǒng)等等。
依次以最有利于理解本發(fā)明的方式用多個分立步驟來描述各種操作,但是,描述的次序不應(yīng)理解為這些操作是與順序(特別是它們表示的順序)有關(guān)的。
現(xiàn)在來看圖1,其中給出了本發(fā)明的概述。如圖所示,根據(jù)本發(fā)明,測量儀器112是web使能的,它構(gòu)成了web使能儀器102。102可以從用戶使用的、在遠(yuǎn)程客戶機104上執(zhí)行的瀏覽器120接收命令或信息以完成對測量儀器112的操作。這種操作的例子是監(jiān)視或控制操作,命令或信息是監(jiān)視、控制命令或使識別所用的監(jiān)視或控制操作更為容易的信息。正如將在下面詳細(xì)介紹的,作為響應(yīng),(測量儀器112)根據(jù)提供的命令或信息執(zhí)行操作。而且,如果操作的結(jié)果是可用的,將返回給使用遠(yuǎn)程客戶機上的瀏覽器120的用戶。返回的操作結(jié)果包含從測量儀器12得到的數(shù)據(jù)。
包括瀏覽器120的客戶機104代表了本領(lǐng)域中這些部件的一大類。例如,客戶機104可以是位于德克薩斯州Austin的Dell計算機公司出品的DIMENSION型桌面計算機,而瀏覽器120可以是加里福利亞州Netscape Communication of Mountain View的Navigator3.0。正如可以很容易地從以下的描述中看出,本發(fā)明可與基本的瀏覽器一起使用,而不需要額外的插件(除了將它們用于額外的功能)。
客戶機104通過通信鏈108和110以及通過網(wǎng)絡(luò)106與web使能測量儀器102相連。通信鏈108和110以及通信網(wǎng)絡(luò)106同樣代表了本領(lǐng)域中這些部件的一大類。例如,通信網(wǎng)絡(luò)106可以是局域網(wǎng)(LAN),例如由網(wǎng)絡(luò)集線器和電纜構(gòu)成的Ethernet網(wǎng)絡(luò);通信鏈108和110是LAN的一段。換句話說,通信網(wǎng)絡(luò)106可以是專用或虛擬專用廣域網(wǎng)(WAN),如由路由器、開關(guān)和電纜構(gòu)成的幀中繼網(wǎng)絡(luò);通信鏈108和110是WAN的存取線路。通信網(wǎng)絡(luò)106也可以是公共網(wǎng),如由與基干網(wǎng)互連的入網(wǎng)點(POP)提供者構(gòu)成的Internet網(wǎng);另外,也可以選擇公用電話交換網(wǎng)(PSTN),POP提供者可以通過網(wǎng)絡(luò)或撥號與通信鏈路108和110連接。
通過將web服務(wù)器116、腳本執(zhí)行器、一個或多個網(wǎng)頁118與測量儀器112相聯(lián)系,使測量儀器102為web使能。網(wǎng)頁118也包括一個或多個相關(guān)的腳本(沒有分開示出)。與至少一個網(wǎng)頁118相連的web服務(wù)器116使用戶能夠方便地通過常見的遠(yuǎn)程客戶計算機104提供對測量儀器112進行監(jiān)視、控制的命令或與監(jiān)視或控制操作相關(guān)的信息。與腳本執(zhí)行器114、網(wǎng)頁118(包括相關(guān)的腳本)相連的web服務(wù)器116可監(jiān)視、控制測量儀器112或提取對監(jiān)視、控制命令或信息的響應(yīng)數(shù)據(jù)。而且,部件114-118將測量儀器112對控制的響應(yīng)或提取出的數(shù)據(jù)返回到瀏覽器120,使用戶可以方便地使用。web服務(wù)器116和腳本執(zhí)行器114代表了這些部件在本領(lǐng)域中的一大類。例如web服務(wù)器116采用Quid Proquotmweb服務(wù)器,它是加里福利亞州Berkeley的Social Engineering公司出品的共享軟件;而腳本執(zhí)行器114為來自加里福利亞州Userland軟件公司的Frontier ScriptingTM。也可以使用其它的web服務(wù)器和腳本執(zhí)行器。包括與相關(guān)腳本的網(wǎng)頁118的內(nèi)容是與應(yīng)用有關(guān)的。在另一個實施例中,為了代替腳本執(zhí)行器和腳本,可采用其它高級語言(如JAVATM執(zhí)行環(huán)境和JAVA組件等)實現(xiàn)的等效方案。
圖5.a-5.b給出了網(wǎng)頁界面實施例的兩個屏幕實例。在第一個實例屏幕中,界面網(wǎng)頁550a是測量儀器(在此為示波器)面板的簡化形式。如圖,界面網(wǎng)頁550a包括給出測量數(shù)據(jù)圖形的顯示區(qū)502。此外,界面網(wǎng)頁550a還包括各種控制鍵504,使用戶可以方便地選擇不同的監(jiān)視或控制命令組,如與控制測量儀器縱向、橫向設(shè)置有關(guān)的命令等等。在第二個實例屏幕中,界面網(wǎng)頁550b提供額外的命令(即輸入?yún)^(qū)域),使用戶可以很方便地改變所選命令組的參數(shù)值。如圖,界面網(wǎng)頁550b也包括給出測量數(shù)據(jù)圖形的顯示區(qū)502。但不同于命令504,界面網(wǎng)頁550b包括輸入域506,使用戶可以方便地輸入各種與監(jiān)視或控制命令操作有關(guān)的參數(shù)值。這些輸入域可以輸入范圍大小、通道的位置和連接、觸發(fā)器電流和電壓的大小等值。在其中一個實施例中,選擇一個控制鍵504或輸入域506將執(zhí)行web服務(wù)器提供的腳本;如果存在用戶給定的參數(shù)值,腳本將連同這些參數(shù)一起執(zhí)行。
圖2給出了本發(fā)明一個實施例的、更為詳細(xì)的方法步驟。如圖所示,希望對測量儀器進行遠(yuǎn)程監(jiān)視或控制的用戶首先通過遠(yuǎn)程客戶計算機上的瀏覽器和與測量儀器相關(guān)的web服務(wù)器連接(步驟202)。作為對此連接的響應(yīng),相關(guān)的web服務(wù)器通過連接的瀏覽器向用戶提供一個界面網(wǎng)頁(步驟204)。然后,用戶通過選擇控制鍵或輸入域向測量儀器發(fā)送監(jiān)視、控制命令或與測量儀器的監(jiān)視或控制操作相關(guān)的的信息(步驟206)。在步驟208,監(jiān)視、控制命令或信息從瀏覽器送到相關(guān)的web服務(wù)器。作為接收到監(jiān)視、控制命令或信息的響應(yīng),web服務(wù)器將一個或多個腳本發(fā)送給腳本執(zhí)行器(步驟210)。在步驟212,腳本執(zhí)行器執(zhí)行將合適的命令傳給測量儀器的腳本。對于示波器而言,這些命令包括(但不限于)“自動設(shè)置”、“設(shè)置縱向范圍為特定值”、“設(shè)置橫向范圍為特定值”和“恢復(fù)顯示圖形的x、y值”。
在步驟214,測量儀器對腳本執(zhí)行器的監(jiān)視、控制命令、或提供的信息或所需的數(shù)據(jù)產(chǎn)生響應(yīng)。在步驟216,腳本執(zhí)行器將測量儀器的響應(yīng)或提取的數(shù)據(jù)傳給web服務(wù)器,以便傳給用戶。在步驟218,web服務(wù)器將測量儀器的響應(yīng)或提取出的數(shù)據(jù)傳給瀏覽器以供用戶使用。最后,在步驟220,瀏覽器隨響應(yīng)或收到的數(shù)據(jù)刷新網(wǎng)頁。
只要用戶與界面網(wǎng)頁交互作用,步驟208-220將重復(fù)使用。最后,當(dāng)用戶斷開與網(wǎng)頁的連接時,這一過程結(jié)束。
圖3.a-3.b給出了web使能的測量儀器102的兩種實施例。圖3.a中,測量儀器112和服務(wù)計算機130的外部連接構(gòu)成了web使能測量儀器102,其中服務(wù)計算機包括web服務(wù)器116、腳本執(zhí)行器114以及一個或多個網(wǎng)頁118。如前所述,網(wǎng)頁118包括一個或多個相關(guān)的腳本。對于所示的實施例,測量儀器112通過通信鏈路132與服務(wù)計算機130外部連接。在其中一個實施例中,通信鏈路132為常用的RS232界面。在另一個實施例中,通信鏈路132可以是常用的串行界面,或者是常用的并行界面。在其它的實施例中,通信鏈路132也可以是總線界面,如通用的串行總線或IEEE 1394高速串行總線。
在圖3.b中,通過將測量儀器112的采集子系統(tǒng)146和顯示子系統(tǒng)150與新提供的基于web的控制子系統(tǒng)160緊密相連得到web使能測量儀器102。也就是說,新提供的基于web的控制子系統(tǒng)160和常規(guī)子系統(tǒng)(即子系統(tǒng)142-150)一起構(gòu)成集成的web使能測量儀器102。垂直子系統(tǒng)142、觸發(fā)子系統(tǒng)144、采集子系統(tǒng)146、水平子系統(tǒng)148以及顯示子系統(tǒng)150代表了本領(lǐng)域中這些部件的一大類。每個組件142-150完成它的常規(guī)功能,而且已經(jīng)了解每個組件的構(gòu)造,因此,不對組件142-150做進一步的描述。
圖4.a-4.b分別從硬件和軟件的角度考察了基于web的控制子系統(tǒng)160的一個實施例實例。如圖4.a所示,對于給出的實施例,基于web的控制子系統(tǒng)160包括處理器402、非易失性存儲器404、存儲單元406、總線橋接408以及I/O接口410,相互之間通過內(nèi)部總線412相連??偩€橋接408也與采集子系統(tǒng)相連,以利于向采集子系統(tǒng)發(fā)送監(jiān)視、控制命令以及接收采集子系統(tǒng)的響應(yīng),而I/O接口410使從采集子系統(tǒng)接收圖形顯示數(shù)據(jù)變得容易。在其中一個實施例中,內(nèi)部總線412為外圍元件互連(PCI)總線,而總線408為PCI-PCI橋接。如圖4.b所示,非易失性存儲器404和存儲單元406用于存儲上述web服務(wù)器、腳本執(zhí)行器以及包含相關(guān)腳本的網(wǎng)頁的永久和工作時的復(fù)本。web服務(wù)器等永久性的復(fù)本可以在工廠或現(xiàn)場預(yù)載(如果web使能測量儀器102包含必要的輸入端或通信組件)。組件402-412代表了本領(lǐng)域中這些部件的一大類。402-412的每個組件完成它的常規(guī)功能,而且已經(jīng)了解它們的構(gòu)造,因此,不對組件402-412做進一步的描述。
表1-9給出了使用本發(fā)明的各種實例。表1-7構(gòu)成了一個腳本,分成幾個表只是為了能方便地引用該腳本的各個部分。表1-7是特別適合于為用戶產(chǎn)生“面板”網(wǎng)頁的腳本實例。對這一腳本實例,表1描述了各種相關(guān)的參數(shù),如客戶的IP地址、服務(wù)器名、服務(wù)器的TCP/IP端口等等。表2描述了與(儀器的)各種動作有關(guān)的邏輯,這些動作為特定用戶操作的響應(yīng)。表3描述了網(wǎng)頁所包括和顯示的各種命令“鍵”。表4和表5給出了兩個產(chǎn)生網(wǎng)頁輸入域枚舉和文本選擇的腳本實例。表6描述了相關(guān)的邏輯。最后,表7和表8給出了兩個向測量儀器提供監(jiān)視或控制命令的腳本實例。表7給出了查詢示波器電流設(shè)置的源代碼,而表8則給出了獲取電流測量數(shù)據(jù)的源代碼。這些表述的準(zhǔn)確含義并不重要,即使它們對本領(lǐng)域的技術(shù)人員而言是非常明顯的。腳本的實例僅僅是說明性的。準(zhǔn)確的表述是與應(yīng)用有關(guān)的,即依賴于測量儀器的種類、提供的最終用戶界面、對各種用戶動作反應(yīng)的性質(zhì)等等。這些和其它依賴于應(yīng)用的腳本的實現(xiàn)為本領(lǐng)域的技術(shù)人員所熟知。因此,對它們不做進一步的描述。
表1<pre listing-type="program-listing"><![CDATA[>on frontpanel(adrParams)<<可用參量[WebSTAR 1.2] <<pathArgs-stuff in the URL after a $ <<httpSearchArgs-stuff in the URL after a? <<usemame-已鑒別的用戶名 <<password-已鑒別的密碼 <<fromUser-遠(yuǎn)端用戶的http標(biāo)準(zhǔn)e-mail地址所不要求的 <<clientAddress-遠(yuǎn)端客戶機的主機IP地址和域名 <<serverName-該服務(wù)器的命名或IP <<serverPort-該服務(wù)器所用的TCP/IP端數(shù) <<scriptName-該腳本的URL命 <<contentType-post_args的MIME內(nèi)容 <<referer-參照該文檔的該網(wǎng)頁的URL <<userAgent-所用WWW客戶機軟件的命稱和版本 <<action-如果該腳本是一個動作(或CRI,ACRI),動作名 <<actionPath-到動作名CRI(該腳本)的Mac路徑 <<postArgs-stuff sent from forms,etc.when POST method is used <<method-GET,POST,etc.用于告知post_args是否有效 <<ciientIP-客戶機的IP地址<<fullRequest-由客戶機接收的整個HTTP <<connectionID-http連接的唯一ID <<argTable.xxx-分使用POST方法時形成數(shù)據(jù),這里xxx是域名]]></pre>
表2<pre listing-type="program-listing"><![CDATA[>local(htmltext=webServer.httpHeader 0)>on add(s) ?。緃tmltext=htmltext+s+cr>with adrParams^ >add(“<html>“) >add(“<head>“) ?。綼dd(<title>TekScope Front Panel</title>“) ?。綼dd (“</head>“) >add(“<body>“) ?。緄f defined(arg Table.Key) >with workspace >local >comandString=argTable.key >errorMessage=“” >add(“<P>Key“commandString+”<P>“) >commandString=“FPANELPRESS“+commandString >errorMessage=SendCommandNoOpen(commandString) >if(errorMessage==“”) >add(“(command executed without Frontier errors)<P>“) >else >add(“<P>(command returned error”+errorMessage+”)<P>“) >if defined(argTable.Turn) >with workspace >local >commandString=argTableTurn >l,numTurns >errorMessage=“” >add(“<P>Turns“+commandString+”<P>“) >commandString=“FPANELTURN“+commandString >bundle=Get number of turns >local >numLength,numStart >numStart=string.patternMatch(“,”,commandString)+1 >numLength=string.length(commandString)-numStart+1 >numTurns=short(string.mid(commandString,numStart,numLength))) >numTurns=abs(numTurns) >for l=1 to numTurns >errorMessage=SendCommandNoOpen(commandString) >if(errorMessage?。剑健啊? >break >if(errorMesage==“”) >add(“command executed without Frontier errors)<P>“) >else >add(“<P>(command returned error.“+errorMessage+”)<P>“) >add(“<P>(loop Index“+l+”;NumTurns““+numTurns+”)<P>“)]]></pre>
表3<pre listing-type="program-listing"><![CDATA[ ?。緒ith workspace >local >imageName >if(string.mid(imageName,1,3)l=“ERR”) >add(“<image src=\”scopeimages/”+imageName +“\”>“) >else >add(“<P>Error reading image<P>“) ?。綽undle,,Add form for keypad >on addKey(keyString) >add(“<INPUT TYPE=\”SUBMIT\” NAME=\”Key\”VALUE=\””+keyString+”\”>“) >on addTurn (turnString) >add(“<INPUT TYPE=\”SUBMIT\”NAME=\”Turn\”VALUE=\””+turnString+”\”>“) >add(“<FORM ACTION=\”http//128.181.40.171/tekscope.frontpanel.fcgi\”METHOD=POST>“) >add(“<INPUT TYPE=\”SUBMIT\” NAME=\”Refresh\”>“) >add(“<BR>“) >bundle,,bezel buttons,clear menu,and toggle >addKey(“BMenu1”) >addKey(“BMenu2”) >addKey(“BMenu3”) >addKey(“BMenu4”) >addKey(“ClearMenu”) >addKey(“Toggle”) >add(“<BR>”) >bundle,,Meter,Hold,Acquire,Meas,Cursors >addKey(“Meter”) >addKey(“RunStop”) >addKey(“Acquire”) >addKey(“MeasMenu”) >addKey(“Cursors”) >add(“<BR>”) >bundle,,Scope,AutoRange,Save/Recall,Display,Utility >addKey(“Scope”) >addKey(“AutoRange”) >addKey(“SRSetup”) >addKey(“Display”) >addKey(“Utility”) >add(“<BR>”) >bundle,,Ch1,Ch2,Math,RefA,RefB,WfmOff >addKey(“Ch1”) >addKey(“Ch2”) >addKey(“Math”) >addKey(“RefA“) >addKey(“RefB”) >addKey(“WfmOff”) >add(“<BR>“)>bundle,,Vert Menu,Horiz Menu,Trigger Menu,Mag,50% >addKey(“VertMenu”) >addKey(“HorzMenu”) >addKey(“Mag”) >addKey(“TrigMenu”) >addKey(“SetLevel”) >add(“<BR>”) ?。綽undle,,Knobs >bundle,,Positive turns >addTurn(“VertScale,+1”) >addTurn(“Vertpos,+25”) >addTurn(“HorzScale,+1”) >addTurn(“HorzPos,+25”) >addTurn(“TrigLevel,+25”) >addTurn(“GPKnob,+1”) >add(“<BR>“) >bundle,,Negitive turns >addTurn(“VertScale,-1”) >addTurn(“Vertpos,-25”) >addTurn(“HorzScale,-1”) >addTurn(“HorzPos,-25”) >addTurn(“TrigLevel,-25”) >addTurn(“GPKnob,-1”) >add(“<BR>“) ?。綼dd(“</FORM>“)>add(“</body>“)>add(“</html>“)>return(htmltext)]]></pre>表5<pre listing-type="program-listing"><![CDATA[>On GenerateSelectTag(theCommand,theName,theOptions) >local >theTag >theCurrentSetting >i >onadd(s) >theTag=theTag+s+char(13) >theCurrentSetting=workspace.QueryScopeSetting(theCommand) >add(“<SELECT NAME=\”=theName+“\” SIZE=1>“) >local >theOptionName >theOptionLabel >theOptionTag >for l=1 to sizeOf(theOptions) >theOptionName=theOptions(i)[1] >theOptionLabel=theOptions(i)[2] >theOptionTag=“<OPTION VALUE=\””+theOptionName+”\”” >if(theOptionName==theCurrentSetting) >theOptionTag=theOptionTag+“SELECTED” >theOptionTag=theOptionTag+“>“+theOptionLabel>add(theOptionTag) ?。綼dd(“</SELECT>“) ?。緍eturn theTag>GenerateSelectTag (“CH!SCA,“Ch1Scale”,{{“5.0E-3”,“5mV”}.\ >{“1.0E-2”,“10mV”},{“2.0E-2”,“20mV”},{“5.0E-2”,“50mV”},\ >{“1.0E-1”,“100mV”},{“2.0E-1”,“200mV”},{“5.0E-1”,“500mV”},\ >{“1.0E-0”,“1V”},{“2.0E-0”,“2V”},{“5.0E-0”,“5V”},\ >{“1.0E1”,“10V”},{“2.0E1”,“20V”},{“5.0E1”,“50V”},\ >})<<aaaRecordTestScript(ACQMODE”,{{“SAM”,“SAMPLE”},\ <<{“PEAK”,“Peak Detect”},{“AVE”,“Average”},{“ENV,“Envelope”}})]]></pre>表6<pre listing-type="program-listing"><![CDATA[>On GenerateTextTag(theCommand,theName,theSize) >local >theTag >theCurrentSetting >i >theCurrentSetting=workspace.QueryScopeSetting(theCommand) >theTag=“<INPUT TYPE=TEXT SIZE=“+theSize+”Name=\”+theName+“\”VALUE=“+\ >theCurrentSetting+“>” >return theTag>msg(GenerateTextTag(“TRIGGERMAINLEVEL”,“TrigLevel”,8))]]></pre>表7<pre listing-type="program-listing"><![CDATA[>On QueryScopeSetting(settingToQuery) >local >queryResponse >errorMsg >if string.nthChar(settingToQuery,string.length(settingToQuery))!=“?” >settingToQuery=settingToQuery+“?” >with system.extensions.SerialPortCommands,workspace >try >sendStringSiowly(settingToQuery+ScopeEOL) >queryResponse=workspace.ReadSerialLine(ScopeSerialPort,180)(settingToQuery+ScopeEOL) >return queryResponse >else >errorMsg=“error+tryError+”Querying“+settingToQuery+”;Port“+ScopeSerialPort <<msg(errorMsg) >scriptError(tryError)] >return(errorMsg)>dialog.Alert(“Acquire mode“+QueryScopeSetting(“ACUIREMODE”))]]></pre>表8<pre listing-type="program-listing"><![CDATA[>on GrabNewScreenForFCGI() >with workspace,clip2gif >local>gifName,gifPath ?。綽undle=Make sure ODB variables are defined >if not(defined(workspace.ScopeGIFFolder)) >workspace.ScopeGIFFolder=“Macintosh HDMikeGaulandQuid ProQuoscopeimages” >if not(file exists(workspace.ScopeGIFFolder)) ?。緁ile.newFolder(workspace.ScopeGIFFolder) >if not(defined(workspace.ScopeGIFNumber)) >workspace.ScopeGIFNumber=O ?。緂ifName=“screen”+ScopeGIFNumber+“-gif” >gifPath=ScopeGIFFolder+gifName ?。維copeGIFNumber=ScopeGIFNumber+1 >errorMessage=GrabScreenNoOpen(“RAM Diskscope.tif”) ?。緄f(errorMessage==“”) >app.start(“clip2gif”) ?。綼pp.bringToFront() ?。迹約ave(“RAM Diskscope.tif”,saveln”gifPath”,asgif) ?。緎ave (RAM Diskscope.tif”,saveln”RAM Diskscope.gif”,asgif,depth1) ?。綟rontier.bringToFront() ?。緇ocal ?。緂ifData ?。緁ile.open(“RAM Diskscope.tif”) ?。緂ifData=file.read(“RAM Diskscope.gif”,infinity) ?。緂ifData[19]=Oxff >file.close(“RAM Diskscope.gif”) ?。緂ifData[19]=Oxff >file.new(gifPath) ?。緁ile.setCreator(gifPath,’c2gf’) ?。緁ile.setType(gifPath,’GlFff’) ?。緁ile.write(gifPath,gifData) ?。緁ile.setCreator(gifPath,’c2gf’) >file.setCreator(gifPath,’c2gf’) ?。緁ile.close(gifPath) ?。緍eturn gifName >else ?。緍eturn“ERR”+errorMessage>GrabNewScreenForFCGI()]]></pre>
一般情況下,本領(lǐng)域的技術(shù)人員將從上述的通過web使能測量儀器的新方法中受益。用戶可以方便地通過常用的工具(如在普通客戶計算機上運行的瀏覽器)遠(yuǎn)程監(jiān)視或控制測量儀器,這是一種對用戶非常友好的方法。而且,上述web使能的方法可以通過大量的“現(xiàn)成的”組件來實現(xiàn),而不必求助于昂貴而復(fù)雜的專用界面和機械設(shè)備。
本領(lǐng)域的技術(shù)人員也將認(rèn)識到本發(fā)明不受所述的細(xì)節(jié)與實施例的限制。相反,只要在所附權(quán)利要求的精神和范圍之內(nèi),本發(fā)明可以進行修改和改變。因此,以上描述僅是說明性的,而不是對本發(fā)明的限制。
至此,描述了對測量儀器進行遠(yuǎn)程監(jiān)視或控制的方法和儀器。
權(quán)利要求
1.在服務(wù)計算機中,機器實現(xiàn)的方法包括以下步驟a)由web服務(wù)器向執(zhí)行器提供既在服務(wù)計算機上執(zhí)行由web服務(wù)器從遠(yuǎn)程客戶計算機上的瀏覽器接收到的、相應(yīng)于在測量儀器上完成的一個操作命令或信息,并且b)根據(jù)web服務(wù)器接收的命令或信息,由執(zhí)行器完成對測量儀器的操作。
2.符合權(quán)利要求1的方法中提供的步驟包括由web服務(wù)器接收識別一組來自遠(yuǎn)程客戶計算機瀏覽器的可執(zhí)行指令的信息以完成對測量儀器的操作,以及由WEB服務(wù)器向執(zhí)行器提供的識別出的可執(zhí)行指令;以及完成的步驟包括由執(zhí)行器執(zhí)行識別出的可執(zhí)行指令集。
3.符合權(quán)利要求1的方法中,其中完成的步驟包括將控制或得到命令的數(shù)據(jù)由服務(wù)計算機的執(zhí)行器轉(zhuǎn)給測量儀器。
4.符合權(quán)利要求1的方法中,其中方法還包括以下步驟c)將完成的操作結(jié)果由服務(wù)計算機的web服務(wù)器轉(zhuǎn)給遠(yuǎn)程客戶計算機的瀏覽器
5.符合權(quán)利要求4的方法中,其中轉(zhuǎn)移的步驟還包括由執(zhí)行器接收測量儀器的響應(yīng)或得到的數(shù)據(jù),并由執(zhí)行器將接收的響應(yīng)或得到的數(shù)據(jù)提供給web服務(wù)器。
6.在測量儀器中,方法包括以下步驟a)由基于web的控制子系統(tǒng)向采集子系統(tǒng)提供控制或數(shù)據(jù)取得命令,測量儀器的這兩個子系統(tǒng)都響應(yīng)由基于web的控制子系統(tǒng)從遠(yuǎn)程客戶計算機上的瀏覽器接收的命令或信息以完成對測量儀器的操作;而且b)由采集子系統(tǒng)根據(jù)提供的控制或數(shù)據(jù)取得命令對測量儀器進行操作。
7.符合權(quán)利要求6的方法中,其中構(gòu)成的方法包括由基于web的控制子系統(tǒng)的web服務(wù)器從遠(yuǎn)程客戶計算機上的瀏覽器接收識別一組指令的信息以完成操作,由web服務(wù)器向基于web的控制子系統(tǒng)的執(zhí)行器提供接收到的識別信息,并且由執(zhí)行器執(zhí)行識別出的指令集,這將導(dǎo)致向采集子系統(tǒng)提供控制或數(shù)據(jù)取得命令。
8.符合權(quán)利要求6的方法中,其中方法還包括以下步驟c)由基于WEB的控制子系統(tǒng)向遠(yuǎn)程客戶計算機的瀏覽器提供操作的結(jié)果
9.符合權(quán)利要求8的方法中,其中構(gòu)成的方法包括由測量儀器基于web的控制子系統(tǒng)的執(zhí)行器接收從測量儀器采集子系統(tǒng)得到的響應(yīng)或數(shù).據(jù),由執(zhí)行器向基于web的控制子系統(tǒng)的web服務(wù)器提供接收到的響應(yīng)或得到的數(shù)據(jù),并由web服務(wù)器將接收到的響應(yīng)或得到的數(shù)據(jù)轉(zhuǎn)給遠(yuǎn)程客戶計算機的瀏覽器。
10.服務(wù)計算機包括用于分別存放實現(xiàn)web服務(wù)器和執(zhí)行器的第一和第二類編程指令的存儲介質(zhì),執(zhí)行時,使服務(wù)計算機可以從遠(yuǎn)程客戶計算機的瀏覽器接收命令或信息以完成對測量儀器的操作,可使服務(wù)計算機根據(jù)接收到的命令或信息對測量儀器進行操作,并將可應(yīng)用的操作結(jié)果轉(zhuǎn)給遠(yuǎn)程客戶計算機上的瀏覽器;并且b)執(zhí)行第一和第二類編程指令的、與存儲介質(zhì)相連的處理器
11.符合權(quán)利要求10的服務(wù)計算機,其中,當(dāng)執(zhí)行時,實現(xiàn)web服務(wù)器的第一類編程指令可使服務(wù)計算機接收對應(yīng)于執(zhí)行的第三類編程指令的信息完成從遠(yuǎn)程客戶計算機的瀏覽器上對測量儀器的操作,并將接收到的信息提供給執(zhí)行器。
12.符合權(quán)利要求10的服務(wù)計算機,其中,當(dāng)執(zhí)行時,實現(xiàn)執(zhí)行器的第二類編程指令可使服務(wù)計算機執(zhí)行第三類編程指令以完成對測量儀器的操作,包括將控制命令傳給測量儀器。
13.符合權(quán)利要求10的服務(wù)計算機,其中,當(dāng)執(zhí)行時,實現(xiàn)執(zhí)行器的第二類編程指令可使服務(wù)計算機執(zhí)行第三類編程指令以完成對測量儀器的操作,包括將數(shù)據(jù)取得命令傳給測量儀器、接收由測量儀器得到的數(shù)據(jù),并將接收到的數(shù)據(jù)提供給web服務(wù)器以便轉(zhuǎn)給遠(yuǎn)程客戶計算機的瀏覽器。
14.符合權(quán)利要求10的服務(wù)計算機,其中的服務(wù)計算機還包括第一和第二個將遠(yuǎn)程客戶計算機、測量儀器分別與服務(wù)計算機相連的通信界面。
15.測量儀器包括用于采集測量數(shù)據(jù)的采集子系統(tǒng);以及與采集子系統(tǒng)相連的基于web的控制子系統(tǒng),用于接收對應(yīng)于在遠(yuǎn)程客戶計算機的瀏覽器上執(zhí)行的命令或信息,并使采集子系統(tǒng)完成相應(yīng)于接收到的命令或信息的操作。
16.符合權(quán)利要求15的測量儀器,其中基于web的控制子系統(tǒng)包括存放實現(xiàn)web服務(wù)器的第一類編程指令的存儲介質(zhì),在執(zhí)行時,使基于web的控制子系統(tǒng)從遠(yuǎn)程客戶計算機的瀏覽器接收對應(yīng)于第二類編程指令的信息,以使操作由采集子系統(tǒng)完成,并且將可應(yīng)用的采集子系統(tǒng)響應(yīng)返回到遠(yuǎn)程客戶計算機的瀏覽器;以及用于執(zhí)行第一類編程指令的、與存儲介質(zhì)相連的處理器。
17.符合權(quán)利要求16的測量儀器,其中轉(zhuǎn)送的采集子系統(tǒng)響應(yīng)包括從采集子系統(tǒng)得到的數(shù)據(jù)。
18.符合權(quán)利要求15的測量儀器,其中基于web的控制子系統(tǒng)包括存放實現(xiàn)執(zhí)行器的第一類編程指令的存儲介質(zhì),在執(zhí)行時,使基于web的控制子系統(tǒng)執(zhí)行第二類編程指令的信息,使采集子系統(tǒng)完成對測量儀器的操作,并且將可應(yīng)用的采集子系統(tǒng)響應(yīng)返回到遠(yuǎn)程客戶計算機的瀏覽器;以及用于執(zhí)行第一類編程指令的、與存儲介質(zhì)相連的處理器。
19.符合權(quán)利要求18的測量儀器,其中的存儲介質(zhì)還存放第二類編程指令,而且處理器也可用于執(zhí)行第二類編程指令。
20.符合權(quán)利要求18的測量儀器,其中,在執(zhí)行時,第二類編程指令使數(shù)據(jù)取得命令的控制由基于web的控制子系統(tǒng)提供給采集子系統(tǒng)。
全文摘要
當(dāng)測量儀器可以接收從使用遠(yuǎn)程客戶計算機上的瀏覽器的用戶發(fā)出的指令去完成對測量儀器的操作時,它是web使能的。相應(yīng)地,根據(jù)提供的命令或信息完成操作。可應(yīng)用的操作結(jié)果返回給使用遠(yuǎn)程客戶計算機上的瀏覽器的用戶。這一操作可能是大量監(jiān)視或控制操作中的一個,命令或信息有助于識別出所需的監(jiān)視或控制操作。操作結(jié)果包括從測量儀器得到的數(shù)據(jù)。
文檔編號H04L12/24GK1260542SQ9911051
公開日2000年7月19日 申請日期1999年7月19日 優(yōu)先權(quán)日1998年7月17日
發(fā)明者M·A·戈蘭德 申請人:特克特朗尼克公司