專利名稱:用于交換輸入數(shù)據(jù)和輸出數(shù)據(jù)的方法、系統(tǒng)和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本文描述的實(shí)施例大體涉及數(shù)據(jù)交換系統(tǒng),并且更具體而言,涉及用于使用通信網(wǎng)絡(luò)來(lái)在系統(tǒng)組件之間交換數(shù)據(jù)的系統(tǒng)。
背景技術(shù):
至少一些已知的系統(tǒng)使用串行傳輸來(lái)控制輸入/輸出(I/O)裝 置的網(wǎng)絡(luò)。一些系統(tǒng)使用主裝置,主裝置通過(guò)串行鏈路來(lái)啟動(dòng)與I/o裝置的通信協(xié)議,諸如同步數(shù)據(jù)鏈路控制(SDLC)協(xié)議。在一些這樣的系統(tǒng)中,主裝置或者在廣播模式中操作來(lái)同時(shí)將命令傳送給I/O裝置,或者在正常響應(yīng)模式中操作來(lái)僅將命令傳送給期望的I/O裝置。其它系統(tǒng)使用異步串行傳輸,以通過(guò)經(jīng)由串行鏈路傳遞數(shù)據(jù)來(lái)控制I/O裝置的網(wǎng)絡(luò)。數(shù)據(jù)暫時(shí)存儲(chǔ)在緩沖器中,直到目的地裝置能夠接收和處理數(shù)據(jù)為止。但是,使用或者同步通信或者異步通信的這樣的已知系統(tǒng)需要使用特定的通信協(xié)議,諸如SDLC協(xié)議,這會(huì)增加主單元和I/O裝置兩者的響應(yīng)時(shí)間。
發(fā)明內(nèi)容
在一方面中,提供一種使用耦接到接口單元的控制器來(lái)在網(wǎng)絡(luò)上交換數(shù)據(jù)的方法,接口單元具有輸入/輸出(I/O)模塊。該方法包括選擇性地將交換模式設(shè)置成同步模式和異步模式中的一個(gè),以及確定是否執(zhí)行輸入數(shù)據(jù)交換或輸出數(shù)據(jù)交換。輸入數(shù)據(jù)交換至少部分地以輸入基準(zhǔn)為基礎(chǔ),輸入基準(zhǔn)標(biāo)識(shí)從其中檢索輸入數(shù)據(jù)的I/o模塊,并且輸出數(shù)據(jù)交換至少部分地以輸出基準(zhǔn)為基礎(chǔ),輸出基準(zhǔn)標(biāo)識(shí)用以存儲(chǔ)輸出數(shù)據(jù)的I/o模塊。在另一方面中,一種數(shù)據(jù)交換系統(tǒng)包括具有至少一個(gè)輸入/輸出(I/O)模塊的接口單元,以及通過(guò)網(wǎng)絡(luò)而耦接到接口單元的控制器??刂破靼ù鎯?chǔ)區(qū)和耦接到存儲(chǔ)區(qū)的處理器。處理器配置成選擇性地將交換模式設(shè)置成同步模式或異步模式中的一個(gè),以及確定是否執(zhí)行輸入數(shù)據(jù)交換或輸出數(shù)據(jù)交換。輸入數(shù)據(jù)交換至少部分地以輸入基準(zhǔn)為基礎(chǔ),輸入基準(zhǔn)標(biāo)識(shí)從其中檢索輸入數(shù)據(jù)的I/O模塊,并且輸出數(shù)據(jù)交換至少部分地以輸出基準(zhǔn)為基礎(chǔ),輸出基準(zhǔn)標(biāo)識(shí)用以存儲(chǔ)輸出數(shù)據(jù)的I/o模塊。在另一方面中,控制器通過(guò)網(wǎng)絡(luò)而耦接到接口單元上??刂破靼ù鎯?chǔ)區(qū),其配置成存儲(chǔ)與耦接到接口單元的輸入/輸出(I/o)模塊相關(guān)聯(lián)的至少一個(gè)存儲(chǔ)區(qū)位置;以及耦接到存儲(chǔ)區(qū)的處理器。處理器配置成確定是否執(zhí)行輸入數(shù)據(jù)交換或輸出數(shù)據(jù)交換。輸入數(shù)據(jù)交換至少部分地以輸入基準(zhǔn)為基礎(chǔ),輸入基準(zhǔn)標(biāo)識(shí)從其中檢索輸入數(shù)據(jù)的I/o模塊,并且輸出數(shù)據(jù)交換至少部分地以輸出基準(zhǔn)為基礎(chǔ),輸出基準(zhǔn)標(biāo)識(shí)用以存儲(chǔ)輸出數(shù)據(jù)的I/o模塊。
通過(guò)結(jié)合附圖來(lái)參照以下描述,可更好地理解本文描述的實(shí)施例。圖I是示例性網(wǎng)絡(luò)系統(tǒng)的示意性框圖。
圖2A和圖2B形成流程圖,其示出了用于使用圖I中顯示的系統(tǒng)來(lái)交換數(shù)據(jù)的示例性方法。
具體實(shí)施例方式本文描述了用于通過(guò)網(wǎng)絡(luò)來(lái)交換輸入數(shù)據(jù)和輸出數(shù)據(jù)的方法、系統(tǒng)和設(shè)備的示例性實(shí)施例。本文描述的實(shí)施例使得一個(gè)或多個(gè)網(wǎng)絡(luò)能夠用于在控制器和一個(gè)或多個(gè)遠(yuǎn)程輸入/輸出(I/o)機(jī)架之間可靠且高性能地交換輸入數(shù)據(jù)和輸出數(shù)據(jù),該一個(gè)或多個(gè)遠(yuǎn)程輸入/輸出(I/o)機(jī)架包括接口單元和一個(gè)或多個(gè)I/O模塊。驗(yàn)證數(shù)據(jù)交換,并且以有利于改進(jìn)效率的分組級(jí)自動(dòng)地加強(qiáng)數(shù)據(jù)交換。此外,本文描述的實(shí)施例使得大量(諸如好幾百個(gè))裝置能夠在一個(gè)或多個(gè)網(wǎng)絡(luò)上交換數(shù)據(jù)。裝置也可遠(yuǎn)程定位。本文描述的數(shù)據(jù)交換的同步模式有利于在精確控制的時(shí)域和持續(xù)時(shí)間里交換數(shù)據(jù),其中,所有遠(yuǎn)程I/o機(jī)架操作都與控制器的輸入和輸出掃描循環(huán)同步。這種布置有利于減少遠(yuǎn)程網(wǎng)絡(luò)化I/O環(huán)境中的I/O響應(yīng)時(shí)間。此外,遠(yuǎn)程I/O機(jī)架有效地用作控制器的光纖底面。圖I是示例性冗余網(wǎng)絡(luò)系統(tǒng)100的示意性框圖,該系統(tǒng)100可用于例如自動(dòng)化系·統(tǒng)或工業(yè)通信系統(tǒng),以有利于在系統(tǒng)100內(nèi)進(jìn)行高速數(shù)據(jù)交換。在示例性實(shí)施例中,系統(tǒng)100包括多個(gè)控制器102、多個(gè)接口單元104和多個(gè)I/O模塊106。在一些實(shí)施例中,控制器102布置成冗余對(duì),其中一個(gè)控制器102指定為主控制器(其控制系統(tǒng)操作),而另一個(gè)控制器102指定為輔助或備用控制器(其在切換之后承擔(dān)對(duì)系統(tǒng)100的控制)。此外,接口單元104可單獨(dú)操作,或者可以冗余對(duì)布置或冗余的三重布置操作。I/O模塊106可為離散模塊、模擬模塊或離散模塊和模擬模塊的混合。每個(gè)接口單元104通過(guò)第一網(wǎng)絡(luò)108而耦接到每個(gè)控制器102上。更具體而言,系統(tǒng)100包括多個(gè)I/O網(wǎng)絡(luò)108,諸如第一 I/O網(wǎng)絡(luò)110和第二 I/O網(wǎng)絡(luò)112,以在接口單元104和控制器102之間提供冗余通信信道。在示例性實(shí)施例中,每個(gè)I/O網(wǎng)絡(luò)108包括一個(gè)或多個(gè)集線器114,集線器114有利于在控制器102和接口單元104之間路由通信包,包括數(shù)據(jù)、命令、中斷等。另外,每個(gè)控制器102通過(guò)控制器網(wǎng)絡(luò)116而耦接到每個(gè)其余的控制器102上。更具體而言,系統(tǒng)100包括用以在控制器102之間提供冗余通信信道的多個(gè)控制器網(wǎng)絡(luò)116。另外,控制器網(wǎng)絡(luò)116可布置成任何適當(dāng)?shù)耐負(fù)洌?但不限于)星形網(wǎng)絡(luò)、環(huán)形網(wǎng)絡(luò)或點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)。在示例性實(shí)施例中,I/O網(wǎng)絡(luò)108和控制器網(wǎng)絡(luò)116是反射式存儲(chǔ)器網(wǎng)絡(luò)。例如,在示例性實(shí)施例中,I/O網(wǎng)絡(luò)108是光纖反射式存儲(chǔ)器網(wǎng)絡(luò),該網(wǎng)絡(luò)以大約2. 12千兆波特操作,并且允許例如256個(gè)控制或計(jì)算機(jī)平臺(tái)彼此共享存儲(chǔ)器。在一些實(shí)施例中,控制或計(jì)算機(jī)平臺(tái)能夠在16兆字節(jié)(MB)和256 MB的控制數(shù)據(jù)之間進(jìn)行共享。此外,I/O網(wǎng)絡(luò)108使用或者多模收發(fā)器或者單模收發(fā)器,以使得能夠在高達(dá)大約10千米的距離內(nèi)進(jìn)行通信。反射式存儲(chǔ)器網(wǎng)絡(luò)還使得能夠有高的網(wǎng)絡(luò)數(shù)據(jù)吞吐速率,諸如介于每秒傳遞43百萬(wàn)字節(jié)和174百萬(wàn)字節(jié)之間。此外,對(duì)于反射式存儲(chǔ)器網(wǎng)絡(luò)的低水平網(wǎng)絡(luò)包控制使用例如4字節(jié)包到64字節(jié)包來(lái)自動(dòng)增強(qiáng)網(wǎng)絡(luò)吞吐量。因此,反射式存儲(chǔ)器網(wǎng)絡(luò)(諸如I/O網(wǎng)絡(luò)108)提供高性能的控制數(shù)據(jù)傳遞和確定。將理解的是,上面描述的共享存儲(chǔ)器的大小、距離和/或網(wǎng)絡(luò)容量?jī)H是示例性的,并且不意于限制本文公開(kāi)的實(shí)施例。在示例性實(shí)施例中,每個(gè)控制器102包括處理器118、存儲(chǔ)區(qū)120、第一網(wǎng)絡(luò)接口112和第二網(wǎng)絡(luò)接口 124。更具體而言,每個(gè)控制器102包括專用于I/O網(wǎng)絡(luò)108的每個(gè)實(shí)例的I/o網(wǎng)絡(luò)接口 122,以及專用于控制器網(wǎng)絡(luò)116的每個(gè)實(shí)例的控制器網(wǎng)絡(luò)接口 124。在備選實(shí)施例中,每個(gè)控制器102包括多個(gè)處理器118。此外,存儲(chǔ)區(qū)120可體現(xiàn)為任何適當(dāng)?shù)拇鎯?chǔ)器裝置或應(yīng)用程序,包括(但不限于)數(shù)據(jù)庫(kù)、硬盤裝置、固態(tài)裝置,或者適合于如本文描述的那樣存儲(chǔ)數(shù)據(jù)的任何其它裝置。另外,在示例性實(shí)施例中,存儲(chǔ)區(qū)120位于控制器102內(nèi)。備選地,存儲(chǔ)區(qū)120可包括在控制器102內(nèi)部或外部或者可由其訪問(wèn)的任何存儲(chǔ)區(qū)。另外,存儲(chǔ)區(qū)120或存儲(chǔ)在其上的任何數(shù)據(jù)可與在控制器102本地或遠(yuǎn)程處(例如,能夠通過(guò)I/O網(wǎng)絡(luò)108和/或控制器網(wǎng)絡(luò)116來(lái)訪問(wèn))的任何服務(wù)器或其它計(jì)算機(jī)相關(guān)聯(lián)。在示例性實(shí)施例中,每個(gè)接口單元104包括處理器126、存儲(chǔ)區(qū)128,以及有利于通過(guò)I/O網(wǎng)絡(luò)108與每個(gè)控制器102通信的I/O網(wǎng)絡(luò)接口 130。更具體而言,在示例性實(shí)施例中,接口單元104包括專用于I/O網(wǎng)絡(luò)108的每個(gè)實(shí)例的I/O網(wǎng)絡(luò)接口 130。在備選實(shí)施例中,每個(gè)接口單元104包括多個(gè)處理器126。此外,存儲(chǔ)區(qū)128可體現(xiàn)為任何適當(dāng)?shù)拇鎯?chǔ)器裝置或應(yīng)用程序,包括(但不限于)數(shù)據(jù)庫(kù)、硬盤裝置、固態(tài)裝置,或者適合于如本文描述的那樣存儲(chǔ)數(shù)據(jù)的任何其它裝置。另外,在示例性實(shí)施例中,每個(gè)集線器114包括用于各自與I/O網(wǎng)絡(luò)108進(jìn)行物理連接的專用I/O網(wǎng)絡(luò)接口 132。
圖2A和2B共同為流程圖200,流程圖200示出了用于使用系統(tǒng)100 (在圖I中顯示)來(lái)交換數(shù)據(jù)的示例性方法。首先參照?qǐng)D2A,以及在示例性實(shí)施例中,操作者例如將交換模式設(shè)置成202或者同步模式或者異步模式。在備選實(shí)施例中,基于待在控制器102 (在圖I中顯示)和接口單元104 (在圖I中顯示)之間交換的數(shù)據(jù)的類型來(lái)設(shè)置交換模式。在另一個(gè)備選實(shí)施例中,基于例如控制器102和接口單元104之間的距離來(lái)設(shè)置交換模式。在其它備選實(shí)施例中,可依據(jù)任何適當(dāng)?shù)臈l件來(lái)設(shè)置交換模式。在示例性實(shí)施例中,控制器102標(biāo)記存儲(chǔ)區(qū)120(在圖I中顯示)中的存儲(chǔ)單元(未顯示),以指示待使用的交換模式。同步模式使得能夠使用精確地控制的中斷驅(qū)動(dòng)式時(shí)域來(lái)收集和/或傳播控制數(shù)據(jù),諸如輸入數(shù)據(jù)和/或輸出數(shù)據(jù)。特別地,同步模式使得能夠?qū)λ薪涌趩卧?04基本同時(shí)地收集和/或傳播控制數(shù)據(jù)。異步模式使得能夠關(guān)于時(shí)間來(lái)收集和/或傳播控制數(shù)據(jù)。相反,異步模式取決于控制器102和接口單元104的掃描速率。在以下描述中,應(yīng)當(dāng)注意,使用相同的參考符號(hào)來(lái)引用在同步模式和異步模式兩者中執(zhí)行的操作。在示例性實(shí)施例中,以及當(dāng)將交換模式設(shè)置成同步模式時(shí),控制器102確定204輸入數(shù)據(jù)交換或輸出數(shù)據(jù)交換是否是必要的。對(duì)于同步輸入數(shù)據(jù)交換,控制器102通過(guò)I/O網(wǎng)絡(luò)108 (諸如通過(guò)第一 I/O網(wǎng)絡(luò)110和/或第二 I/O網(wǎng)絡(luò)112 (兩者均在圖I中顯示))將多個(gè)控制變量發(fā)送到206接口單元104。在一個(gè)實(shí)施例中,在控制器開(kāi)始掃描接口單元104的消耗時(shí),控制器102通過(guò)I/O網(wǎng)絡(luò)接口 122將控制變量置于I/O網(wǎng)絡(luò)108上。控制變量包括(但不限于僅包括)數(shù)字I/O點(diǎn)、模擬I/O點(diǎn)、I/O變量,以及有利于如本文描述的那樣進(jìn)行高速數(shù)據(jù)交換的任何其它適當(dāng)?shù)目刂谱兞俊H缓罂刂破?02通過(guò)I/O網(wǎng)絡(luò)108將網(wǎng)絡(luò)中斷發(fā)送到208接口單元104。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)中斷包括使接口單元104的至少一部分從I/O模塊106獲得數(shù)據(jù)的數(shù)據(jù)收集命令。響應(yīng)于數(shù)據(jù)收集命令,每個(gè)接口單元104查詢I/O模塊106,以得到輸入數(shù)據(jù),包括數(shù)字輸入數(shù)據(jù)和/或模擬輸入數(shù)據(jù)。每個(gè)接口單元104通過(guò)I/O網(wǎng)絡(luò)108來(lái)發(fā)送輸入數(shù)據(jù)、校驗(yàn)和(check sum)、以及控制變量,以被控制器102消耗??刂谱兞恐辽侔?biāo)識(shí)(諸如獨(dú)特地標(biāo)識(shí))從其中獲得輸入數(shù)據(jù)的每個(gè)部分的每個(gè)I/O模塊106的輸入基準(zhǔn)。
控制器102等待210預(yù)先選擇的時(shí)間期間,以使得每個(gè)接口單元104能夠完成其對(duì)I/o模塊的查詢。然后控制器102接收212輸入數(shù)據(jù)。在一個(gè)實(shí)施例中,控制器102掃描I/O網(wǎng)絡(luò)108,以獲得輸入數(shù)據(jù)、校驗(yàn)和以及控制變量,包括每個(gè)I/O模塊106的輸入基準(zhǔn)??刂破?02使用例如校驗(yàn)和來(lái)驗(yàn)證214輸入數(shù)據(jù)的完整性。如果檢測(cè)到216錯(cuò)誤,則控制器102通過(guò)設(shè)置一個(gè)或多個(gè)診斷變量以顯示給操作者來(lái)產(chǎn)生218錯(cuò)誤的通知。如果未檢測(cè)到216錯(cuò)誤,則控制器102基于每個(gè)I/O模塊106的輸入基準(zhǔn)來(lái)將輸入數(shù)據(jù)存儲(chǔ)220在存儲(chǔ)區(qū)116中。如果未檢測(cè)到錯(cuò)誤,則控制器102等待,直到需要進(jìn)行隨后的數(shù)據(jù)交換為止。對(duì)于同步輸出數(shù)據(jù)交換,控制器102通過(guò)I/O網(wǎng)絡(luò)108 (諸如通過(guò)第一 I/O網(wǎng)絡(luò)110和/或第二 I/O網(wǎng)絡(luò)112)將輸出數(shù)據(jù)、校驗(yàn)和以及多個(gè)控制變量發(fā)送到2 22接口單元104。在一個(gè)實(shí)施例中,在控制器掃描接口單元104的消耗的結(jié)尾,控制器102通過(guò)I/O網(wǎng)絡(luò)接口 122將輸出數(shù)據(jù)、校驗(yàn)和以及控制變量置于I/O網(wǎng)絡(luò)108上。這里,除了數(shù)字I/O點(diǎn)、模擬I/O點(diǎn)和/或I/O變量之外,控制變量至少包括預(yù)計(jì)輸出基準(zhǔn)和有利于如本文描述的那樣進(jìn)行高速數(shù)據(jù)交換的任何其它適當(dāng)?shù)目刂谱兞?。輸出基?zhǔn)指示將接收輸出數(shù)據(jù)的I/O模塊106的身份,諸如獨(dú)特的身份。然后控制器102通過(guò)I/O網(wǎng)絡(luò)108將網(wǎng)絡(luò)中斷發(fā)送到224接口單元104。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)中斷包括使接口單元104中的至少一些將數(shù)據(jù)存儲(chǔ)到I/O模塊106的數(shù)據(jù)存儲(chǔ)命令。響應(yīng)于數(shù)據(jù)存儲(chǔ)命令,每個(gè)接口單元104將輸出數(shù)據(jù)存儲(chǔ)到I/O模塊106,包括數(shù)字輸出數(shù)據(jù)和/或模擬輸出數(shù)據(jù)。此外,每個(gè)接口單元104使用例如校驗(yàn)和來(lái)驗(yàn)證輸出數(shù)據(jù)的完整性。控制器102等待226預(yù)先選擇的時(shí)間期間,以使得每個(gè)接口單元104能夠完成其對(duì)I/O模塊的存儲(chǔ)。如果檢測(cè)到228錯(cuò)誤,則控制器102通過(guò)設(shè)置一個(gè)或多個(gè)診斷變量以顯示給操作者來(lái)產(chǎn)生230錯(cuò)誤的通知。如果未檢測(cè)到228錯(cuò)誤,則控制器102等待,直到需要進(jìn)行隨后的數(shù)據(jù)交換為止?,F(xiàn)在參照?qǐng)D2B,以及在示例性實(shí)施例中,以及當(dāng)將交換模式設(shè)置成異步模式時(shí),控制器102確定204輸入數(shù)據(jù)交換或輸出數(shù)據(jù)交換是否是必要的。對(duì)于異步輸入數(shù)據(jù)交換,每個(gè)接口單元104查詢I/O模塊106以得到輸入數(shù)據(jù),包括數(shù)字輸入數(shù)據(jù)和/或模擬輸入數(shù)據(jù)??刂破?02通過(guò)I/O網(wǎng)絡(luò)108接收212來(lái)自每個(gè)接口單元104的輸入數(shù)據(jù)、校驗(yàn)和以及控制變量。在一個(gè)實(shí)施例中,控制器102掃描I/O網(wǎng)絡(luò)108,以獲得輸入數(shù)據(jù)、校驗(yàn)和以及控制變量,包括每個(gè)I/o模塊106的輸入基準(zhǔn)??刂谱兞恐辽侔?biāo)識(shí)(諸如獨(dú)特地標(biāo)識(shí))從其中獲得輸入數(shù)據(jù)的每個(gè)部分的每個(gè)I/O模塊106的輸入基準(zhǔn)??刂破?02使用例如校驗(yàn)和來(lái)驗(yàn)證214輸入數(shù)據(jù)的完整性。如果檢測(cè)到216錯(cuò)誤,則控制器102通過(guò)設(shè)置一個(gè)或多個(gè)診斷變量以將其顯示經(jīng)操作者來(lái)產(chǎn)生218錯(cuò)誤的通知。如果未檢測(cè)到216錯(cuò)誤,則控制器102基于每個(gè)I/O模塊106的輸入基準(zhǔn)來(lái)將輸入數(shù)據(jù)存儲(chǔ)在220存儲(chǔ)區(qū)116中。如果未檢測(cè)到錯(cuò)誤,則控制器102等待,直到需要進(jìn)行隨后的數(shù)據(jù)交換為止。對(duì)于異步輸出數(shù)據(jù)交換,控制器102通過(guò)I/O網(wǎng)絡(luò)108將輸出數(shù)據(jù)、校驗(yàn)和以及多個(gè)控制變量發(fā)送到222接口單元104。在一個(gè)實(shí)施例中,在控制器掃描接口單元104的消耗的結(jié)尾,控制器102通過(guò)I/O網(wǎng)絡(luò)接口 122將輸出數(shù)據(jù)、校驗(yàn)和以及控制變量置于I/O網(wǎng)絡(luò)108上。這里,除了數(shù)字I/O點(diǎn)、模擬I/O點(diǎn)和/或I/O變量之外,控制變量至少包括預(yù)計(jì)輸出基準(zhǔn)和有利于如本文描述的那樣進(jìn)行高速數(shù)據(jù)交換的任何其它適當(dāng)?shù)目刂谱兞?。輸出基?zhǔn)指示將接收輸出數(shù)據(jù)的I/O模塊106的身份,諸如獨(dú)特的身份。每個(gè)接口單元104以至少部分地由每個(gè)接口單元104的網(wǎng)絡(luò)掃描速率限定的速率來(lái)存儲(chǔ)輸出數(shù)據(jù)I/O模塊106,其中,輸出數(shù)據(jù)包括數(shù)字輸出數(shù)據(jù)和/或模擬輸出數(shù)據(jù)。此外,每個(gè)接口單元104使用例如校驗(yàn)和來(lái)驗(yàn)證輸出數(shù)據(jù)的完整性。如果檢測(cè)到228錯(cuò)誤,則控制器102通過(guò)設(shè)置一個(gè)或多個(gè)診斷變量以將其顯示給操作者來(lái)產(chǎn)生230錯(cuò)誤的通知。如果未檢測(cè)到228錯(cuò)誤,則控制器102等待,直到需要進(jìn)行隨后的數(shù)據(jù)交換為止。在一個(gè)實(shí)施例中,控制器102對(duì)每個(gè)數(shù)據(jù)交換(輸入和輸出兩者)使用相同的交換模式,直到交換模式被修改為止。例如,控制器102使用針對(duì)輸入數(shù)據(jù)交換和/或輸出數(shù)據(jù)交換而設(shè)置的同步模式,直到交換模式變成異步模式為止。類似地,控制器102使用針對(duì)輸入數(shù)據(jù)交換和/或輸出數(shù)據(jù)交換而設(shè)置的異步模式,直到交換模式變成同步模式為止。在備選實(shí)施例中,針對(duì)每個(gè)數(shù)據(jù)交換來(lái)設(shè)置交換模式。上面詳細(xì)描述了用于通過(guò)網(wǎng)絡(luò)來(lái)交換輸入數(shù)據(jù)和輸出數(shù)據(jù)的方法、系統(tǒng)和設(shè)備的示例性實(shí)施例。方法、系統(tǒng)和設(shè)備不限于本文描述的特定實(shí)施例,而是相反,方法的操作和/或系統(tǒng)和/或設(shè)備的組件可獨(dú)立地并且與本文描述的其它操作和/或組件分開(kāi)來(lái)使用。另 夕卜,也可與其它系統(tǒng)、方法和/或設(shè)備結(jié)合起來(lái)限定或使用描述的操作和/或組件,并且不限于僅用本文描述的系統(tǒng)、方法和存儲(chǔ)介質(zhì)來(lái)實(shí)踐描述的操作和/或組件??刂破骰蚪涌趩卧?,諸如本文描述的那些,典型地包括至少一些形式的計(jì)算機(jī)可讀介質(zhì)。以示例而非限制的方式,計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性的、可移動(dòng)和不可移動(dòng)的介質(zhì),以存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息。通信介質(zhì)典型地包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或在調(diào)制數(shù)據(jù)信號(hào)(諸如載波或其它傳送機(jī)構(gòu))中的其它數(shù)據(jù),并且通信介質(zhì)包括任何信息輸送介質(zhì)。本領(lǐng)域技術(shù)人員熟悉調(diào)制數(shù)據(jù)信號(hào),其具有其特性組中的一個(gè)或多個(gè),或者以對(duì)信號(hào)中的信息編碼的方式改變。以上任一個(gè)的組合也包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。雖然結(jié)合示例性控制和/或計(jì)算系統(tǒng)環(huán)境來(lái)描述了本發(fā)明,但是可用許多其它通用或?qū)S每刂坪?或計(jì)算系統(tǒng)環(huán)境或配置來(lái)操作本發(fā)明的實(shí)施例??刂坪?或計(jì)算系統(tǒng)環(huán)境不意于對(duì)本發(fā)明的任何方面的使用或功能性的范圍提出任何限制。此外,控制和/或計(jì)算系統(tǒng)環(huán)境不應(yīng)理解為有與示例性操作環(huán)境中示出的組件中的任何一個(gè)或組合有關(guān)的任何依賴或需要??稍谟梢粋€(gè)或多個(gè)計(jì)算機(jī)或其它裝置執(zhí)行的計(jì)算機(jī)可執(zhí)行指令(諸如程序組件或模塊)的一般語(yǔ)境中描述本發(fā)明的實(shí)施例??捎萌魏螖?shù)量和組織的組件或模塊來(lái)實(shí)現(xiàn)本發(fā)明的各方面。例如,本發(fā)明的各方面不限于特定的計(jì)算機(jī)可執(zhí)行指令或圖中示出的以及本文描述的特定的組件或模塊。本發(fā)明的備選實(shí)施例可包括比本文示出和描述的具有更多或更多功能性的不同的計(jì)算機(jī)可執(zhí)行指令或組件。本文示出和描述的本發(fā)明的實(shí)施例的操作的執(zhí)行或執(zhí)行的順序不是必要的,除非另有規(guī)定。也就是說(shuō),可按任何順序來(lái)執(zhí)行操作,除非另有規(guī)定,而且本發(fā)明的實(shí)施例可包括另外的或比本文公開(kāi)的那些更少的操作。例如,構(gòu)想到的是,在另一個(gè)操作之前、同時(shí)或之后進(jìn)行或執(zhí)行特定的操作在本發(fā)明的各方面的范圍內(nèi)。在一些實(shí)施例中,用語(yǔ)“控制器”大體指示任何計(jì)算機(jī)系統(tǒng),包括可編程的自動(dòng)化控制器(PAC)、可編程的邏輯控制器(PLC),以及能夠如本文描述的那樣控制自動(dòng)化和/或通信功能的任何其它計(jì)算機(jī)系統(tǒng)。以上示例僅是示例性的,并且從而決不意于限制用語(yǔ)“控制器”的定義和/或含義。在一些實(shí)施例中,用語(yǔ)“處理器”大體指示任何可編程的系統(tǒng),包括系統(tǒng)和微控制器、精簡(jiǎn)指令集電路(RISC)、專用集成電路(ASIC)、可編程邏輯電路,以及能夠進(jìn)行本文描述的功能的任何其它電路或處理器。以上示例僅是示例性的,并且從而決不意于限制用語(yǔ)“處理器”的定義和/或含義。在一些實(shí)施例中,用語(yǔ)“數(shù)據(jù)庫(kù)”大體指示任何數(shù)據(jù)集合,包括分級(jí)數(shù)據(jù)庫(kù)、關(guān)系數(shù)據(jù)庫(kù)、平面文件數(shù)據(jù)庫(kù)、對(duì)象關(guān)系數(shù)據(jù)庫(kù)、面向?qū)ο蟮臄?shù)據(jù)庫(kù),以及存儲(chǔ)在計(jì)算機(jī)系統(tǒng)中的任何其它結(jié)構(gòu)化的記錄或數(shù)據(jù)集合。以上示例僅是示例性的,并且從而決不意于限制用語(yǔ)“數(shù)據(jù)庫(kù)”的定義和/或含義。數(shù)據(jù)庫(kù)的示例包括(但不限于僅包括)Oracle 數(shù)據(jù)庫(kù)、MySQL> IBM DB2> Microsoft SQL Server、Sybase 和 PostgreSQL。但是,可使用使得能夠?qū)崿F(xiàn)本文描述系統(tǒng)和方法的任何數(shù)據(jù)庫(kù)。(Oracle是加利福尼亞紅木海岸的甲骨文公司 的注冊(cè)商標(biāo);IBM是紐約阿蒙克的國(guó)際商用機(jī)器公司的注冊(cè)商標(biāo);MiCix)SOft是華盛頓雷德蒙的微軟公司的注冊(cè)商標(biāo);以及Sybase是加利福尼亞都柏林的賽貝斯的注冊(cè)商標(biāo)。)
當(dāng)介紹本發(fā)明或其實(shí)施例的各方面的元件時(shí),冠詞“一”、、“該”和“所述”意于表示存在元件的一個(gè)或多個(gè)的意思。用語(yǔ)“包括”、“包含”和“具有”意于為包括性的,并且表示除了列出的元件之外可存在另外的元件的意思。本書(shū)面描述使用示例來(lái)公開(kāi)包括最佳模式的本發(fā)明,并還使本領(lǐng)域技術(shù)人員能實(shí)踐本發(fā)明,包括制作和使用任何裝置或系統(tǒng)及執(zhí)行任何結(jié)合的方法。本發(fā)明可取得專利的范圍由權(quán)利要求定義,且可包括本領(lǐng)域技術(shù)人員想到的其它示例。如果此類其它示例具有與權(quán)利要求字面語(yǔ)言無(wú)不同的結(jié)構(gòu)要素,或者如果它們包括與權(quán)利要求字面語(yǔ)言無(wú)實(shí)質(zhì)不同的等效結(jié)構(gòu)要素,則它們規(guī)定為在權(quán)利要求的范圍之內(nèi)。
權(quán)利要求
1.一種用于使用耦接到至少一個(gè)接口單元的控制器來(lái)在網(wǎng)絡(luò)上交換數(shù)據(jù)的方法,所述至少一個(gè)接口單元具有至少一個(gè)輸入/輸出(I/O)模塊,所述方法包括 選擇性地將交換模式設(shè)置成同步模式和異步模式中的一個(gè);以及 確定是否執(zhí)行輸入數(shù)據(jù)交換或輸出數(shù)據(jù)交換,所述輸入數(shù)據(jù)交換至少部分地以至少一個(gè)輸入基準(zhǔn)為基礎(chǔ),所述至少一個(gè)輸入基準(zhǔn)標(biāo)識(shí)從其中檢索所述輸入數(shù)據(jù)的所述至少一個(gè)I/o模塊,所述輸出數(shù)據(jù)交換至少部分地以至少一個(gè)輸出基準(zhǔn)為基礎(chǔ),所述至少一個(gè)輸出基準(zhǔn)標(biāo)識(shí)用以存儲(chǔ)所述輸出數(shù)據(jù)的所述至少一個(gè)I/o模塊。
2.根據(jù)權(quán)利要求I所述的方法,進(jìn)一步包括交換輸入數(shù)據(jù),包括 通過(guò)所述網(wǎng)絡(luò)從所述至少一個(gè)接口單元接收輸入數(shù)據(jù)和所述至少一個(gè)輸入基準(zhǔn);以及 基于所述至少一個(gè)輸入基準(zhǔn),將所述輸入數(shù)據(jù)存儲(chǔ)在存儲(chǔ)區(qū)位置中。
3.根據(jù)權(quán)利要求2所述的方法,其中,交換輸入數(shù)據(jù)進(jìn)一步包括驗(yàn)證所述輸入數(shù)據(jù)的完整性,以及在檢測(cè)到錯(cuò)誤之后產(chǎn)生通知。
4.根據(jù)權(quán)利要求2所述的方法,其中,當(dāng)所述交換模式設(shè)置成所述同步模式時(shí),交換輸入數(shù)據(jù)進(jìn)一步包括通過(guò)所述網(wǎng)絡(luò)將中斷發(fā)送到所述至少一個(gè)接口單元,所述中斷包括由所述至少一個(gè)接口單元執(zhí)行、以從根據(jù)所述輸入基準(zhǔn)的所述至少一個(gè)I/O模塊中檢索所述輸入數(shù)據(jù)的數(shù)據(jù)收集命令。
5.根據(jù)權(quán)利要求I所述的方法,進(jìn)一步包括交換輸出數(shù)據(jù),這包括通過(guò)所述網(wǎng)絡(luò)將輸出數(shù)據(jù)和多個(gè)控制變量發(fā)送到所述至少一個(gè)接口單元。
6.根據(jù)權(quán)利要求5所述的方法,其中,交換輸出數(shù)據(jù)進(jìn)一步包括在檢測(cè)到存儲(chǔ)錯(cuò)誤之后產(chǎn)生通知。
7.根據(jù)權(quán)利要求5所述的方法,其中,當(dāng)所述交換模式設(shè)置成所述同步模式時(shí),交換輸出數(shù)據(jù)進(jìn)一步包括通過(guò)所述網(wǎng)絡(luò)將中斷發(fā)送到所述至少一個(gè)接口單元,所述中斷包括由所述至少一個(gè)接口單元執(zhí)行、以將所述輸出數(shù)據(jù)存儲(chǔ)在根據(jù)所述至少一個(gè)輸出基準(zhǔn)的所述至少一個(gè)I/O模塊上的數(shù)據(jù)存儲(chǔ)命令。
8.一種數(shù)據(jù)交換系統(tǒng),包括 包括至少一個(gè)輸入/輸出(I/O)模塊的至少一個(gè)接口單元;以及 通過(guò)網(wǎng)絡(luò)而耦接到所述至少一個(gè)接口單元的控制器,所述控制器包括存儲(chǔ)區(qū)和耦接到所述存儲(chǔ)區(qū)的處理器,所述處理器配置成進(jìn)行下者選擇性地將交換模式設(shè)置成同步模式和異步模式中的一個(gè);以及確定是否執(zhí)行輸入數(shù)據(jù)交換或輸出數(shù)據(jù)交換,所述輸入數(shù)據(jù)交換至少部分地以至少一個(gè)輸入基準(zhǔn)為基礎(chǔ),所述至少一個(gè)輸入基準(zhǔn)標(biāo)識(shí)從其中檢索所述輸入數(shù)據(jù)的所述至少一個(gè)I/O模塊,所述輸出數(shù)據(jù)交換至少部分地以至少一個(gè)輸出基準(zhǔn)為基礎(chǔ),所述至少一個(gè)輸出基準(zhǔn)標(biāo)識(shí)用以存儲(chǔ)所述輸出數(shù)據(jù)的所述至少一個(gè)I/O模塊。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)交換系統(tǒng),其中,當(dāng)執(zhí)行所述輸入數(shù)據(jù)交換時(shí),所述處理器進(jìn)一步配置成進(jìn)行下者 通過(guò)所述網(wǎng)絡(luò)從所述至少一個(gè)接口單元接收輸入數(shù)據(jù)和所述至少一個(gè)輸入基準(zhǔn);以及 基于所述至少一個(gè)輸入基準(zhǔn),將所述輸入數(shù)據(jù)存儲(chǔ)在所述存儲(chǔ)區(qū)的位置中。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)交換系統(tǒng),其中,當(dāng)執(zhí)行所述輸入數(shù)據(jù)交換時(shí),所述處理器進(jìn)一步配置成驗(yàn)證所述輸入數(shù)據(jù)的數(shù)據(jù)完整性,以及在檢測(cè)到錯(cuò)誤之后產(chǎn)生通知。
11.根據(jù)權(quán)利要求9所述的數(shù)據(jù)交換系統(tǒng),其中,當(dāng)在所述交換模式設(shè)置成所述同步模式的情況下執(zhí)行所述輸入數(shù)據(jù)交換時(shí),所述處理器進(jìn)一步配置成通過(guò)所述網(wǎng)絡(luò)將中斷發(fā)送到所述至少一個(gè)接口單元,所述中斷包括由所述至少一個(gè)接口單元執(zhí)行、以從根據(jù)所述至少一個(gè)輸入基準(zhǔn)的所述至少一個(gè)I/O模塊中檢索所述輸入數(shù)據(jù)的數(shù)據(jù)收集命令。
12.根據(jù)權(quán)利要求8所述的數(shù)據(jù)交換系統(tǒng),其中,當(dāng)執(zhí)行所述輸出數(shù)據(jù)交換時(shí),所述處理器進(jìn)一步配置成發(fā)送輸出數(shù)據(jù)和多個(gè)控制變量。
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)交換系統(tǒng),其中,當(dāng)執(zhí)行所述輸出數(shù)據(jù)交換時(shí),所述處理器進(jìn)一步配置成在檢測(cè)到存儲(chǔ)錯(cuò)誤之后產(chǎn)生通知。
14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)交換系統(tǒng),其中,當(dāng)在所述交換模式設(shè)置成所述同步模式的情況下執(zhí)行所述輸出數(shù)據(jù)交換時(shí),所述處理器進(jìn)一步配置成通過(guò)所述網(wǎng)絡(luò)將中斷發(fā)送到所述至少一個(gè)接口單元,所述中斷包括由所述至少一個(gè)接口單元執(zhí)行、以將所述輸出數(shù)據(jù)存儲(chǔ)在根據(jù)所述至少一個(gè)輸出基準(zhǔn)的所述至少一個(gè)I/O模塊上的數(shù)據(jù)存儲(chǔ)命令。
15.一種通過(guò)網(wǎng)絡(luò)而耦接到接口單元的控制器,所述控制器包括 存儲(chǔ)區(qū),其配置成存儲(chǔ)與耦接到所述接口單元的輸入/輸出(I/O)模塊相關(guān)聯(lián)的至少一個(gè)存儲(chǔ)區(qū)位置;以及 耦接到所述存儲(chǔ)區(qū)的處理器,所述處理器配置成確定是否執(zhí)行輸入數(shù)據(jù)交換或輸出數(shù)據(jù)交換,所述輸入數(shù)據(jù)交換至少部分地以輸入基準(zhǔn)為基礎(chǔ),所述輸入基準(zhǔn)標(biāo)識(shí)從其中檢索所述輸入數(shù)據(jù)的所述I/O模塊,所述輸出數(shù)據(jù)交換至少部分地以輸出基準(zhǔn)為基礎(chǔ),所述輸出基準(zhǔn)標(biāo)識(shí)用以存儲(chǔ)所述輸出數(shù)據(jù)的所述I/O模塊。
16.根據(jù)權(quán)利要求15所述的控制器,其中,所述處理器配置成選擇性地將交換模式設(shè)置成同步模式和異步模式中的一個(gè)。
17.根據(jù)權(quán)利要求16所述的控制器,其中,當(dāng)執(zhí)行所述輸入數(shù)據(jù)交換時(shí),所述處理器進(jìn)一步配置成 通過(guò)所述網(wǎng)絡(luò)從所述接口單元接收輸入數(shù)據(jù)和輸入基準(zhǔn);以及 基于所述輸入基準(zhǔn),將所述輸入數(shù)據(jù)存儲(chǔ)在所述至少一個(gè)存儲(chǔ)區(qū)位置中。
18.根據(jù)權(quán)利要求17所述的控制器,其中,為了所述輸入數(shù)據(jù)交換,并且在所述交換模式設(shè)置成所述同步模式的情況下,所述處理器進(jìn)一步配置成通過(guò)所述網(wǎng)絡(luò)將中斷發(fā)送到所述接口單元,所述中斷包括由所述接口單元執(zhí)行、以從根據(jù)所述輸入基準(zhǔn)的所述I/O模塊中檢索所述輸入數(shù)據(jù)的數(shù)據(jù)收集命令。
19.根據(jù)權(quán)利要求16所述的控制器,其中,當(dāng)執(zhí)行所述輸出數(shù)據(jù)交換時(shí),所述處理器進(jìn)一步配置成發(fā)送輸出數(shù)據(jù)和多個(gè)控制變量。
20.根據(jù)權(quán)利要求19所述的控制器,其中,為了所述輸出數(shù)據(jù)交換,并且在所述交換模式設(shè)置成所述同步模式的情況下,所述處理器進(jìn)一步配置成通過(guò)所述網(wǎng)絡(luò)將中斷發(fā)送到所述接口單元,所述中斷包括由所述接口單元執(zhí)行、以將所述輸出數(shù)據(jù)存儲(chǔ)在根據(jù)所述輸出基準(zhǔn)的所述I/o模塊上的數(shù)據(jù)存儲(chǔ)命令。
全文摘要
一種用于使用控制器來(lái)交換數(shù)據(jù)的方法,包括選擇性地將交換模式設(shè)置成同步模式和異步模式中的一個(gè),以及確定是否執(zhí)行輸入數(shù)據(jù)交換或輸出數(shù)據(jù)交換。輸入數(shù)據(jù)交換至少部分地以輸入基準(zhǔn)為基礎(chǔ),輸入基準(zhǔn)標(biāo)識(shí)從其中檢索輸入數(shù)據(jù)的輸入/輸出(I/O)模塊,并且輸出數(shù)據(jù)交換至少部分地以輸出基準(zhǔn)為基礎(chǔ),輸出基準(zhǔn)標(biāo)識(shí)用以存儲(chǔ)輸出數(shù)據(jù)的I/O模塊。
文檔編號(hào)H04L25/45GK102948118SQ201180020339
公開(kāi)日2013年2月27日 申請(qǐng)日期2011年4月1日 優(yōu)先權(quán)日2010年4月23日
發(fā)明者M·A·羅布諾, J·L·西蒙斯, R·A·魯欽斯基, D·J·賓漢 申請(qǐng)人:通用電氣智能平臺(tái)有限公司