專(zhuān)利名稱(chēng):用于在多路轉(zhuǎn)換器網(wǎng)絡(luò)中優(yōu)化重復(fù)通信的方法與裝置的制作方法
技術(shù)領(lǐng)域:
總體上講,本發(fā)明涉及一種系統(tǒng),這種系統(tǒng)擁有主機(jī)控制器,該主機(jī)控制器通過(guò)多路轉(zhuǎn)換器網(wǎng)絡(luò)與一個(gè)或多個(gè)現(xiàn)場(chǎng)儀器設(shè)備例如閥門(mén)或傳感器進(jìn)行通信,更具體地講,本發(fā)明涉及一種用于管理和優(yōu)化通過(guò)多路轉(zhuǎn)換器進(jìn)行通信的方法與裝置。
背景技術(shù):
大型過(guò)程,例如化工、石油、以及其它制造和提煉過(guò)程,包括眾多的現(xiàn)場(chǎng)設(shè)備,這些現(xiàn)場(chǎng)設(shè)備放置在不同的位置,以測(cè)量和控制過(guò)程的參數(shù),從而影響對(duì)過(guò)程的控制。相類(lèi)似,在這樣的工業(yè)過(guò)程中,可以把一系列閥門(mén)、傳感器或其它現(xiàn)場(chǎng)儀器或設(shè)備放置在整個(gè)過(guò)程中,其中的每一現(xiàn)場(chǎng)儀器或設(shè)備可能要求周期性的診斷操作、配置和/或校準(zhǔn)。例如,這些現(xiàn)場(chǎng)設(shè)備可以為傳感器,例如溫度、壓力、以及流速傳感器,以及控制元件,例如閥門(mén)和轉(zhuǎn)換器。歷史上,在這樣的工業(yè)過(guò)程中,過(guò)程控制、診斷、配置、和/或校準(zhǔn)操作依賴(lài)于用于讀取電平和壓力量規(guī)、轉(zhuǎn)動(dòng)閥門(mén)輪等的手工操作。最終,局部氣動(dòng)控制的使用變得更為流行,其中,把局部氣動(dòng)控制器、傳送器、以及閥門(mén)定位器放置在過(guò)程工廠(chǎng)中的不同位置,以影響對(duì)某些工廠(chǎng)位置的控制。隨著20世紀(jì)70年代基于微處理器的分布式控制系統(tǒng)(DCS)的出現(xiàn),在過(guò)程控制產(chǎn)業(yè)中,分布式電子過(guò)程控制開(kāi)始流行起來(lái)。
如人們所知,DCS包括模擬或數(shù)字計(jì)算機(jī),例如可編程邏輯控制器,這一模擬或數(shù)字計(jì)算機(jī)連接于位于整個(gè)過(guò)程的眾多的電子監(jiān)視和控制設(shè)備,例如電子傳感器、傳送器、電流到壓力的變換器、閥門(mén)定位器等。DCS計(jì)算機(jī)存儲(chǔ)并實(shí)現(xiàn)集中化、而且通常十分復(fù)雜的控制方案,以影響過(guò)程中設(shè)備的測(cè)量與控制,從而根據(jù)某一總體控制方案控制過(guò)程參數(shù)。也把同樣的基本系統(tǒng)用于以上所提到的診斷、配置、以及校準(zhǔn)操作。
在這樣的系統(tǒng)中,主機(jī)控制器在雙線(xiàn)通信鏈路上向變換器或定位器或任何其它可控設(shè)備或儀器提供了4~20毫安(mA)的可變DC控制電流信號(hào)??刂齐娏麟娖脚c可變DC控制電流信號(hào)的強(qiáng)度成比例地改變可控設(shè)備的狀態(tài)。例如,閥門(mén)定位器可以響應(yīng)4mA的控制電流完全打開(kāi)閥門(mén),以及響應(yīng)20mA的控制電流完全關(guān)閉閥門(mén)。
除了響應(yīng)可變控制信號(hào)外,電流到壓力變換器、閥門(mén)定位器、或其它現(xiàn)場(chǎng)儀器或設(shè)備還擁有可變參數(shù),可以對(duì)這些可變參數(shù)進(jìn)行調(diào)整,以控制這樣的設(shè)備的操作特性。以前,均手工地調(diào)整這些設(shè)備或過(guò)程儀器。然而,隨著能夠雙向通信的所謂“智能”設(shè)備的出現(xiàn),從遠(yuǎn)離設(shè)備或現(xiàn)場(chǎng)儀器的位置自動(dòng)地進(jìn)行必要的調(diào)整、讀取等已成為可能。而且,還能夠遠(yuǎn)程進(jìn)行診斷測(cè)試和儀器監(jiān)視。然而,必須提供一種用于把通信信號(hào)從通信站點(diǎn)傳輸?shù)浆F(xiàn)場(chǎng)儀器或其它設(shè)備的機(jī)制,以實(shí)現(xiàn)調(diào)整和/或現(xiàn)場(chǎng)測(cè)試的機(jī)制。
出于多種原因,不可能安裝與把通信站點(diǎn)與現(xiàn)場(chǎng)儀器互連在一起的雙線(xiàn)控制回路相分離和相獨(dú)立的通信網(wǎng)絡(luò)。因此,人們希望在雙線(xiàn)控制回路上隨4~20mA的控制信號(hào)一起傳輸通信信號(hào),以致于不需要額外的導(dǎo)線(xiàn)和/或獨(dú)立的通信系統(tǒng)。因此,把調(diào)制的數(shù)字通信信號(hào)疊加在用于控制現(xiàn)場(chǎng)儀器的4~20mA的DC模擬控制信號(hào)上,以允許現(xiàn)場(chǎng)儀器和主機(jī)控制器之間的數(shù)據(jù)比特流的串行傳送。
在這樣的系統(tǒng)中,主機(jī)控制器經(jīng)由多路轉(zhuǎn)換器與一個(gè)或多個(gè)現(xiàn)場(chǎng)儀器或設(shè)備進(jìn)行通信。通常,這種系統(tǒng)將利用多個(gè)可用的標(biāo)準(zhǔn)、開(kāi)放通信協(xié)議中的任何一種協(xié)議,例如,這些協(xié)議包括HART、PROFIBUS、WORLDFIP、Device-Net、以及CAN協(xié)議,它們使由不同制造商所制造的現(xiàn)場(chǎng)設(shè)備能夠一起用于同一通信網(wǎng)絡(luò)。事實(shí)上,可以把符合這些協(xié)議中的一種協(xié)議的任何設(shè)備用于一個(gè)過(guò)程,以與DCS控制器或其它支持該協(xié)議的控制器進(jìn)行通信,和/或由這些控制器加以控制,甚至是現(xiàn)場(chǎng)設(shè)備由該DCS控制器制造商之外的不同的制造商加以制造。
如人們所知,主機(jī)控制器和多路轉(zhuǎn)換器之間的通信是相當(dāng)快的,而現(xiàn)場(chǎng)儀器或設(shè)備之間的通信相當(dāng)慢。出于多種原因,主機(jī)控制器希望知道經(jīng)由多路轉(zhuǎn)換器已經(jīng)發(fā)送給現(xiàn)場(chǎng)儀器或設(shè)備的消息的狀態(tài)。然而,針對(duì)發(fā)送給現(xiàn)場(chǎng)儀器或設(shè)備的消息的狀態(tài)反復(fù)地與多路轉(zhuǎn)換器進(jìn)行通信,妨礙了必須通過(guò)多路轉(zhuǎn)換器網(wǎng)絡(luò)加以發(fā)送的其它通信的性能。
圖1是擁有主機(jī)控制器、HART多路轉(zhuǎn)換器、以及HART現(xiàn)場(chǎng)儀器設(shè)備的系統(tǒng)的示意圖;圖2說(shuō)明了消息周轉(zhuǎn)(trunaround)時(shí)間及其與發(fā)送和接收消息所用時(shí)間之間的關(guān)系;圖3是一種圖解表示,說(shuō)明了根據(jù)對(duì)一組消息中三條可能消息的估計(jì)一個(gè)時(shí)段寬度(bracket width)的建立;圖4是時(shí)間線(xiàn),說(shuō)明了從主機(jī)控制器的消息發(fā)送以及一系列周期取樣,或在一段長(zhǎng)延遲周期期滿(mǎn)之后開(kāi)始的重新傳輸,其中,根據(jù)一個(gè)時(shí)段寬度時(shí)間周期,在時(shí)間上對(duì)重新傳輸加以間隔;圖5是類(lèi)似于圖4的時(shí)間線(xiàn),但說(shuō)明的是延長(zhǎng)了的長(zhǎng)延遲周期,從而能夠在第二次重新傳輸之后從多路轉(zhuǎn)換器的緩沖器接收消息;圖6說(shuō)明了一旦長(zhǎng)延遲時(shí)間周期已達(dá)到優(yōu)化適合狀態(tài)之后能夠?qū)崿F(xiàn)的可能的優(yōu)化方案。
圖7是類(lèi)似于圖4和5的時(shí)間線(xiàn),但說(shuō)明的是在達(dá)到失效點(diǎn)之前可以如何調(diào)整長(zhǎng)延遲時(shí)間周期;圖8說(shuō)明了前進(jìn)到失效點(diǎn)的長(zhǎng)延遲優(yōu)化周期;以及圖9~圖11為可以由圖1的主機(jī)控制器加以實(shí)現(xiàn)的優(yōu)化程序的流程圖。
具體實(shí)施例方式
此處所描述的實(shí)施例不旨在全面描述本發(fā)明或者把本發(fā)明的范圍限定在所公開(kāi)的精確形式。而以下所描述的實(shí)施例,僅僅是為了更好地解釋本發(fā)明的原理,并旨在使本領(lǐng)域中的其他熟練技術(shù)人員能夠理解本發(fā)明的原理。
現(xiàn)在參照?qǐng)D1以及圖9~11。這些圖中示出了主機(jī)系統(tǒng)10,主機(jī)系統(tǒng)10包括主機(jī)控制器12、多路轉(zhuǎn)換器14、以及現(xiàn)場(chǎng)儀器或其它設(shè)備,以下將現(xiàn)場(chǎng)儀器或其它設(shè)備統(tǒng)稱(chēng)為設(shè)備16。主機(jī)控制器12通過(guò)通信系統(tǒng)18可操作地與設(shè)備16進(jìn)行通信。通信系統(tǒng)18包括雙線(xiàn)控制回路20,雙線(xiàn)控制回路20擁有在主機(jī)控制器12和多路轉(zhuǎn)換器14之間延伸的第一導(dǎo)線(xiàn)22和第二導(dǎo)線(xiàn)24。也可以在主機(jī)控制器12和多路轉(zhuǎn)換器14之間提供其它人們所熟悉的通信配置。通信系統(tǒng)18還包括雙線(xiàn)控制回路26,雙線(xiàn)控制回路26擁有在多路轉(zhuǎn)換器14和設(shè)備16之間延伸的第一導(dǎo)線(xiàn)28和第二導(dǎo)線(xiàn)30。在所公開(kāi)的這一例子中,沿控制回路20的主機(jī)控制器12和多路轉(zhuǎn)換器14之間的通信明顯快于沿雙線(xiàn)控制回路26的多路轉(zhuǎn)換器14和設(shè)備16之間的通信。更具體地講,雙線(xiàn)控制回路20可以支持9600、19200或38400波特范圍內(nèi)的通信,而沿雙線(xiàn)控制回路26的通信可被限制在例如大約1200波特左右。也可以考慮其它的通信速率。顯然,雙線(xiàn)控制回路26利用了與設(shè)備16相鏈接的雙線(xiàn)鏈路上的4~20mA的可變DC控制電流信號(hào)。盡管只示出了一個(gè)單一的設(shè)備16,但應(yīng)該認(rèn)識(shí)到,主機(jī)系統(tǒng)10還可以包括附加的設(shè)備(例如設(shè)備16a,16b,16c,...,16n(圖1)。
對(duì)主機(jī)控制器12進(jìn)行配置,使其能夠運(yùn)行主機(jī)軟件32上。對(duì)主機(jī)軟件32進(jìn)行配置,使其能夠把消息34發(fā)送到通信系統(tǒng)18中,其中消息34包括嵌入消息36。顯然,嵌入消息36最終旨在用于與設(shè)備16的通信。
在主機(jī)控制器12把消息34發(fā)送至多路轉(zhuǎn)換器14之后,多路轉(zhuǎn)換器14把嵌入消息36從消息34剝離,并沿控制回路26把嵌入消息36發(fā)送至設(shè)備16。在優(yōu)選的形式中,將對(duì)主機(jī)系統(tǒng)10進(jìn)行配置,使其能夠根據(jù)HighwayAddressable Remote Transducer(高速公路可尋址遠(yuǎn)程轉(zhuǎn)發(fā)器)(以下將其稱(chēng)為“HART”)標(biāo)準(zhǔn)化協(xié)議操作。也可以使用其它的通信協(xié)議。
作為HART規(guī)范的一部分,多路轉(zhuǎn)換器14必須響應(yīng)從主機(jī)控制器12所接收的消息34,因此,在多路轉(zhuǎn)換器14從主機(jī)控制器12接收到消息34之后,多路轉(zhuǎn)換器14將把答復(fù)38發(fā)送至主機(jī)控制器。根據(jù)所公開(kāi)的這一例子,答復(fù)38將表示主機(jī)控制器12多路轉(zhuǎn)換器14已接收到消息34,并表示多路轉(zhuǎn)換器14已把嵌入消息36發(fā)送至設(shè)備16。
如以上所描述的,主機(jī)控制器12和多路轉(zhuǎn)換器14之間的通信速率通常明顯快于多路轉(zhuǎn)換器14和設(shè)備16之間的通信速率。因此,主機(jī)控制器12可在設(shè)備16接收嵌入消息36之前從多路轉(zhuǎn)換器14接收答復(fù)38。另外,由于雙線(xiàn)控制回路26上的通信速率相對(duì)慢,所以在把響應(yīng)40從設(shè)備16發(fā)送到多路轉(zhuǎn)換器14之前,將逝去相當(dāng)長(zhǎng)的一段時(shí)間。應(yīng)該認(rèn)識(shí)到,在設(shè)備16已接收消息36、并處理了消息36之后,將發(fā)送設(shè)備16發(fā)送的響應(yīng)40發(fā)送到多路轉(zhuǎn)換器14。
最好是,多路轉(zhuǎn)換器14包括從設(shè)備16接收響應(yīng)40并將其加以保存的緩沖器42。最好是,將把響應(yīng)40存儲(chǔ)在緩沖器42中,直至檢索到響應(yīng)40或把響應(yīng)40傳送到主機(jī)控制器12。也可以考慮其它用于接收、存儲(chǔ)響應(yīng)40以及把響應(yīng)40傳送到主機(jī)控制器12的機(jī)制。應(yīng)該認(rèn)識(shí)到,在某些情況下,來(lái)自主機(jī)控制器12的另一條以及不同的消息可以注銷(xiāo)存儲(chǔ)在緩沖器42中的響應(yīng)40。
一旦在多路轉(zhuǎn)換器14和主機(jī)控制器12之間傳送了答復(fù)38,則主機(jī)控制器12得以釋放,以在任何時(shí)間重新發(fā)送消息34。然而,如果試圖立即重試,則實(shí)際上保證了來(lái)自設(shè)備16的響應(yīng)40尚未被多路轉(zhuǎn)換器14接收,因?yàn)樵O(shè)備16和多路轉(zhuǎn)換器14之間的雙線(xiàn)控制回路26相對(duì)慢。因此,主機(jī)控制器12,由主機(jī)軟件32加以指揮,將不重試或重新發(fā)送消息34,直至一段預(yù)先確定的和固定的時(shí)間周期期滿(mǎn)之后。把消息34的最初發(fā)送和消息34的第一次重新發(fā)送44之間的這一第一固定時(shí)間周期稱(chēng)為“長(zhǎng)延遲”46。當(dāng)長(zhǎng)延遲46期滿(mǎn)時(shí),主機(jī)控制器12將嘗試消息34的第一次重新發(fā)送44a,以從多路轉(zhuǎn)換器14緩沖器42檢索響應(yīng)40。然而,如果多路轉(zhuǎn)換器14尚未從設(shè)備16接收到響應(yīng)40,則多路轉(zhuǎn)換器14可以把消息48發(fā)送到主機(jī)控制器12,以表示多路轉(zhuǎn)換器14已把嵌入消息36發(fā)送到設(shè)備16,并表示多路轉(zhuǎn)換器14仍在等待接收來(lái)自設(shè)備16的響應(yīng)40。應(yīng)該認(rèn)識(shí)到,在每次重新發(fā)送44(44a,44b,44c等)之后,把消息48發(fā)送到主機(jī)控制器12,直到響應(yīng)40出現(xiàn)在緩沖器42中。
在主機(jī)控制器12已接收了消息48之后,主機(jī)控制器12將進(jìn)入另一個(gè)等待周期。然而,由于預(yù)計(jì)響應(yīng)40相對(duì)迅速,所以相對(duì)先前的長(zhǎng)延遲46,這一附加的等待周期很短,因此由稱(chēng)為短延遲51的較短的時(shí)間周期表示這一相繼的等待周期。當(dāng)短延遲51期滿(mǎn)時(shí),主機(jī)控制器12將嘗試消息34的第二次重新發(fā)送44b。主機(jī)控制器12由主機(jī)軟件32加以指揮,將進(jìn)入等待時(shí)段寬度50(例如50a,50b,50c,...50n)的進(jìn)行中的周期,后面跟隨消息34的重新發(fā)送44,直至從多路轉(zhuǎn)換器14接收到有效的響應(yīng)40。作為選擇,當(dāng)多路轉(zhuǎn)換器14從設(shè)備16接收到錯(cuò)誤代碼時(shí),重新發(fā)送44a,44b,44c,...,44n可以停止。換一種說(shuō)法,主機(jī)控制器12可以根據(jù)消息的大小以時(shí)段寬度50保持一致的方式改變短延遲51的持續(xù)時(shí)間。作為另一種選擇,當(dāng)預(yù)先確定的“時(shí)間到周期”期滿(mǎn)時(shí),可以中斷進(jìn)行中的周期,因此,主機(jī)控制器12將啟動(dòng)多個(gè)重新發(fā)送44a,44b,44c,...,44n,其中在長(zhǎng)延遲46期滿(mǎn)之后,進(jìn)行第一次重新發(fā)送。在第一時(shí)段寬度50a期滿(mǎn)之后,將進(jìn)行第二次重新發(fā)送44b,并且如果需要的話(huà),當(dāng)相繼的時(shí)段寬度50b,50c,50d,...,50n期滿(mǎn)時(shí),進(jìn)行所有相繼的重新發(fā)送。
針對(duì)長(zhǎng)延遲46和短延遲51的固定時(shí)間周期的使用,在某些應(yīng)用中,可以獲得令人滿(mǎn)意的通信性能,而且還可以期望在吞吐能力和效率方面獲得某種程度的進(jìn)一步的改進(jìn)。然而,在固定周期延遲的使用中,可能存在著某些缺點(diǎn)。例如,為設(shè)備16設(shè)計(jì)的消息,可以包括消息號(hào)和專(zhuān)門(mén)針對(duì)該消息的數(shù)據(jù)。另外,還可能會(huì)存在超過(guò)數(shù)十條的不同的唯一消息(例如,34a,34b,34c,...,34n),而且包含在每一唯一消息中的數(shù)據(jù)量是變化的。另外,每一唯一的消息可以擁有來(lái)自設(shè)備16的不同的適當(dāng)響應(yīng)。有時(shí),對(duì)于同一條唯一的消息,響應(yīng)中所接收的數(shù)據(jù)在長(zhǎng)度方面可以不同。這些消息的大小(例如正被發(fā)送的消息的大小以及響應(yīng)的大小)決定了消息的整個(gè)傳輸時(shí)間,消息的整個(gè)傳輸時(shí)間占使用設(shè)備16(例如從設(shè)備16接收響應(yīng))完成消息所占時(shí)間的90%以上。
由于所發(fā)送和所接收的消息的大小方面存在著較大的變化,所以,就通信性能而言,長(zhǎng)延遲46的固定時(shí)間周期可能導(dǎo)致某些應(yīng)用中的低效率。如果長(zhǎng)延遲46過(guò)長(zhǎng),則響應(yīng)40可能處于多路轉(zhuǎn)換器14的緩沖器42中,以人們不希望的長(zhǎng)時(shí)間等待被檢索,從而不能有效利用時(shí)間周期。另一方面,如果長(zhǎng)延遲46過(guò)短,則為檢索響應(yīng)40,可能要求主機(jī)控制器12和多路轉(zhuǎn)換器14之間的不適當(dāng)次數(shù)的往返通信。
另外,人們知道,設(shè)備與設(shè)備之間以及不同的多路轉(zhuǎn)換器之間在硬件性能方面會(huì)存在著細(xì)微的變化。長(zhǎng)延遲46的固定時(shí)間周期沒(méi)有考慮這些性能方面的細(xì)微變化,使用長(zhǎng)延遲46的固定時(shí)間周期,也沒(méi)有考慮到主機(jī)系統(tǒng)10就這些性能變化所要進(jìn)行的調(diào)整。而且,在某些應(yīng)用中,還可以調(diào)整多路轉(zhuǎn)換器14的波特率,這影響到完成一個(gè)消息周期所占用的時(shí)間。針對(duì)長(zhǎng)延遲46使用固定時(shí)間周期,沒(méi)有考慮多路轉(zhuǎn)換器14波特率的變化。
因此,對(duì)主機(jī)控制器12進(jìn)行配置,使其能夠執(zhí)行優(yōu)化周期52,圖9~11示意性地示出了優(yōu)化周期52。根據(jù)所公開(kāi)的例子,當(dāng)在多路轉(zhuǎn)換器網(wǎng)絡(luò)上與設(shè)備16(或與多個(gè)單個(gè)設(shè)備16)進(jìn)行通信時(shí),優(yōu)化周期52允許主機(jī)軟件32根據(jù)所公開(kāi)的例子最大化吞吐量和效率。
根據(jù)所公開(kāi)的這一例子,優(yōu)化周期52調(diào)整長(zhǎng)延遲46和/或短延遲51,以從多路轉(zhuǎn)換器14的緩沖器42檢索響應(yīng)40??梢晕ㄒ坏蒯槍?duì)每一多路轉(zhuǎn)換器14/設(shè)備16/消息34的組合,進(jìn)行長(zhǎng)延遲46和/或短延遲51中的這些調(diào)整。例如,這些調(diào)整可以基于前一次把具體的唯一消息34發(fā)送到具體的設(shè)備16所要求的重新發(fā)送(44a,44b,44c等)的次數(shù),或基于任何其它的唯一歷史數(shù)據(jù)。
為了能夠更徹底地了解優(yōu)化周期52,以下將描述施用于基礎(chǔ)算法的術(shù)語(yǔ)和概念。
(1)消息周轉(zhuǎn)時(shí)間(MT)--這是主機(jī)控制器12發(fā)送消息34和從多路轉(zhuǎn)換器14接收響應(yīng)40所要求的傳輸時(shí)間(例如,根據(jù)相應(yīng)的波特率)。例如,主機(jī)控制器12能夠以9600波特向多路轉(zhuǎn)換器發(fā)送28個(gè)字節(jié)長(zhǎng)的特定的消息X。多路轉(zhuǎn)換器幾乎可以立即(在大約2個(gè)字節(jié)的時(shí)間內(nèi))以30個(gè)字節(jié)長(zhǎng)的答復(fù)消息做出響應(yīng)。根據(jù)可以使用的波特率和消息大小,完成針對(duì)消息X的這一往返消息,大約需要70毫秒的時(shí)間。
在主機(jī)控制器12向多路轉(zhuǎn)換器14發(fā)送了消息之后,最好是主機(jī)控制器12將不發(fā)送另一條消息(例如重新發(fā)送),直至主機(jī)控制器12接收到響應(yīng)或發(fā)生了硬件時(shí)間到。因此,MT是針對(duì)特定命令或特定消息、從主機(jī)控制器12向外發(fā)送的消息之間的最短時(shí)間間隔。在發(fā)送時(shí),根據(jù)向外發(fā)送的命令的大小和響應(yīng)的所預(yù)期的大小計(jì)算MT。
(2)時(shí)段寬度(BW)--時(shí)段寬度是針對(duì)消息長(zhǎng)度的可變性加以校正的消息周轉(zhuǎn)時(shí)間(MT)。例如,命令或消息X,如先前所描述的,可以擁有70毫秒的MT。然而,具有較少內(nèi)容的命令或消息Y,可以擁有僅30毫秒的MT。另外,具有較多消息內(nèi)容的命令或消息Z,可以擁有100毫秒的MT。因此,對(duì)于消息X、Y以及Z來(lái)說(shuō),較佳的做法是,把發(fā)送到具體儀器或設(shè)備16的BW設(shè)置成大于或等于最大MT的值。BW提供了消息傳輸之間的已知的、固定的間隔,針對(duì)消息長(zhǎng)度的可變性進(jìn)行校正,以及為對(duì)長(zhǎng)延遲46的值的調(diào)整提供了一致的基線(xiàn),以下將對(duì)此加以描述。
當(dāng)最終從緩沖器42獲得響應(yīng)40時(shí),保證了這一檢索發(fā)生在到達(dá)緩沖器42中的BW周期內(nèi)。例如,如果BW為100ms,當(dāng)最終從緩沖器42檢索到響應(yīng)40時(shí),保證了響應(yīng)在那里不超過(guò)100毫秒。
(3)長(zhǎng)延遲(46)--長(zhǎng)延遲46是一個(gè)時(shí)間量,即在從多路轉(zhuǎn)換器14接收到“DR_INITIATE”(消息38)響應(yīng)代碼之后,在把消息重新發(fā)送到多路轉(zhuǎn)換器14之前,主機(jī)控制器12將等待的時(shí)間量。為使用多路轉(zhuǎn)換器延遲響應(yīng)機(jī)制的每一儀器的每一命令維持長(zhǎng)延遲值,其中較佳的做法是適當(dāng)?shù)卮鎯?chǔ)這一歷史數(shù)據(jù)。不斷地更新長(zhǎng)延遲46的時(shí)間值,而且這一時(shí)間值是優(yōu)化算法的核心,在優(yōu)化算法中,對(duì)長(zhǎng)延遲46的調(diào)整,是允許主機(jī)控制器12/主機(jī)軟件32通過(guò)在響應(yīng)40到達(dá)緩沖器42中之后盡快地從多路轉(zhuǎn)換器14的緩沖器42中獲得響應(yīng)40,來(lái)實(shí)現(xiàn)對(duì)通信效率進(jìn)行優(yōu)化。
(4)短延遲(51)--短延遲51是一個(gè)時(shí)間量,即添加于為到達(dá)時(shí)段寬度50所需的MT時(shí)間的時(shí)間量。凡當(dāng)多路轉(zhuǎn)換器把“DR_RUNNING”響應(yīng)代碼(消息38)發(fā)送到主機(jī)控制器12,以表示已把嵌入消息36發(fā)送給設(shè)備16時(shí),使用短延遲51。按下列公式計(jì)算短延遲51短延遲51=時(shí)段寬度-消息周轉(zhuǎn);或短延遲51=時(shí)段寬度50-MT圖3說(shuō)明了短延遲51、消息周轉(zhuǎn)時(shí)間MT和時(shí)段寬度50之間的關(guān)系。
(5)延遲響應(yīng)計(jì)數(shù)(RD Cnt)--延遲響應(yīng)計(jì)數(shù)58表示針對(duì)給定命令或消息,在最終從多路轉(zhuǎn)換器14的緩沖器42中獲得設(shè)備響應(yīng)40之前,主機(jī)控制器12從多路轉(zhuǎn)換器14所接收的DR_RUNNING響應(yīng)(例如消息48)的個(gè)數(shù)。當(dāng)首次發(fā)送消息34時(shí),把這一值設(shè)置成0,并且每次從多路轉(zhuǎn)換器14接收“DR_RUNNING”響應(yīng)時(shí),增加這一值。然后,把延遲響應(yīng)計(jì)數(shù)58用于調(diào)整/計(jì)算下一次把相同的命令發(fā)送給相同的設(shè)備時(shí)將使用的長(zhǎng)延遲46。
(6)停滯(dead)時(shí)間--響應(yīng)40位于緩沖器42中等待主機(jī)控制器12加以檢索的時(shí)間量。
已知這一背景,在優(yōu)化周期52中所體現(xiàn)的算法的示范性目標(biāo)包括(1)為了在消息響應(yīng)到達(dá)多路轉(zhuǎn)換器之后盡快地從多路轉(zhuǎn)換器獲得消息響應(yīng)(最小化停滯時(shí)間)。
(2)為實(shí)現(xiàn)上述目標(biāo),盡可能少地進(jìn)行消息重試。
根據(jù)所公開(kāi)的例子,優(yōu)化周期52按如下方式操作在發(fā)送消息34之前,主機(jī)軟件32計(jì)算短延遲50的初始值。短延遲50的初始值將由501加以表示,短延遲50的所有相繼的值由502,503,...,50n加以表示。主機(jī)軟件32還檢查長(zhǎng)延遲46的值,長(zhǎng)延遲46的該初始值由461加以表示。而且,長(zhǎng)延遲46所有相繼的值將由462,463,...,46n加以表示(參見(jiàn)圖6)。初始值461可以是前一次把上述具體消息34發(fā)送到上述具體設(shè)備16時(shí)所計(jì)算的現(xiàn)存值。在首次把上述具體命令或消息34發(fā)送到上述具體設(shè)備16的情況下,可以按與計(jì)算消息周轉(zhuǎn)時(shí)間幾乎類(lèi)似的方式計(jì)算初始值461。
參照?qǐng)D4。當(dāng)已從主機(jī)控制器12把消息34發(fā)送到多路轉(zhuǎn)換器14時(shí),而且當(dāng)主機(jī)控制器12已接收到答復(fù)38時(shí),主機(jī)控制器12將進(jìn)入長(zhǎng)延遲46所表示的等待周期,在這一情況下,長(zhǎng)延遲46為初始長(zhǎng)延遲461。在長(zhǎng)延遲46i期滿(mǎn)之后,主機(jī)控制器12將啟動(dòng)第一次重新發(fā)送44a。在響應(yīng)40尚未處于多路轉(zhuǎn)換器14的緩沖器42中的情況下,多路轉(zhuǎn)換器14將發(fā)送表示尚未從設(shè)備16接收到響應(yīng)40的消息48。如果需要的話(huà),在重新發(fā)送另一條消息,例如在重新發(fā)送44b之前,主機(jī)軟件32將等待短延遲周期50。當(dāng)?shù)谝欢萄舆t周期501期滿(mǎn)時(shí),主機(jī)控制器12將發(fā)送第二次重新發(fā)送44b。重新發(fā)送跟隨有短延遲周期的消息的這一過(guò)程將繼續(xù),直至響應(yīng)40出現(xiàn)在多路轉(zhuǎn)換器14的緩沖器42中。如圖4中所示,在第四短延遲周期504期間,在緩沖器42處接收響應(yīng)40,這一接收在第四重新發(fā)送44d之后很短的時(shí)間內(nèi)發(fā)生。
出于多種原因,人們可能不希望如此多的通信出現(xiàn)在主機(jī)控制器12和多路轉(zhuǎn)換器14之間,對(duì)發(fā)送初始消息38和對(duì)重新發(fā)送44a到44b的需求明顯證明了這一點(diǎn)。因此,現(xiàn)在參照?qǐng)D5,優(yōu)化周期52包括對(duì)長(zhǎng)延遲46的調(diào)整。在這一情況下,長(zhǎng)延遲46將由第二長(zhǎng)延遲周期46ii加以表示。如圖5中所示,在一個(gè)重新發(fā)送44a之后,響應(yīng)40出現(xiàn)在多路轉(zhuǎn)換器14的緩沖器42中。但響應(yīng)40不被傳送到主機(jī)控制器12,直至第二次重新發(fā)送44b發(fā)生。在初始短延遲50i期滿(mǎn)之后,把響應(yīng)40傳送至主機(jī)控制器12。注意,在發(fā)送第二次重新發(fā)送44b之前,響應(yīng)40在緩沖器42中已存在了一段時(shí)間,把這段時(shí)間稱(chēng)為“停滯時(shí)間”54。
從重試計(jì)數(shù)效率的角度(重試計(jì)數(shù)由所需要的重新發(fā)送次數(shù)44a、44b等加以表示)來(lái)看,試圖不使用重新發(fā)送44a、44b等檢索響應(yīng)40似乎更合邏輯。盡管這樣做是可能的,但對(duì)響應(yīng)40在緩沖器42中等待多長(zhǎng)時(shí)間才能得以檢索沒(méi)有保證。理想的是,響應(yīng)40將以最小的停滯時(shí)間出現(xiàn)在緩沖器42中。然而,如果長(zhǎng)延遲的初始值461(或相繼的值462、463等中的任何一個(gè))足夠長(zhǎng),則可以實(shí)際保證當(dāng)進(jìn)行第一重新發(fā)送44a時(shí),響應(yīng)40將出現(xiàn)在緩沖器42中。然而,簡(jiǎn)單地延長(zhǎng)長(zhǎng)延遲周期46,可能導(dǎo)致停滯時(shí)間54過(guò)長(zhǎng),因?yàn)橄㈨憫?yīng)40可能已經(jīng)位于緩沖器42中幾乎持續(xù)了整個(gè)長(zhǎng)延遲周期46,這將是一種糟糕的情況。不穩(wěn)定的環(huán)境條件可能加劇這樣一種情況,例如擁有第二主設(shè)備或在猝發(fā)(burst)模式中擁有易于導(dǎo)致長(zhǎng)延遲周期明顯增加的設(shè)備。
現(xiàn)在參照?qǐng)D6。除了簡(jiǎn)單地減少延遲響應(yīng)的個(gè)數(shù)外,還可以進(jìn)一步最大化吞吐能力和效率。因此,優(yōu)化周期52將進(jìn)一步優(yōu)化長(zhǎng)延遲46,以最小化停滯時(shí)間52。一旦把長(zhǎng)延遲46設(shè)置成當(dāng)?shù)谝淮沃匦掳l(fā)送44a時(shí)導(dǎo)致響應(yīng)40出現(xiàn)在緩沖器42中的值,長(zhǎng)延遲46變成優(yōu)化合格的。一旦長(zhǎng)延遲46優(yōu)化合格,則優(yōu)化周期52搜尋優(yōu)化失效點(diǎn)56。通過(guò)在一段時(shí)間內(nèi)連續(xù)地縮短長(zhǎng)延遲46,找出優(yōu)化失效點(diǎn),如圖6中所示。由于縮短了長(zhǎng)延遲46,最終長(zhǎng)延遲46將變得足夠短,以至于需要第二次重新發(fā)送44b。通過(guò)在每一條相繼的消息上逐漸地減小長(zhǎng)延遲46(這導(dǎo)致了圖5中所指示的時(shí)段),以逐漸向左位移(為了便于討論,假設(shè)在緩沖器42中接收響應(yīng)40的點(diǎn)不變),找出該失效點(diǎn)56。當(dāng)圖5中所示的時(shí)段向左位移時(shí),逐漸減小停滯時(shí)間50。最好是,每一個(gè)相繼的長(zhǎng)延遲周期略短于前一個(gè)長(zhǎng)延遲周期,并且具有圖6中所示的等于大約2毫秒的間隔。用戶(hù)也可以選擇其它的間隔。但根據(jù)所公開(kāi)的例子,大約2毫秒的間隔已獲得了有利的試驗(yàn)結(jié)果。
現(xiàn)在參照?qǐng)D7。在已充分縮短了長(zhǎng)延遲46之后,顯然要求第二短延遲50,以從緩沖器42中檢索響應(yīng)40,在第三次重新發(fā)送44c之前,不檢索響應(yīng)40。這表明已達(dá)到了失效點(diǎn)56。
一旦已經(jīng)計(jì)算了失效點(diǎn)56,則把長(zhǎng)延遲46增加預(yù)先確定的量,在所公開(kāi)的例子中,這一預(yù)先確定的量為時(shí)段寬度的大約25%。現(xiàn)在參照?qǐng)D4、5或7中的每一個(gè)圖,當(dāng)觀察這些圖時(shí),將應(yīng)認(rèn)識(shí)到,增加長(zhǎng)延遲46將再次向右位移時(shí)段。長(zhǎng)延遲46的這一25%的增加,將再次把長(zhǎng)延遲46移回到優(yōu)化合格狀態(tài),在這一點(diǎn),長(zhǎng)延遲46將再次進(jìn)入優(yōu)化周期52。
根據(jù)所公開(kāi)的例子,優(yōu)化周期52將考慮到這樣一個(gè)事實(shí)針對(duì)嚴(yán)格相同的消息,答復(fù)時(shí)間實(shí)際上并非不變。實(shí)際上,答復(fù)時(shí)間會(huì)稍有變化,甚至在穩(wěn)定的環(huán)境中,而且在不穩(wěn)定的環(huán)境中,將會(huì)有明顯的變化。因此,優(yōu)化周期52將考慮不斷變化的情況,并使主機(jī)系統(tǒng)10能夠有效地操作,同時(shí)最小化的停滯時(shí)間54。由于影響通信時(shí)間的不斷變化的環(huán)境條件,永遠(yuǎn)不能絕對(duì)可靠地建立失效點(diǎn)56。因此,決不能絕對(duì)可靠地精確獲知在初始短延遲周期50i內(nèi)緩沖器42何時(shí)接收到響應(yīng)40。然而,優(yōu)化周期52提供了合理的保證,保證在失效點(diǎn)56的25%或25%以下的范圍內(nèi)實(shí)際完成所有通信。理想的是,失效點(diǎn)56將表示0停滯時(shí)間。
優(yōu)化周期52的功能類(lèi)似于優(yōu)化合格狀態(tài),其中減小長(zhǎng)延遲46,直至達(dá)到失效點(diǎn)56。但實(shí)際上,減小長(zhǎng)延遲46的算法更多的是采用對(duì)數(shù)。優(yōu)化周期52越接近達(dá)到0停滯時(shí)間(例如優(yōu)化周期52越接近失效點(diǎn)56),則在任何給定的長(zhǎng)延遲周期46內(nèi),優(yōu)化周期52將發(fā)送越多的消息。如圖8中所示,在優(yōu)化周期52中,相對(duì)快而早地向下調(diào)整長(zhǎng)延遲周期46。另一方面,當(dāng)相繼消息的個(gè)數(shù)增加時(shí),將使用任何具體的長(zhǎng)延遲周期46發(fā)送更多相繼的消息。換一種說(shuō)法,當(dāng)優(yōu)化周期52接近失效點(diǎn)56時(shí),對(duì)于任何給定的縮短的長(zhǎng)延遲周期46,發(fā)送越來(lái)越多的相繼的消息。因此,根據(jù)所公開(kāi)的算法,優(yōu)化周期52將尋求最大化發(fā)送消息的條數(shù),并且把在長(zhǎng)延遲設(shè)置得盡可能接近失效點(diǎn)56。
在優(yōu)化周期52的操作期間,可預(yù)期從一個(gè)延遲響應(yīng)向兩個(gè)延遲響應(yīng)的過(guò)渡(例如,僅要求單個(gè)重新發(fā)送44a和要求至少第二次重新發(fā)送44b之間的過(guò)渡)。然而,如果需要0次重新發(fā)送,或如果需要兩個(gè)以上的重新發(fā)送,則可以取消優(yōu)化周期52,可以向長(zhǎng)延遲46施加更有效的校正,以使通信周期返回到圖5中所反映的狀態(tài),其中僅需要第二次重新發(fā)送44b。一旦這一情況發(fā)生,則建立優(yōu)化合格狀態(tài),并且再次開(kāi)始搜尋失效點(diǎn)56。接下來(lái),在已建立了失效點(diǎn)之后,可以再次開(kāi)始優(yōu)化周期。根據(jù)所公開(kāi)的例子,可以以尋求最大化效率的方式,針對(duì)不斷變化的環(huán)境不斷地調(diào)整優(yōu)化周期52,并“學(xué)習(xí)”如何把任何具體唯一的命令傳送給任何具體唯一的設(shè)備。
現(xiàn)在參照?qǐng)D9~11。以下可以進(jìn)一步把根據(jù)本發(fā)明的系統(tǒng)10解釋如下。如圖9中所示,在60處,主機(jī)系統(tǒng)10啟動(dòng)對(duì)消息34的發(fā)送。在62處,根據(jù)消息的優(yōu)先級(jí)和消息的發(fā)送時(shí)間,把消息34插入消息隊(duì)列64。一旦消息34處于HART消息隊(duì)列64中,則在68處,用信號(hào)通知發(fā)送消息的時(shí)間,此后在70處從消息隊(duì)列獲得消息34。66、72、74、76、78以及80處的步驟是可選的,不需要為執(zhí)行優(yōu)化周期52而加以執(zhí)行。
現(xiàn)在參照?qǐng)D10的方框A。在82處,發(fā)送消息34,此后,在84處,判斷是否已接收到答復(fù)38。如果已接收到答復(fù)38,則在86處更新?tīng)顟B(tài),以反映已接收到答復(fù)38。此時(shí),主機(jī)軟件32運(yùn)行優(yōu)化周期52。在88處,優(yōu)化周期52設(shè)置延遲響應(yīng)標(biāo)志,此后,在90處獲得長(zhǎng)延遲46和短延遲51的初始值。然后,在92處建立等于長(zhǎng)延遲46的發(fā)送時(shí)間,此后,在94處根據(jù)優(yōu)先級(jí)和發(fā)送時(shí)間把消息重新插入消息隊(duì)列(圖9和10)。
在96處,判斷狀態(tài)是否表明延遲響應(yīng)計(jì)數(shù)仍在計(jì)數(shù),如果答案為“是”,則在98處增加延遲響應(yīng)計(jì)數(shù),并且在100處把發(fā)送時(shí)間設(shè)置成等于短延遲51。把這一信息傳送到94,以建立優(yōu)先級(jí)和發(fā)送時(shí)間。如果DR運(yùn)行代碼的狀態(tài)被指示為“否”,則在102處確定消息的狀態(tài)是否為成功。如果答案為“是”,則在104處,主機(jī)控制器12將調(diào)整長(zhǎng)延遲46和短延遲51,并存儲(chǔ)這一信息,以供下一次發(fā)送該唯一消息34使用。如果在102處狀態(tài)查詢(xún)的答案為“否”,則在106處以適當(dāng)?shù)姆绞教幚礤e(cuò)誤情況。然后,在108處,把在84、104以及106處所進(jìn)行的確定傳送回控制器12。
接下來(lái),經(jīng)由圖10中的方框C,把在102處的狀態(tài)確定的輸出傳送到圖11中的方框C。如圖11中所示,在110處,使用波特率和消息的大小,以計(jì)算MT。然后,在112處,把短延遲51設(shè)置成等于時(shí)段寬度(BW)減去消息周轉(zhuǎn)周期(MT)。在114處,針對(duì)這種類(lèi)型消息的消息響應(yīng)大小方面的任何已知變化(根據(jù)這一具體消息的歷史數(shù)據(jù)和/或該唯一消息所針對(duì)的唯一現(xiàn)場(chǎng)設(shè)備的具體場(chǎng)地的任何其它歷史數(shù)據(jù)),對(duì)短延遲51進(jìn)行調(diào)整。在116處,把當(dāng)前延遲響應(yīng)計(jì)數(shù)與前一個(gè)延遲響應(yīng)計(jì)數(shù)進(jìn)行比較,并且如果需要的話(huà),在118處,向上或向下調(diào)整長(zhǎng)延遲46,以達(dá)到下一次發(fā)送該唯一消息時(shí)為“1”的延遲響應(yīng)計(jì)數(shù)。應(yīng)該認(rèn)識(shí)到,調(diào)整的大小和方向依賴(lài)于延遲響應(yīng)計(jì)數(shù)和當(dāng)前延遲響應(yīng)計(jì)數(shù)距目標(biāo)時(shí)段遠(yuǎn)近程度之間的差。在所公開(kāi)的例子中,目標(biāo)是為1的延遲響應(yīng)計(jì)數(shù)。然后,在方框D處,把這一信息傳送回108,以傳輸?shù)街鳈C(jī)控制器12。
根據(jù)所公開(kāi)的例子,HART多路轉(zhuǎn)換器通信優(yōu)化周期52允許主機(jī)控制器12運(yùn)行主機(jī)軟件32,在響應(yīng)40到達(dá)多路轉(zhuǎn)換器14的響應(yīng)緩沖器42之后盡快從設(shè)備16檢索響應(yīng)40,其中,平均說(shuō)來(lái),停滯時(shí)間在大約6~10毫秒的范圍內(nèi)。這一配置旨在進(jìn)一步提高多路轉(zhuǎn)換器網(wǎng)絡(luò)上通信性能方面的效率。
這一技術(shù)領(lǐng)域中的熟練技術(shù)人員將會(huì)意識(shí)到,盡管已結(jié)合某些實(shí)施例說(shuō)明了本發(fā)明的原理,但并不旨在把本發(fā)明限制于這樣的實(shí)施例。相反,無(wú)論在字面上還是在等同原則下,本申請(qǐng)旨在覆蓋明顯落入所附權(quán)利要求的范圍內(nèi)的所有修改和實(shí)施例。
權(quán)利要求
1.一種用于優(yōu)化多路轉(zhuǎn)換器通信的裝置,包括主機(jī);多路轉(zhuǎn)換器;以及儀器設(shè)備;對(duì)主機(jī)進(jìn)行配置,使其能夠運(yùn)行主機(jī)軟件,并使其能夠把第一消息和多個(gè)相繼的消息發(fā)送到多路轉(zhuǎn)換器,每一條消息包括針對(duì)儀器設(shè)備的嵌入消息,第一消息和第一相繼消息之間的時(shí)間周期定義了長(zhǎng)延遲;對(duì)多路轉(zhuǎn)換器進(jìn)行配置,使其能夠剝離嵌入消息,并能夠把嵌入消息發(fā)送至儀器設(shè)備,還對(duì)多路轉(zhuǎn)換器進(jìn)行配置,使其能夠向主機(jī)發(fā)送響應(yīng),響應(yīng)表示是否已把嵌入消息發(fā)送至多路轉(zhuǎn)換器以及是否已從儀器設(shè)備接收到答復(fù),還對(duì)多路轉(zhuǎn)換器進(jìn)行配置,使其能夠接收和存儲(chǔ)答復(fù);對(duì)儀器設(shè)備進(jìn)行配置,使其能夠接收和處理嵌入消息,并且能夠?qū)⒋饛?fù)發(fā)送至多路轉(zhuǎn)換器;以及優(yōu)化控制器,可操作地耦合于主機(jī),對(duì)該優(yōu)化控制器進(jìn)行配置,使其能夠向主機(jī)通信表示多路轉(zhuǎn)換器是否已接收到答復(fù);建立計(jì)數(shù),該計(jì)數(shù)表示在多路轉(zhuǎn)換器已接收到答復(fù)之前,相繼消息出現(xiàn)的條數(shù);估計(jì)消息周轉(zhuǎn)時(shí)間,消息周轉(zhuǎn)時(shí)間基于把任何一條消息傳輸?shù)蕉嗦忿D(zhuǎn)換器和從多路轉(zhuǎn)換器接收到響應(yīng)所用的時(shí)間;建立時(shí)段寬度,時(shí)段寬度至少與消息周轉(zhuǎn)時(shí)間一樣長(zhǎng);至少部分地根據(jù)消息周轉(zhuǎn)時(shí)間和時(shí)段寬度,建立短延遲;以及至少改變長(zhǎng)延遲和短延遲之一,以最小化計(jì)數(shù)。
2.根據(jù)權(quán)利要求1所述的裝置,其中對(duì)優(yōu)化控制器進(jìn)行配置,使其既能夠改變長(zhǎng)延遲也能夠改變短延遲,以最小化計(jì)數(shù)。
3.根據(jù)權(quán)利要求1所述的裝置,其中多路轉(zhuǎn)換器包括緩沖器,用于存儲(chǔ)答復(fù),直至把響應(yīng)傳送到主機(jī),而且其中,還進(jìn)一步對(duì)優(yōu)化控制器進(jìn)行配置,使其能夠至少改變長(zhǎng)延遲和短延遲之一,以最小化在主機(jī)檢索之前答復(fù)駐留在緩沖器中的停滯時(shí)間周期。
4.根據(jù)權(quán)利要求1所述的裝置,其中還進(jìn)一步對(duì)優(yōu)化控制器進(jìn)行配置,以跟蹤停滯時(shí)間,停滯時(shí)間表示在傳送到主機(jī)之前,答復(fù)在緩沖器中駐留了多長(zhǎng)時(shí)間,而且其中,還對(duì)優(yōu)化控制器進(jìn)行配置,使其能夠至少改變長(zhǎng)延遲和短延遲之一,以最小化停滯時(shí)間。
5.根據(jù)權(quán)利要求4所述的裝置,其中對(duì)優(yōu)化控制器進(jìn)行配置,使其既能夠改變長(zhǎng)延遲也能夠改變短延遲,以最小化停滯時(shí)間。
6.根據(jù)權(quán)利要求1所述的裝置,其中從消息集合中選擇第一消息和多個(gè)相繼的消息,該消息集合包括多個(gè)可能的消息,消息集合中的每一消息擁有唯一的消息參數(shù),而且其中,對(duì)主機(jī)進(jìn)行配置,以從消息集合中選擇所選的消息,而且其中,還對(duì)優(yōu)化控制器進(jìn)行配置,以估計(jì)所選消息的唯一的消息參數(shù),以及根據(jù)所選消息的唯一的消息參數(shù)來(lái)建立時(shí)段寬度和長(zhǎng)延遲。
7.根據(jù)權(quán)利要求1所述的裝置,其中從消息集合中選擇第一消息和多個(gè)相繼的消息,該消息集合包括多個(gè)針對(duì)儀器設(shè)備的可能消息,消息集合中的每一消息擁有唯一的消息參數(shù),而且其中,對(duì)主機(jī)進(jìn)行配置,以從消息集合中選擇所選的消息,而且其中,還對(duì)優(yōu)化控制器進(jìn)行配置,以估計(jì)消息集合中的每一消息的消息周轉(zhuǎn)時(shí)間,并根據(jù)消息集合中的最大消息周轉(zhuǎn)時(shí)間建立時(shí)段寬度。
8.根據(jù)權(quán)利要求6所述的裝置,其中儀器設(shè)備包括通信特性,而且其中,對(duì)優(yōu)化控制器進(jìn)行配置,以估計(jì)該通信特性,并至少部分地根據(jù)這一通信特性,改變長(zhǎng)延遲和短延遲。
9.根據(jù)權(quán)利要求1所述的裝置,其中主機(jī)對(duì)響應(yīng)的接收定義了完整的消息周期,而且其中,對(duì)優(yōu)化控制器進(jìn)行配置,以運(yùn)行優(yōu)化周期,通過(guò)把長(zhǎng)延遲延長(zhǎng)到優(yōu)化合格狀態(tài)來(lái)定義優(yōu)化周期,通過(guò)完成具有不多于兩條相繼消息的通信周期定義優(yōu)化合格狀態(tài),優(yōu)化周期包括縮短長(zhǎng)延遲,直至達(dá)到失效點(diǎn),通過(guò)第三相繼消息的發(fā)送定義失效點(diǎn)。
10.根據(jù)權(quán)利要求9所述的裝置,其中對(duì)優(yōu)化控制器進(jìn)行配置,以在達(dá)到失效點(diǎn)之后,重新運(yùn)行優(yōu)化周期。
11.一種用于優(yōu)化多路轉(zhuǎn)換器通信的裝置,包括主機(jī);多路轉(zhuǎn)換器;以及儀器設(shè)備;對(duì)主機(jī)進(jìn)行配置,以運(yùn)行主機(jī)軟件,并把消息傳輸?shù)蕉嗦忿D(zhuǎn)換器,該消息包括針對(duì)儀器設(shè)備的嵌入消息,對(duì)主機(jī)進(jìn)行配置,以重新傳輸該消息,直至從多路轉(zhuǎn)換器接收到對(duì)該消息的響應(yīng),在長(zhǎng)延遲之后進(jìn)行第一次重新傳輸,在第二時(shí)間間隔之后,進(jìn)行第二次和所有相繼消息的傳輸;對(duì)多路轉(zhuǎn)換器進(jìn)行配置,以剝離嵌入消息,并把嵌入消息發(fā)送至儀器設(shè)備,還對(duì)多路轉(zhuǎn)換器進(jìn)行配置,以向主機(jī)表示是否接收到嵌入消息和是否將嵌入消息發(fā)送到儀器設(shè)備,以及是否已從儀器設(shè)備接收到響應(yīng),還對(duì)多路轉(zhuǎn)換器進(jìn)行配置,以接收和存儲(chǔ)答復(fù),直至把答復(fù)傳送給主機(jī);對(duì)儀器設(shè)備進(jìn)行配置,以接收和處理嵌入消息,并將響應(yīng)發(fā)送至多路轉(zhuǎn)換器;以及優(yōu)化控制器,對(duì)該優(yōu)化控制器進(jìn)行配置,以建立計(jì)數(shù),該計(jì)數(shù)表示在把響應(yīng)傳送給主機(jī)之前,進(jìn)行重新傳輸?shù)拇螖?shù);估計(jì)消息周轉(zhuǎn)時(shí)間,消息周轉(zhuǎn)時(shí)間基于把消息從主機(jī)傳輸?shù)蕉嗦忿D(zhuǎn)換器并把響應(yīng)從多路轉(zhuǎn)換器傳輸?shù)街鳈C(jī)所用的通信時(shí)間;建立時(shí)段寬度,時(shí)段寬度至少與消息周轉(zhuǎn)時(shí)間一樣長(zhǎng);建立短延遲,該短延遲至少部分地根據(jù)時(shí)段寬度和消息周轉(zhuǎn)時(shí)間;以及至少改變長(zhǎng)延遲和短延遲之一,以最小化計(jì)數(shù)。
12.根據(jù)權(quán)利要求11所述的裝置,其中多路轉(zhuǎn)換器包括緩沖器,用于存儲(chǔ)答復(fù),直至把響應(yīng)傳送到主機(jī),而且其中,還進(jìn)一步對(duì)優(yōu)化控制器進(jìn)行配置,以至少改變長(zhǎng)延遲和短延遲之一,以最小化停滯時(shí)間,停滯時(shí)間表示在傳送到主機(jī)之前,答復(fù)在緩沖器中駐留了多長(zhǎng)時(shí)間。
13.根據(jù)權(quán)利要求12所述的裝置,其中對(duì)優(yōu)化控制器進(jìn)行進(jìn)一步的配置,使其既能夠改變長(zhǎng)延遲也能夠改變短延遲,以最小化停滯時(shí)間。
14.根據(jù)權(quán)利要求11所述的裝置,其中表示在通信到主機(jī)之前,響應(yīng)在多路轉(zhuǎn)換器中駐留多長(zhǎng)時(shí)間的時(shí)間由停滯時(shí)間表示,而且其中,對(duì)優(yōu)化控制器進(jìn)行配置,以改變長(zhǎng)延遲和短延遲,以最小化停滯時(shí)間。
15.根據(jù)權(quán)利要求11所述的裝置,其中對(duì)優(yōu)化控制器進(jìn)行配置,以既改變長(zhǎng)延遲也改變短延遲,以最小化計(jì)數(shù)。
16.根據(jù)權(quán)利要求11所述的裝置,其中從消息集合中選擇第一消息和多個(gè)相繼的消息,該消息集合包括多個(gè)可能的消息,消息集合中的每一消息擁有唯一的消息參數(shù),而且其中,對(duì)主機(jī)進(jìn)行配置,以從消息集合中選擇所選的消息,而且其中,還對(duì)優(yōu)化控制器進(jìn)行配置,以估計(jì)所選消息的唯一的消息參數(shù),以及根據(jù)所選的消息的唯一的消息參數(shù)建立時(shí)段寬度和長(zhǎng)延遲。
17.根據(jù)權(quán)利要求11所述的裝置,其中從消息集合中選擇第一消息和多個(gè)相繼的消息,該消息集合包括多個(gè)針對(duì)儀器設(shè)備的可能消息,消息集合中的每一消息擁有唯一的消息參數(shù),而且其中,對(duì)主機(jī)進(jìn)行配置,以從消息集合中選擇所選的消息,而且其中,還對(duì)優(yōu)化控制器進(jìn)行配置,以估計(jì)消息集合中的每一消息的消息周轉(zhuǎn)時(shí)間,并根據(jù)消息集合中的最大消息周轉(zhuǎn)時(shí)間建立時(shí)段寬度。
18.根據(jù)權(quán)利要求16所述的裝置,其中儀器設(shè)備包括通信特性,而且其中,對(duì)優(yōu)化控制器進(jìn)行配置,以估計(jì)該通信特性,并至少部分地根據(jù)該通信特性來(lái)改變長(zhǎng)延遲和短延遲。
19.根據(jù)權(quán)利要求11所述的裝置,其中主機(jī)對(duì)響應(yīng)的接收定義了完整的消息周期,而且其中,對(duì)優(yōu)化控制器進(jìn)行配置,以運(yùn)行優(yōu)化周期,通過(guò)把長(zhǎng)延遲延長(zhǎng)到優(yōu)化合格狀態(tài)來(lái)定義優(yōu)化周期,通過(guò)完成具有不多于兩條相繼消息的通信周期定義優(yōu)化合格狀態(tài),優(yōu)化周期包括縮短長(zhǎng)延遲,直至達(dá)到失效點(diǎn),通過(guò)第三相繼消息的發(fā)送來(lái)定義失效點(diǎn)。
20.根據(jù)權(quán)利要求19所述的裝置,其中對(duì)優(yōu)化控制器進(jìn)行配置,以在達(dá)到失效點(diǎn)之后,重新運(yùn)行優(yōu)化周期。
21.一種用于優(yōu)化主機(jī)、多路轉(zhuǎn)換器、以及現(xiàn)場(chǎng)儀器設(shè)備之間的通信的方法,包括提供主機(jī)控制器;提供多路轉(zhuǎn)換器;以及提供現(xiàn)場(chǎng)儀器設(shè)備;提供主機(jī)控制器的主機(jī)軟件,對(duì)該主機(jī)軟件進(jìn)行配置,以把消息傳輸?shù)蕉嗦忿D(zhuǎn)換器,該條消息包括針對(duì)儀器設(shè)備的嵌入消息,對(duì)主機(jī)進(jìn)行配置,以重新傳輸該消息,直至從多路轉(zhuǎn)換器接收到對(duì)該消息的響應(yīng),在長(zhǎng)延遲之后進(jìn)行第一次重新傳輸,在第二時(shí)間間隔之后,進(jìn)行第二次和所有相繼消息的傳輸;對(duì)多路轉(zhuǎn)換器進(jìn)行配置,以剝離嵌入消息,并把嵌入消息發(fā)送至儀器設(shè)備,還對(duì)多路轉(zhuǎn)換器進(jìn)行配置,以向主機(jī)表示是否接收到嵌入消息和是否將嵌入消息發(fā)送到儀器設(shè)備,以及是否已從儀器設(shè)備接收到響應(yīng);對(duì)儀器設(shè)備進(jìn)行配置,以接收和處理嵌入消息,并且能夠?qū)㈨憫?yīng)發(fā)送至多路轉(zhuǎn)換器;以及對(duì)主機(jī)控制器進(jìn)行配置,以運(yùn)行優(yōu)化例行程序,該優(yōu)化例行程序包括建立計(jì)數(shù),該計(jì)數(shù)表示在把響應(yīng)傳送給主機(jī)之前,進(jìn)行重新傳輸?shù)拇螖?shù);估計(jì)消息周轉(zhuǎn)時(shí)間,消息周轉(zhuǎn)時(shí)間基于把消息從主機(jī)傳輸?shù)蕉嗦忿D(zhuǎn)換器和把響應(yīng)從多路轉(zhuǎn)換器傳輸?shù)街鳈C(jī)所用的通信時(shí)間;建立時(shí)段寬度,時(shí)段寬度至少與消息周轉(zhuǎn)時(shí)間一樣長(zhǎng);根據(jù)消息周轉(zhuǎn)時(shí)間和時(shí)段寬度,建立短延遲;以及至少改變長(zhǎng)延遲和短延遲之一,以最小化計(jì)數(shù)。
22.根據(jù)權(quán)利要求21所述的方法,包括向多路轉(zhuǎn)換器提供緩沖器,用于存儲(chǔ)答復(fù),直至把響應(yīng)傳送到主機(jī),而且對(duì)主機(jī)控制器進(jìn)行配置,以至少改變長(zhǎng)延遲和短延遲之一,以最小化停滯時(shí)間,停滯時(shí)間表示在傳送到主機(jī)之前,答復(fù)在緩沖器中駐留了多長(zhǎng)時(shí)間。
23.根據(jù)權(quán)利要求22所述的方法,其中對(duì)優(yōu)化控制器進(jìn)行進(jìn)一步的配置,以改變長(zhǎng)延遲和短延遲兩者,以最小化停滯時(shí)間。
24.根據(jù)權(quán)利要求21所述的方法,其中在主機(jī)進(jìn)行檢索之前,響應(yīng)在緩沖器中駐留的時(shí)間由停滯時(shí)間表示,而且其中,對(duì)優(yōu)化控制器進(jìn)行配置,以改變長(zhǎng)延遲和短延遲,以最小化停滯時(shí)間。
25.根據(jù)權(quán)利要求21所述的方法,其中對(duì)優(yōu)化控制器進(jìn)行配置,以改變長(zhǎng)延遲和短延遲兩者,以最小化計(jì)數(shù)。
26.根據(jù)權(quán)利要求21所述的方法,其中從消息集合中選擇第一消息和多個(gè)相繼的消息,該消息集合包括多個(gè)可能的消息,消息集合中的每一消息擁有唯一的消息參數(shù),而且其中,對(duì)主機(jī)進(jìn)行配置,以從消息集合中選擇所選的消息,而且其中,還對(duì)優(yōu)化控制器進(jìn)行配置,以估計(jì)所選消息的唯一的消息參數(shù),以及根據(jù)所選消息的唯一的消息參數(shù)建立時(shí)段寬度和長(zhǎng)延遲。
27.根據(jù)權(quán)利要求21所述的方法,其中從消息集合中選擇第一消息和多個(gè)相繼的消息,該消息集合包括針對(duì)儀器設(shè)備的多個(gè)可能的消息,消息集合中的每一消息擁有唯一的消息參數(shù),而且其中,對(duì)主機(jī)進(jìn)行配置,以從消息集合中選擇所選的消息,而且其中,還對(duì)優(yōu)化控制器進(jìn)行配置,以估計(jì)消息集合中的每一消息的消息周轉(zhuǎn)時(shí)間,并根據(jù)消息集合中的最大消息周轉(zhuǎn)時(shí)間建立時(shí)段寬度。
28.根據(jù)權(quán)利要求26所述的方法,其中儀器設(shè)備包括通信特性,而且其中,對(duì)優(yōu)化控制器進(jìn)行配置,以估計(jì)該通信特性,并至少部分地根據(jù)該通信特性,改變長(zhǎng)延遲和短延遲。
29.根據(jù)權(quán)利要求21所述的方法,其中主機(jī)對(duì)響應(yīng)的接收定義了完整的消息周期,而且其中,對(duì)優(yōu)化控制器進(jìn)行配置,以運(yùn)行優(yōu)化周期,通過(guò)把長(zhǎng)延遲延長(zhǎng)到優(yōu)化合格狀態(tài)來(lái)定義優(yōu)化周期,通過(guò)完成具有不多于兩條相繼消息的通信周期定義優(yōu)化合格狀態(tài),優(yōu)化周期包括縮短長(zhǎng)延遲,直至達(dá)到失效點(diǎn),通過(guò)第三相繼消息的發(fā)送來(lái)定義失效點(diǎn)。
30.根據(jù)權(quán)利要求29所述的方法,其中對(duì)優(yōu)化控制器進(jìn)行配置,以在達(dá)到失效點(diǎn)之后,重新運(yùn)行優(yōu)化周期。
31.根據(jù)權(quán)利要求29所述的方法,其中在達(dá)到失效點(diǎn)之后,優(yōu)化控制器重新運(yùn)行優(yōu)化周期,而且其中,對(duì)優(yōu)化控制器進(jìn)行配置,以在重新運(yùn)行優(yōu)化周期之前,把長(zhǎng)延遲增加等于時(shí)段寬度的大約25%的時(shí)間周期。
32.根據(jù)權(quán)利要求29所述的方法,包括存儲(chǔ)對(duì)具體的消息、具體的現(xiàn)場(chǎng)設(shè)備、以及具體的多路轉(zhuǎn)換器中至少之一是唯一的數(shù)據(jù)。
全文摘要
一種用于優(yōu)化系統(tǒng)中的多路轉(zhuǎn)換器通信的裝置,該系統(tǒng)具有主機(jī)、多路轉(zhuǎn)換器、和現(xiàn)場(chǎng)儀器設(shè)備。配置主機(jī)以運(yùn)行主機(jī)軟件,并把消息傳輸?shù)蕉嗦忿D(zhuǎn)換器,該消息包括針對(duì)儀器設(shè)備的嵌入消息。主機(jī)重新傳輸該消息,直至經(jīng)由多路轉(zhuǎn)換器從設(shè)備接收到對(duì)該消息的響應(yīng),在長(zhǎng)延遲之后進(jìn)行第一次重新傳輸,在第二時(shí)間間隔之后,進(jìn)行第二次和所有相繼消息的傳輸。配置優(yōu)化控制器以建立計(jì)數(shù),該計(jì)數(shù)表示在把響應(yīng)傳送給主機(jī)之前進(jìn)行重新傳輸?shù)拇螖?shù),根據(jù)把消息從主機(jī)傳輸?shù)蕉嗦忿D(zhuǎn)換器和把響應(yīng)從多路轉(zhuǎn)換器傳輸?shù)街鳈C(jī)所用的通信時(shí)間,估計(jì)消息周轉(zhuǎn)時(shí)間,建立至少與消息周轉(zhuǎn)時(shí)間一樣長(zhǎng)的時(shí)段寬度,建立短延遲,以及至少改變長(zhǎng)延遲和短延遲之一來(lái)最小化計(jì)數(shù)。
文檔編號(hào)H04L1/18GK1643836SQ03806160
公開(kāi)日2005年7月20日 申請(qǐng)日期2003年1月13日 優(yōu)先權(quán)日2002年3月15日
發(fā)明者艾爾弗雷德·R·杰克遜第三 申請(qǐng)人:費(fèi)希爾控制國(guó)際公司