用于工業(yè)通信協(xié)議中的數(shù)據(jù)聚合的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及用于工業(yè)通信協(xié)議中的數(shù)據(jù)聚合的方法和系統(tǒng)。公開了用于與通過連接至工業(yè)網(wǎng)絡(luò)的模塊傳送的數(shù)據(jù)幀進(jìn)行交互的方法和系統(tǒng)。每個(gè)模塊包括位于物理層上方的網(wǎng)絡(luò)接口上的聚合單元。為了傳輸數(shù)據(jù),聚合單元從動(dòng)態(tài)數(shù)據(jù)包中讀取報(bào)頭,以確定該模塊是否為用于該包的參與者模塊。如果是,則聚合單元將來自該模塊的數(shù)據(jù)插入該數(shù)據(jù)包中,并且將包傳輸至另一模塊。為了接收數(shù)據(jù),聚合單元從數(shù)據(jù)包讀取報(bào)頭,以確定該數(shù)據(jù)包是否包括用于該模塊的數(shù)據(jù)。如果該數(shù)據(jù)包包括用于該模塊的數(shù)據(jù),則聚合單元讀取該數(shù)據(jù),被將該數(shù)據(jù)包傳送至另一模塊。如果聚合單元確定該數(shù)據(jù)包不用于該模塊,則在不進(jìn)行進(jìn)一步交互的情況下將該數(shù)據(jù)包傳送至另一模塊。
【專利說明】
用于工業(yè)通信協(xié)議中的數(shù)據(jù)聚合的方法和系統(tǒng)[0001]相關(guān)申請的交叉引用[0002]本申請要求于2015年3月30日提交的題為“Method and System for Data Aggregat1n in an Industrial Communicat1n Protocol” 的美國臨時(shí)專利申請序列 N0.62/140,149的優(yōu)先權(quán),并且其公開內(nèi)容被并入本文中。
技術(shù)領(lǐng)域
[0003]本發(fā)明涉及一種對(duì)經(jīng)由工業(yè)協(xié)議傳輸?shù)臄?shù)據(jù)進(jìn)行聚合的方法。更具體地,公開了一種方法,用于生成通過多個(gè)附加模塊從第一模塊傳輸至接收模塊的動(dòng)態(tài)數(shù)據(jù)幀,并且該方法用于當(dāng)動(dòng)態(tài)數(shù)據(jù)幀通過附加模塊時(shí)將數(shù)據(jù)添加至動(dòng)態(tài)數(shù)據(jù)幀?!颈尘凹夹g(shù)】
[0004]工業(yè)的控制器是用于控制工廠自動(dòng)化等的專用計(jì)算機(jī)。工業(yè)控制器通常執(zhí)行被高度定制到特定控制應(yīng)用的控制程序。特定的控制語言(例如“繼電器梯形邏輯”)通常被用于利于對(duì)裝置進(jìn)行編程。在所存儲(chǔ)的程序的引導(dǎo)下,工業(yè)控制器的處理器定期檢查輸入裝置的狀態(tài),并且更新輸出裝置的狀態(tài)。為了保證對(duì)機(jī)器或處理的可預(yù)測的控制,控制程序必須是高度可靠的,并且在明確限定的時(shí)間段執(zhí)行。
[0005]隨著工業(yè)處理的復(fù)雜性增加,越來越多的裝置被連接至工業(yè)控制器。裝置通常分布在機(jī)器周圍或沿生產(chǎn)線分布。工業(yè)網(wǎng)絡(luò)通常用于連接分布式裝置,并且使得數(shù)據(jù)能夠在裝置之間傳輸。然而,越來越多的裝置需要增加在這些裝置之間的通信量。然而,控制程序仍然需要在明確限定的時(shí)間段中執(zhí)行通信。因此,要么分配給通信的時(shí)間量必須增加,要么必須提高傳輸速率。因?yàn)楣I(yè)控制器通常具有固定時(shí)間間隔(其中要執(zhí)行程序的每個(gè)周期),所以更理想的是提高傳輸速率。
[0006]如本領(lǐng)域技術(shù)人員已知的那樣,用于提高傳輸速率的最近的技術(shù)包括:在沒有完全處理幀的情況下,將數(shù)據(jù)插入以太網(wǎng)幀,或者從以太網(wǎng)幀中提取數(shù)據(jù)。主裝置生成數(shù)據(jù)幀,并且使數(shù)據(jù)幀以環(huán)型拓?fù)涞姆绞搅魍ㄍㄟ^一系列從裝置。數(shù)據(jù)幀包括具有為每個(gè)從裝置保留的部分的數(shù)據(jù)塊。由于在每個(gè)從裝置處接收幀,所以該裝置可能在沒有處理整個(gè)幀的情況下將數(shù)據(jù)插入在為該裝置保留的數(shù)據(jù)塊中的點(diǎn)中,或者從為該裝置保留的數(shù)據(jù)塊中的點(diǎn)中提取數(shù)據(jù)。在訪問數(shù)據(jù)塊的一部分之后,從裝置將數(shù)據(jù)幀重新傳輸至下一個(gè)從裝置。 最后的從裝置將幀返回至主裝置,以完成對(duì)幀的處理。
[0007]然而,在不招致各種缺點(diǎn)的情況下,這樣的系統(tǒng)并沒有被完全滿足。主裝置是能夠生成數(shù)據(jù)幀的唯一裝置。然后,數(shù)據(jù)幀以環(huán)形拓?fù)涞姆绞搅魍ㄖ寥舾蛇B接至主裝置的從裝置。因此,希望與來自第一裝置上游的另一從裝置進(jìn)行通信的一個(gè)從裝置首先必須將數(shù)據(jù)插入一個(gè)數(shù)據(jù)幀中,并且隨后主裝置必須包括到下一數(shù)據(jù)幀中的數(shù)據(jù),上游的從裝置可以在隨后的通信周期中從該下一數(shù)據(jù)幀中提取數(shù)據(jù)。
[0008]因此,理想的是提供一種用于提高工業(yè)網(wǎng)絡(luò)上的傳輸速率的改進(jìn)的系統(tǒng),該系統(tǒng)使得能夠在裝置之間進(jìn)行雙向通信。
[0009]現(xiàn)有系統(tǒng)的另一個(gè)缺點(diǎn)是:只有一個(gè)主裝置可以與連接至該主裝置的從裝置中的任何從裝置進(jìn)行交流。雖然具有可以相互通信的多個(gè)遠(yuǎn)程的主裝置是很常見的,但是如果遠(yuǎn)程主裝置需要來自連接至第二主裝置的從裝置的數(shù)據(jù),或者需要將數(shù)據(jù)供應(yīng)給連接至第二主裝置的從裝置,則遠(yuǎn)程主裝置無法與該從裝置進(jìn)行直接通信。
[0010]因此,理想的是提供一種用于提高工業(yè)網(wǎng)絡(luò)上的傳輸速率的改進(jìn)的系統(tǒng),該系統(tǒng)提供用于遠(yuǎn)程裝置之間的改進(jìn)的通信。
【發(fā)明內(nèi)容】
[0011]本文中公開的主題描述了一種用于提高工業(yè)網(wǎng)絡(luò)上的傳輸速率的改進(jìn)的系統(tǒng),該系統(tǒng)使得在裝置之間能夠進(jìn)行雙向通信;以及一種用于提高工業(yè)網(wǎng)絡(luò)上的傳輸速率的改進(jìn)的系統(tǒng),該系統(tǒng)提供用于遠(yuǎn)程裝置之間的改進(jìn)的通信。第一模塊被配置成生成動(dòng)態(tài)數(shù)據(jù)包, 該動(dòng)態(tài)數(shù)據(jù)包將提供多個(gè)模塊與接收模塊之間的數(shù)據(jù)傳輸。動(dòng)態(tài)數(shù)據(jù)包可實(shí)時(shí)配置,以對(duì)要參與到該動(dòng)態(tài)數(shù)據(jù)包中的模塊的不同組進(jìn)行標(biāo)識(shí),并且動(dòng)態(tài)數(shù)據(jù)包包括報(bào)頭,其對(duì)參與到該動(dòng)態(tài)數(shù)據(jù)包中的模塊進(jìn)行標(biāo)識(shí)。每個(gè)模塊包括聚合單元,并且動(dòng)態(tài)數(shù)據(jù)包在第一模塊與接收模塊之間通過每個(gè)模塊的聚合單元來順序地傳遞。聚合單元首先檢查報(bào)頭,以確定該聚合單元所在的模塊是否要參與到動(dòng)態(tài)數(shù)據(jù)包中。如果該模塊未參與到動(dòng)態(tài)數(shù)據(jù)包中, 則聚合單元將該動(dòng)態(tài)數(shù)據(jù)包傳送至第一模塊與接收模塊之間的鏈中的下一模塊。如果該模塊參與到動(dòng)態(tài)數(shù)據(jù)包中,則該模塊將其參與者數(shù)據(jù)插入動(dòng)態(tài)數(shù)據(jù)包中,確定用于該數(shù)據(jù)包的新的校驗(yàn)和,并且將現(xiàn)有校驗(yàn)和替換為新的校驗(yàn)和。在將來自相應(yīng)模塊的參與者數(shù)據(jù)插入動(dòng)態(tài)數(shù)據(jù)包之后,聚合單元將該動(dòng)態(tài)數(shù)據(jù)包傳送至第一模塊與接收模塊之間的鏈中的下一模塊。因此,接收模塊接收包含來自參與模塊中的每個(gè)的數(shù)據(jù)的單個(gè)數(shù)據(jù)包而不是多個(gè)數(shù)據(jù)包,其中從每個(gè)模塊發(fā)送單獨(dú)的包。
[0012]接收模塊反過來可以發(fā)送具有每個(gè)參與模塊的數(shù)據(jù)的單個(gè)包。接收模塊生成數(shù)據(jù)包并且插入標(biāo)識(shí)符以及該數(shù)據(jù)包意圖傳輸數(shù)據(jù)至的每個(gè)模塊的數(shù)據(jù)。該數(shù)據(jù)包從接收模塊傳輸回第一模塊。聚合單元在連接在接收模塊與第一模塊之間的每個(gè)模塊處檢查包,以確定在該包內(nèi)是否識(shí)別到用于該聚合單元的相應(yīng)的模塊。如果該模塊沒有從該數(shù)據(jù)包接收到數(shù)據(jù),則聚合單元將該數(shù)據(jù)包傳送至接收模塊與第一模塊之間的鏈中的下一模塊。如果該模塊從該數(shù)據(jù)包接收到數(shù)據(jù),則該模塊從該包讀取針對(duì)該模塊的數(shù)據(jù),然后將該數(shù)據(jù)包傳送至接收模塊與第一模塊之間的鏈中的下一模塊。因此,單個(gè)返回?cái)?shù)據(jù)包可以將數(shù)據(jù)傳輸至多個(gè)模塊,而不是接收模塊生成至每個(gè)參與模塊的單獨(dú)的返回包。可以構(gòu)想的是,動(dòng)態(tài)數(shù)據(jù)包和返回?cái)?shù)據(jù)包可以在工業(yè)網(wǎng)絡(luò)內(nèi)的任何兩個(gè)裝置之間傳輸,其中,第一模塊限定目的地和位于第一模塊與接收模塊之間的任何參與模塊。
[0013]根據(jù)本發(fā)明的一個(gè)實(shí)施例,公開了一種用于從多個(gè)發(fā)送模塊向單個(gè)接收模塊傳輸數(shù)據(jù)的方法。該方法包括:在第一發(fā)送模塊中生成包括專用報(bào)頭的動(dòng)態(tài)數(shù)據(jù)幀;以及在各發(fā)送模塊中的每個(gè)發(fā)送模塊中的聚合單元處從多個(gè)發(fā)送模塊中的另一發(fā)送模塊接收動(dòng)態(tài)數(shù)據(jù)幀。每個(gè)發(fā)送模塊根據(jù)專用報(bào)頭確定該發(fā)送模塊是否為動(dòng)態(tài)數(shù)據(jù)幀中的參與者。當(dāng)發(fā)送模塊確定其是動(dòng)態(tài)數(shù)據(jù)幀中的參與者時(shí),聚合單元將參與者數(shù)據(jù)添加至該動(dòng)態(tài)數(shù)據(jù)幀,并且將添加有參與者數(shù)據(jù)的動(dòng)態(tài)數(shù)據(jù)幀傳輸至接收模塊或另一發(fā)送模塊。
[0014]根據(jù)本發(fā)明的另一實(shí)施例,公開了一種用于在工業(yè)網(wǎng)絡(luò)上傳送動(dòng)態(tài)數(shù)據(jù)幀的模塊。該模塊包括第一端口、第二端口和聚合單元。第一端口可操作地從工業(yè)網(wǎng)絡(luò)接收動(dòng)態(tài)數(shù)據(jù)幀,其中,該動(dòng)態(tài)數(shù)據(jù)幀包括專用報(bào)頭。第二端口可操作地在工業(yè)網(wǎng)絡(luò)上傳輸動(dòng)態(tài)數(shù)據(jù)幀,并且聚合單元與第一端口和第二端口進(jìn)行通信。聚合單元可操作地用于:從第一端口接收動(dòng)態(tài)數(shù)據(jù)幀,根據(jù)專用報(bào)頭確定該模塊是否為用于動(dòng)態(tài)數(shù)據(jù)幀的參與者模塊,當(dāng)該模塊是參與者模塊時(shí),將參與者數(shù)據(jù)添加至動(dòng)態(tài)數(shù)據(jù)幀,以及經(jīng)由第二端口來傳輸添加有參與者數(shù)據(jù)的動(dòng)態(tài)數(shù)據(jù)幀。
[0015]根據(jù)本發(fā)明的又一實(shí)施例,公開了一種用于減少工業(yè)網(wǎng)絡(luò)上的網(wǎng)絡(luò)流量的系統(tǒng)。 該系統(tǒng)包括多個(gè)發(fā)送模塊和接收模塊。每個(gè)發(fā)送模塊包括第一端口、第二端口和聚合單元。 第一端口可操作地從工業(yè)網(wǎng)絡(luò)接收動(dòng)態(tài)數(shù)據(jù)幀,其中,動(dòng)態(tài)數(shù)據(jù)幀包括專用報(bào)頭。第二端口可操作地在工業(yè)網(wǎng)絡(luò)上傳輸動(dòng)態(tài)數(shù)據(jù)幀,并且聚合單元與第一端口和第二端口進(jìn)行通信。 聚合單元可操作地用于:從第一端口接收動(dòng)態(tài)數(shù)據(jù)幀;根據(jù)專用報(bào)頭確定該模塊是否為用于動(dòng)態(tài)數(shù)據(jù)幀的參與者模塊,當(dāng)該模塊是參與者模塊時(shí),將參與者數(shù)據(jù)添加至動(dòng)態(tài)數(shù)據(jù)幀; 以及經(jīng)由第二端口來傳輸添加有參與者數(shù)據(jù)的動(dòng)態(tài)數(shù)據(jù)幀。接收模塊包括通信端口和處理器。該端口與工業(yè)網(wǎng)絡(luò)進(jìn)行通信以從多個(gè)發(fā)送模塊中的一個(gè)發(fā)送模塊接收動(dòng)態(tài)數(shù)據(jù)幀,并且處理器可操作地從動(dòng)態(tài)數(shù)據(jù)幀中提取用于多個(gè)發(fā)送模塊中的每個(gè)發(fā)送模塊的參與者數(shù)據(jù)。
[0016]對(duì)于本領(lǐng)域技術(shù)人員來說,本發(fā)明的這些和其它優(yōu)點(diǎn)及特征將從詳細(xì)描述和附圖中變得明顯。然而,應(yīng)當(dāng)理解,指出本發(fā)明的優(yōu)選實(shí)施例的詳細(xì)描述和附圖是通過說明而非限制的方式給出。在不脫離本發(fā)明的精神的情況下,可以在本發(fā)明的范圍內(nèi)進(jìn)行許多變化和修改,并且本發(fā)明包括所有這樣的修改?!靖綀D說明】
[0017]在附圖中示出了本文中所公開的主題的各種示例性實(shí)施例,貫穿全文,附圖中相同附圖標(biāo)記表示相同的部件,并且在附圖中:
[0018]圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例經(jīng)由工業(yè)網(wǎng)絡(luò)連接的多個(gè)模塊的框圖表示;
[0019]圖2是結(jié)合本發(fā)明的一個(gè)實(shí)施例的示例性環(huán)境的框圖表示;
[0020]圖3是示出圖2的環(huán)境內(nèi)的模塊之間的通信路徑的框圖表示;[〇〇21]圖4是圖3的模塊的框圖表示;
[0022]圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的遠(yuǎn)程模塊之間的若干連接的框圖表示;
[0023]圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例將參與者數(shù)據(jù)添加到動(dòng)態(tài)數(shù)據(jù)幀的多個(gè)模塊的框圖表示;[〇〇24]圖7是圖6的參與者數(shù)據(jù)的框圖表示;以及
[0025]圖8是結(jié)合本發(fā)明的一個(gè)實(shí)施例以環(huán)型拓?fù)涞姆绞讲贾玫囊唤M示例性模塊。
[0026]在對(duì)附圖中所示的本發(fā)明的各種實(shí)施例的描述中,為了清楚起見,將采取特定的術(shù)語。然而,特定的術(shù)語不意在將本發(fā)明限制于所選擇的特定術(shù)語,并且要理解的是,每個(gè)特定術(shù)語包括以類似的方式進(jìn)行操作以實(shí)現(xiàn)類似的目的的所有技術(shù)等同物。例如,通常使用詞語“連接”、“附接”或與其類似的術(shù)語。這些術(shù)語不限于直接連接,但包括通過其它元件的連接,其中,這樣的連接被本領(lǐng)域技術(shù)人員識(shí)別為等同物。【具體實(shí)施方式】
[0027]參照在下文描述中詳細(xì)描述的非限制性實(shí)施例來對(duì)本文中所公開的主題的各種特征和有利細(xì)節(jié)進(jìn)行更充分地說明。[〇〇28]首先轉(zhuǎn)至圖1,結(jié)合本發(fā)明的一個(gè)實(shí)施例的三個(gè)模塊20經(jīng)由網(wǎng)絡(luò)介質(zhì)36進(jìn)行連接。 網(wǎng)絡(luò)介質(zhì)36可以是任何合適的介質(zhì),其包括但不限于網(wǎng)絡(luò)電纜、背板或無線連接點(diǎn)。每個(gè)模塊20包括網(wǎng)絡(luò)接口 30,網(wǎng)絡(luò)接口 30進(jìn)而包括被配置成連接至網(wǎng)絡(luò)介質(zhì)36的端口 34。每個(gè)網(wǎng)絡(luò)接口 30還可以包括被配置成與模塊20中的處理器44進(jìn)行通信的端口 34。每個(gè)網(wǎng)絡(luò)接口 30 具有與端口34進(jìn)行通信的一個(gè)或更多個(gè)緩沖器56(也參見圖4),以用于暫時(shí)地存儲(chǔ)在端口 34處接收或者要從端口 34傳輸?shù)臄?shù)據(jù)。還構(gòu)想到的是,在不偏離本發(fā)明的范圍的情況下,每個(gè)模塊20可以具有許多其它硬件配置。例如,處理器44和/或存儲(chǔ)器裝置48可以與單個(gè)現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC)上的網(wǎng)絡(luò)接口 30集成在一起。
[0029]接著參照圖2,結(jié)合本發(fā)明的示例性環(huán)境包括遠(yuǎn)程輸入/輸出(I/O)機(jī)架13和一對(duì)工業(yè)控制器機(jī)架11。雖然在本文中被稱為控制器機(jī)架和遠(yuǎn)程I/O機(jī)架,但是構(gòu)想到的是,也可以使用在控制箱內(nèi)以彼此相鄰的方式安裝的單獨(dú)的模塊。例如,單獨(dú)的模塊可以被配置成安裝至模塊的一個(gè)或更多個(gè)庫中的DIN導(dǎo)軌。工業(yè)控制器機(jī)架11中的每個(gè)包括電源模塊 10、處理器模塊12、輸入模塊14和輸出模塊16。遠(yuǎn)程I /0機(jī)架13包括管理工業(yè)控制器機(jī)架11 之間的通信的接口模塊15以及被包含在遠(yuǎn)程I /0機(jī)架13內(nèi)的輸入模塊14和輸出模塊16。通信電纜18將處理器模塊12彼此連接并且連接至接口模塊15。通信電纜18可以是被配置成使用如本領(lǐng)域中已知的任何合適的通信協(xié)議的電纜。要理解的是,工業(yè)控制器機(jī)架11和遠(yuǎn)程 I/O機(jī)架13可以包括模塊的許多配置,或者可選擇地被集成到具有固定配置的控制器中。
[0030]接著參照圖3,示出了被配置成在圖2的環(huán)境中進(jìn)行操作的示例性網(wǎng)絡(luò)21。處理器模塊12、輸入模塊14和輸出模塊16中的每個(gè)模塊可以被簡單地稱為模塊20。機(jī)架中或沿模塊20的庫的每個(gè)模塊20經(jīng)由背板或另一連接器與相鄰模塊20進(jìn)行通信。在機(jī)架配置中,每個(gè)模塊20可以包括在后面的電連接器,以用于插入機(jī)架內(nèi)的背板中。當(dāng)被安裝至DIN導(dǎo)軌時(shí),模塊20的每個(gè)側(cè)面上的電連接器(未示出)可以與相鄰的模塊20上的對(duì)應(yīng)連接器直接進(jìn)行連接,或者適合的電纜可以被插入在連接器之間。此外,模塊20的一部分可以經(jīng)由網(wǎng)絡(luò)介質(zhì)36連接至其它模塊。圖3中示出了模塊20之間的雙向通信的示例,其中,通過多個(gè)模塊對(duì)在兩個(gè)模塊20之間的第一方向26或第二方向28上的傳輸進(jìn)行發(fā)送。沿通信路徑的模塊20中的任何模塊可以訪問在第一方向26或第二方向28上通過模塊20進(jìn)行發(fā)送的數(shù)據(jù)幀,以向模塊20中的另一模塊提供數(shù)據(jù)或者接收來自模塊20中的另一模塊的數(shù)據(jù)。如將在下面更詳細(xì)地討論的,每個(gè)模塊20可以被配置成啟動(dòng)到任何其它模塊20的數(shù)據(jù)幀,以實(shí)現(xiàn)與位于源模塊20與目標(biāo)模塊20之間的各種其它模塊20的聚合通信。[〇〇31]接著轉(zhuǎn)至圖4,出了示例性模塊20。模塊20包括連接至位于網(wǎng)絡(luò)接口 30上的網(wǎng)絡(luò)介質(zhì)36的多個(gè)端口34。端口 34進(jìn)而連接至其它電子裝置或電路,其它電子裝置或電路構(gòu)成將被本領(lǐng)域技術(shù)人員理解的網(wǎng)絡(luò)的物理層50。聚合單元52被插入在每個(gè)模塊20的物理層50與鏈路層54之間。聚合單元52可以由分立的電子元件、FPGA或ASIC的一部分或其組合來實(shí)現(xiàn)。 如將在下面詳細(xì)地討論的,聚合單元52被配置成對(duì)在物理層50和鏈路層54之間傳輸?shù)臄?shù)據(jù)包進(jìn)行詢問。聚合單元52與一個(gè)或更多個(gè)緩沖器56進(jìn)行通信,聚合單元52可以將數(shù)據(jù)從一個(gè)或更多個(gè)緩沖器56插入數(shù)據(jù)包中,或者聚合單元52可以將從數(shù)據(jù)包接收的數(shù)據(jù)寫入一個(gè)或更多個(gè)緩沖器56。鏈路層54與端口 34進(jìn)行通信,以將數(shù)據(jù)包傳輸至處理器44,或可選擇地傳輸至其它專用的通信處理電路。
[0032]在操作中,本文所公開的數(shù)據(jù)聚合方法通過允許多個(gè)發(fā)送模塊與單個(gè)消息中的單個(gè)接收模塊進(jìn)行通信來減少網(wǎng)絡(luò)流量,以用于改進(jìn)數(shù)據(jù)的傳輸。此外,該聚合方法通過使單個(gè)接收模塊生成可以與多個(gè)發(fā)送模塊進(jìn)行通信的單個(gè)消息來支持雙向通信。每個(gè)發(fā)送模塊的聚合單元52可以與數(shù)據(jù)消息進(jìn)行交互,以將數(shù)據(jù)插入消息或從消息中提取數(shù)據(jù),并且然后將該消息傳送至下一發(fā)送模塊。
[0033]接著參照圖6,首先將討論從發(fā)送模塊到接收模塊的通信。出于說明的目的,模塊 20的庫被示出為其中模塊中的五個(gè)模塊被指定為發(fā)送模塊70和一個(gè)模塊被指定為接收模塊75。此外,最右側(cè)的模塊將被指定為播種模塊71,這意味著播種模塊71將生成數(shù)據(jù)消息并且啟動(dòng)發(fā)送消息至接收模塊75。要理解的是,可以包括各種其它數(shù)量的模塊,并且模塊20中的每個(gè)模塊可以是針對(duì)不同的數(shù)據(jù)消息的播種模塊71。此外,每個(gè)模塊20可以是關(guān)于不同的數(shù)據(jù)消息的接收模塊75。雖然在單個(gè)庫中示出了模塊20中的所有模塊,但進(jìn)一步構(gòu)想到的是,播種模塊71和接收模塊75可以位于通過適當(dāng)?shù)木W(wǎng)絡(luò)介質(zhì)連接的不同的庫中。
[0034]播種模塊71將通過在播種單元53中生成空的、動(dòng)態(tài)數(shù)據(jù)幀A來啟動(dòng)數(shù)據(jù)通信。構(gòu)想到的是,播種單元53可以被包括在播種模塊71的網(wǎng)絡(luò)接口 30上或播種模塊71的處理器44 內(nèi)。如圖6所示,空數(shù)據(jù)幀A包括兩個(gè)報(bào)頭分段和校驗(yàn)和106。第一報(bào)頭是針對(duì)工業(yè)控制系統(tǒng)的專用報(bào)頭102。專用報(bào)頭102可以包括信息,例如針對(duì)數(shù)據(jù)幀的源地址和目標(biāo)地址。專用報(bào)頭102還可以包括與通信協(xié)議的版本和所生成的幀的類型有關(guān)的信息。在專用報(bào)頭102中還可以包括連接標(biāo)識(shí)符。每個(gè)模塊20被配置成讀取專用報(bào)頭102,并且基于協(xié)議的版本和數(shù)據(jù)幀的類型來確定如何進(jìn)一步處理數(shù)據(jù)幀。例如,第一類型的數(shù)據(jù)幀被限定成用于從發(fā)送模塊70被發(fā)送至接收模塊75的消息,而第二類型的數(shù)據(jù)幀被限定成用于從接收模塊75被發(fā)送至發(fā)送模塊70的消息。此外,通過包括創(chuàng)建數(shù)據(jù)幀的協(xié)議的版本記錄,隨后執(zhí)行不同版本的協(xié)議的模塊可以根據(jù)生成該數(shù)據(jù)幀的協(xié)議的版本來處理數(shù)據(jù)幀。
[0035]空白數(shù)據(jù)幀A中的第二報(bào)頭為聚合報(bào)頭104。聚合報(bào)頭104可以包括特定于聚合處理的信息如對(duì)發(fā)起數(shù)據(jù)幀和聚合消息標(biāo)識(shí)符的播種模塊71的識(shí)別??蛇x地,專用報(bào)頭102中的連接標(biāo)識(shí)符可以充當(dāng)聚合消息標(biāo)識(shí)符。根據(jù)本發(fā)明的一個(gè)實(shí)施例,聚合消息標(biāo)識(shí)符在控制系統(tǒng)的設(shè)計(jì)或調(diào)試期間生成。參與特定數(shù)據(jù)幀的每個(gè)模塊20可以被分配有在聚合消息內(nèi)的聚合位置。再次參照圖6,參與所示通信的每個(gè)發(fā)送模塊70進(jìn)一步被識(shí)別為參與模塊73。 雖然所示數(shù)據(jù)幀通過五個(gè)發(fā)送模塊70傳送,但是發(fā)送模塊70中僅三個(gè)發(fā)送模塊70向數(shù)據(jù)幀添加數(shù)據(jù)并且因此被視為參與模塊73。每個(gè)參與模塊73的聚合消息標(biāo)識(shí)符和對(duì)應(yīng)的聚合位置可以存儲(chǔ)于針對(duì)每個(gè)聚合消息的對(duì)應(yīng)參與模塊的存儲(chǔ)器48中??蛇x地,聚合消息的完整表可以被限定并且可以進(jìn)一步將模塊標(biāo)識(shí)符如每個(gè)參與模塊73的插槽地址與特定消息內(nèi)的聚合位置和聚合消息標(biāo)識(shí)符相關(guān)聯(lián),并且完整表可以存儲(chǔ)于每個(gè)模塊20的存儲(chǔ)器中。根據(jù)本發(fā)明的另一實(shí)施例,聚合報(bào)頭104可以包括模塊標(biāo)識(shí)符如參與模塊73的插槽地址以及與每個(gè)參與模塊73的模塊標(biāo)識(shí)符相對(duì)應(yīng)的數(shù)據(jù)幀內(nèi)的聚合位置。根據(jù)又一實(shí)施例,可以將專用報(bào)頭102和聚合報(bào)頭104組合到單個(gè)報(bào)頭中。根據(jù)又一實(shí)施例,每個(gè)報(bào)頭中的片段 (segment)可以包括在其他報(bào)頭中。
[0036]空白數(shù)據(jù)幀A還包括校驗(yàn)和106。雖然示出為循環(huán)冗余校驗(yàn)(CRC),但是構(gòu)想的是可以使用其他類型的校驗(yàn)和。初始地,僅基于第一報(bào)頭102和第二報(bào)頭104中的信息來確定校驗(yàn)和106。可選地,校驗(yàn)和106可以省略或者在空白數(shù)據(jù)幀A中留下空白,并且可以在空白數(shù)據(jù)幀傳送至播種模塊71的聚合單元52時(shí)被添加。
[0037]在生成空白動(dòng)態(tài)數(shù)據(jù)幀A之后,播種模塊71中的播種單元53將空白動(dòng)態(tài)數(shù)據(jù)幀A傳送至聚合單元52,聚合單元52在本文中又稱為聚合器。聚合單元52讀取空白數(shù)據(jù)幀A并且根據(jù)包含在專用報(bào)頭102、聚合報(bào)頭104或其組合中的數(shù)據(jù)來確定消息要成為經(jīng)由多個(gè)發(fā)送模塊70傳輸至單個(gè)接收模塊75的動(dòng)態(tài)數(shù)據(jù)幀。聚合單元52還確定每個(gè)發(fā)送模塊70是否為針對(duì)特定數(shù)據(jù)幀100的參與模塊73。聚合單元52從動(dòng)態(tài)數(shù)據(jù)幀100讀取針對(duì)聚合消息的標(biāo)識(shí)符如專用報(bào)頭102中的連接標(biāo)識(shí)符或者聚合報(bào)頭104中的聚合消息標(biāo)識(shí)符,以確定其接收到哪些聚合消息。聚合單元52將標(biāo)識(shí)符與消息表進(jìn)行比較以確定其是否為消息中的參與者。可選地,如果參與者標(biāo)識(shí)符包括在聚合報(bào)頭104中,則聚合單元52讀取針對(duì)參與者的標(biāo)識(shí)符并且確定對(duì)應(yīng)模塊是否為參與者模塊73。根據(jù)又一實(shí)施例,如果數(shù)據(jù)幀100為空白數(shù)據(jù)幀A,則聚合單元52認(rèn)識(shí)到同一模塊中的播種單元53生成數(shù)據(jù)幀并且該模塊為參與模塊73。
[0038]在確定模塊關(guān)于在聚合單元52處接收的數(shù)據(jù)幀為參與模塊73之后,聚合單元52將針對(duì)模塊的參與者數(shù)據(jù)插入到數(shù)據(jù)幀100中。聚合單元52讀取其要將數(shù)據(jù)插入到動(dòng)態(tài)數(shù)據(jù)幀100中的聚合位置。聚合位置識(shí)別動(dòng)態(tài)數(shù)據(jù)幀100的有效載荷內(nèi)的參與者數(shù)據(jù)要被插入的位置。根據(jù)圖6所示的實(shí)施例,每個(gè)連續(xù)的參與者模塊73具有遞增地大于在前的參與者模塊 73的聚合位置。即,第一或最右邊的參與者模塊73具有等于1的聚合位置。其將其參與者數(shù)據(jù)108插入針對(duì)動(dòng)態(tài)數(shù)據(jù)幀100的有效載荷的第一位置。作為結(jié)果的數(shù)據(jù)幀通過參考字母 “B”進(jìn)行識(shí)別。從右起位于第二的下一參與者模塊73具有等于2的聚合位置。其將其參與者數(shù)據(jù)110插在動(dòng)態(tài)數(shù)據(jù)幀100的第二位置??梢詷?gòu)想的是:如果參與者模塊73例如具有聚合位置2并且具有聚合位置1的參與者模塊73沒有供插入的數(shù)據(jù)或者還沒有接收到數(shù)據(jù)幀,則聚合單元52可以在插入針對(duì)第二參與者模塊73的參與者數(shù)據(jù)110之前將空白片段插入有效載荷中??商娲兀總€(gè)參與者模塊73的聚合單元52可以將它的在下一可得到的片段處的相應(yīng)參與者數(shù)據(jù)插入針對(duì)動(dòng)態(tài)數(shù)據(jù)幀的有效載荷中,而不需要考慮模塊的聚合位置或者考慮有效載荷內(nèi)的現(xiàn)有參與者數(shù)據(jù)。[〇〇39]還參照圖7,每個(gè)參與者數(shù)據(jù)108、110、112可以包括模塊報(bào)頭120和模塊數(shù)據(jù)122片段二者。模塊報(bào)頭120包括關(guān)于插入了模塊數(shù)據(jù)122的特定模塊20的識(shí)別信息。作為結(jié)果,如果參與者模塊73在動(dòng)態(tài)數(shù)據(jù)幀100被接收時(shí)沒有要插入的數(shù)據(jù)并且在未插入數(shù)據(jù)的情況下傳送數(shù)據(jù)幀100,則接收模塊115可以讀取模塊報(bào)頭120并且確定什么類型的數(shù)據(jù)存在于相應(yīng)的模塊數(shù)據(jù)122中以及數(shù)據(jù)從哪一模塊20被接收。
[0040]轉(zhuǎn)回圖6,發(fā)送模塊70中的三個(gè)為動(dòng)態(tài)數(shù)據(jù)幀100中的參與者模塊73。最右邊的模塊為播種模塊71并且在其播種單元53中生成空白數(shù)據(jù)幀A。播種模塊71將空白數(shù)據(jù)幀A傳送至播種模塊71中的聚合單元52。聚合單元52確定播種模塊71還為參與者模塊73并且將第一參與者數(shù)據(jù)108插入動(dòng)態(tài)數(shù)據(jù)幀100中。聚合單元還基于報(bào)頭102、104以及包括第一參與者數(shù)據(jù)108的新的有效載荷來確定針對(duì)動(dòng)態(tài)數(shù)據(jù)幀的新的校驗(yàn)和106。聚合單元52用新的校驗(yàn)和替換現(xiàn)有校驗(yàn)和106,從而生成新的動(dòng)態(tài)數(shù)據(jù)幀B。新動(dòng)態(tài)數(shù)據(jù)幀B被傳送至在播種模塊71 的左邊的下一模塊。[0〇41]還參照圖4,聚合單元52從模塊20的物理層50接收動(dòng)態(tài)數(shù)據(jù)幀B。聚合單元識(shí)別動(dòng)態(tài)數(shù)據(jù)幀B,并且確定其將是動(dòng)態(tài)數(shù)據(jù)幀B中的參與者。聚合單元52向動(dòng)態(tài)數(shù)據(jù)幀B附加第二參與者數(shù)據(jù)110,并且基于報(bào)頭102、104以及動(dòng)態(tài)數(shù)據(jù)幀的有效載荷中的參與者數(shù)據(jù)108、 110二者來再次重新計(jì)算校驗(yàn)和106。聚合單元52用新的校驗(yàn)和替換現(xiàn)有校驗(yàn)和106,從而生成另一新的動(dòng)態(tài)數(shù)據(jù)幀C。然后,聚合單元52在不將數(shù)據(jù)幀100進(jìn)一步傳送至網(wǎng)絡(luò)堆棧的情況下將新的動(dòng)態(tài)數(shù)據(jù)幀C傳送至下一發(fā)送模塊70。[〇〇42]第三發(fā)送模塊70的聚合單元52從右邊接收新的動(dòng)態(tài)數(shù)據(jù)幀C。然而,第三發(fā)送模塊 70確定其不是參與者模塊。因此,聚合單元52將新的動(dòng)態(tài)數(shù)據(jù)幀C直接傳送至下一相鄰發(fā)送模塊70,而不進(jìn)行進(jìn)一步處理。前述處理針對(duì)隨后的發(fā)送模塊70中的每一個(gè)被重復(fù),以確定其是否為關(guān)于動(dòng)態(tài)數(shù)據(jù)幀的參與者模塊73。第四發(fā)送模塊70為第三參與者模塊73以及將第三參與者數(shù)據(jù)112插入動(dòng)態(tài)數(shù)據(jù)幀中并且計(jì)算新的校驗(yàn)和106,以生成又一新的動(dòng)態(tài)數(shù)據(jù)幀 D。第五發(fā)送模塊70確定其不是參與者模塊并且將動(dòng)態(tài)數(shù)據(jù)幀D傳送至接收模塊75。[〇〇43]根據(jù)本發(fā)明的另一方面,聚合單元52可以在動(dòng)態(tài)數(shù)據(jù)幀通過每個(gè)模塊70時(shí)檢測動(dòng)態(tài)數(shù)據(jù)幀中的錯(cuò)誤。每個(gè)聚合單元52可以被配置成在新的動(dòng)態(tài)數(shù)據(jù)幀100被接收時(shí)讀取校驗(yàn)和106,并且基于數(shù)據(jù)幀100被接收時(shí)數(shù)據(jù)幀100的內(nèi)容來驗(yàn)證校驗(yàn)和106是正確的。如果校驗(yàn)和106不對(duì)應(yīng)于數(shù)據(jù)幀100的內(nèi)容,則聚合單元52可以將數(shù)據(jù)幀100識(shí)別為包含錯(cuò)誤。模塊70可以被配置成以不同方式來處理損壞的數(shù)據(jù)幀。例如,聚合單元52可以在數(shù)據(jù)幀100內(nèi)設(shè)置指示檢測到錯(cuò)誤的標(biāo)記。聚合單元52可以使數(shù)據(jù)幀被傳送通過隨后的模塊70至接收模塊75。每個(gè)隨后的聚合單元52還可以被配置成監(jiān)視錯(cuò)誤狀態(tài)標(biāo)記,使得其在幀中檢測到錯(cuò)誤之后不插入任何另外的參與者數(shù)據(jù)。在數(shù)據(jù)幀100到達(dá)接收模塊75時(shí),接收模塊75然后可以通過丟棄幀或者請求發(fā)送新的幀來處理損壞的數(shù)據(jù)幀100。可選地,每個(gè)聚合單元52可以被配置成丟棄損壞的數(shù)據(jù)幀而不(通過聚合單元52)采取進(jìn)一步的動(dòng)作。如果存在導(dǎo)致數(shù)據(jù)幀100繼續(xù)損壞的問題,則接收單元75可以通過在預(yù)期的數(shù)據(jù)幀100在預(yù)期的間隔內(nèi)未被接收到時(shí)的超時(shí)機(jī)制來檢測問題。[〇〇44]接收模塊75從專用報(bào)頭102讀取目的地址并且確定其為動(dòng)態(tài)數(shù)據(jù)幀D的預(yù)期接收者。針對(duì)接收模塊75的聚合單元52將動(dòng)態(tài)數(shù)據(jù)幀100向上傳送至針對(duì)接收模塊75的網(wǎng)絡(luò)堆棧以用于進(jìn)一步處理。接收模塊可以例如提取參與者數(shù)據(jù)108、110或112以供使用,或者可選地可以將參與者數(shù)據(jù)或整個(gè)數(shù)據(jù)幀100封裝在另一數(shù)據(jù)包如用于傳輸至工業(yè)控制系統(tǒng)中的另一裝置的以太網(wǎng)包中。
[0045]接著轉(zhuǎn)向圖5,可以構(gòu)想的是多個(gè)動(dòng)態(tài)數(shù)據(jù)幀100可以被配置成用于在工業(yè)控制系統(tǒng)內(nèi)進(jìn)行傳輸。圖5示出在系統(tǒng)內(nèi)的不同裝置之間建立的多個(gè)連接60,其中動(dòng)態(tài)數(shù)據(jù)幀可以沿連接中的任意連接進(jìn)行傳輸。根據(jù)所示的實(shí)施例,兩個(gè)獨(dú)立的工業(yè)控制器庫(bank)與遠(yuǎn)程I/O庫進(jìn)行通信。每個(gè)工業(yè)控制器庫包括供電模塊l〇a、10b、處理器模塊12a、12b、輸入模塊14a、14b以及橋接模塊17a、17b。可以進(jìn)一步構(gòu)想的是,其它附加的模塊可以延伸超過每個(gè)橋接模塊17a、17b。每個(gè)橋接模塊17a、17b與遠(yuǎn)程I/O庫上的適配模塊15進(jìn)行通信。遠(yuǎn)程1/ 〇庫包括多個(gè)模塊19,其可以是根據(jù)系統(tǒng)要求的輸入模塊14或輸出模塊16的任意組合。第一連接60a在第一處理器模塊12a與遠(yuǎn)程I/O庫上的最后的模塊19之間建立,而第二連接60b在第一處理器模塊12a與遠(yuǎn)程I/O庫上的第五模塊19(從左側(cè)計(jì)數(shù))之間建立。第三連接60b在第二處理器模塊12b與遠(yuǎn)程I /0庫上的最后的模塊19之間建立。遠(yuǎn)程I /0庫中的模塊19中的每一個(gè)可以被視為關(guān)于連接60a、60b、60c中的每一個(gè)的發(fā)送模塊70。從模塊19的每一個(gè)中的連接60指向外或指向模塊19的每一個(gè)中的連接60的短箭頭將模塊識(shí)別為參與到連接中。 第一、第三、第四和第八模塊19為關(guān)于第一連接60a的參與模塊73。第二、第三、第四和第五模塊19為關(guān)于第二連接60b的參與模塊73。遠(yuǎn)程I/O庫中的第三、第七和第八模塊19以及第二工業(yè)控制器庫上的輸入模塊14b為關(guān)于第三連接的參與模塊73。最后的模塊為針對(duì)第一連接60a和第三連接60c的播種模塊71,而第五模塊為針對(duì)第二連接60b的播種模塊71。要注意的是,不是在每個(gè)處理器模塊12a、12b與和其通信的模塊19中的一個(gè)模塊之間開啟九個(gè)單獨(dú)的連接,而是建立三個(gè)連接60,從而降低連接的數(shù)目以及在工業(yè)網(wǎng)絡(luò)上傳輸?shù)南⒌臄?shù)目。[〇〇46]可以進(jìn)一步構(gòu)想的是,被選為參與模塊73的模塊19可以被選擇以在處理器模塊 12a、12b中提供更高效的處理。例如,在第一處理器模塊12a與遠(yuǎn)程I/O庫之間建立兩個(gè)單獨(dú)的連接60a、60b。雖然可以在處理器模塊12a之間建立單個(gè)連接并且可以將所有模塊限定為參與模塊,但是可以構(gòu)想的是:按照對(duì)于在處理器模塊12a上的使用而言期望的方式使在每個(gè)連接60上傳遞的I/O相聯(lián)系。例如,I/O可以具有類似的優(yōu)先等級(jí)、I/O類型(例如,模擬、數(shù)字)、輸入對(duì)輸出或者可以用于控制程序的同一模塊中。此外,其他的數(shù)據(jù)的編組 (grouping)可以包括但不限于特定事件的發(fā)生、工業(yè)網(wǎng)絡(luò)的拓?fù)?、?shù)據(jù)大小或者發(fā)生的時(shí)間或頻率。因此,I/O數(shù)據(jù)可以按照更高效的方式例如僅以由控制程序要求的間隔或者在特定事件發(fā)生時(shí)被報(bào)告至工業(yè)控制器。通過對(duì)動(dòng)態(tài)數(shù)據(jù)幀內(nèi)的數(shù)據(jù)進(jìn)行合適地編組,可以降低網(wǎng)絡(luò)流量并且還可以使得控制器的處理更高效。
[0047]為了將數(shù)據(jù)插入動(dòng)態(tài)數(shù)據(jù)幀中,每個(gè)參與者模塊在接收數(shù)據(jù)幀之前準(zhǔn)備要被插入的數(shù)據(jù)。再次參考圖4,每個(gè)模塊20包括一個(gè)或更多個(gè)緩沖器56。根據(jù)所圖示的實(shí)施例,緩沖器56位于網(wǎng)絡(luò)接口 30上??蛇x地,可以將緩沖器56分配至存儲(chǔ)裝置48的專用部分。在任一實(shí)施例中,處理器44和聚合單元52均與緩沖器56進(jìn)行通信。[〇〇48]處理器44被配置成在為插入動(dòng)態(tài)數(shù)據(jù)幀做準(zhǔn)備中將參與者數(shù)據(jù)寫入緩沖器56。如果例如模塊20是輸入模塊,則處理器44從由工業(yè)控制系統(tǒng)正控制的機(jī)器或處理上的裝置接收每個(gè)輸入信號(hào)。處理器44在其每個(gè)輸入的當(dāng)前狀態(tài)的存儲(chǔ)器48內(nèi)維持輸入表。模塊20的參與者數(shù)據(jù)可以包括輸入表,使得輸入模塊將輸入的狀態(tài)傳輸回執(zhí)行控制程序的處理器模塊12。處理器44可以被配置成例如在周期性間隔處或者當(dāng)輸入中之一的狀態(tài)變化時(shí)將輸入表的當(dāng)前狀態(tài)寫入緩沖器56。處理器44將數(shù)據(jù)寫入緩沖器56,并且設(shè)置表示數(shù)據(jù)已準(zhǔn)備好插入數(shù)據(jù)幀的狀態(tài)標(biāo)志。
[0049]當(dāng)緩沖器56中存在數(shù)據(jù)時(shí),聚合單元52等待參與者將數(shù)據(jù)插入其中的下一個(gè)動(dòng)態(tài)數(shù)據(jù)幀。如上面討論的,當(dāng)聚合單元52接收動(dòng)態(tài)數(shù)據(jù)幀時(shí),它首先確定模塊20是否為那個(gè)數(shù)據(jù)幀中的參與者。如果不是,則聚合單元將數(shù)據(jù)幀重傳至下一個(gè)模塊20。如果模塊20是參與者,則聚合單元52檢查狀態(tài)標(biāo)志以確定緩沖器56是否具有已準(zhǔn)備好插入動(dòng)態(tài)數(shù)據(jù)幀的數(shù)據(jù)。如果在緩沖器56中數(shù)據(jù)已準(zhǔn)備好,則聚合單元從緩沖器56讀取該數(shù)據(jù),并且重置狀態(tài)標(biāo)志以表示緩沖器56中的數(shù)據(jù)被讀取而且將被插入數(shù)據(jù)幀中。然后,聚合單元52將數(shù)據(jù)作為參與者數(shù)據(jù)插入動(dòng)態(tài)數(shù)據(jù)幀中。再次參考圖7,緩沖器56中的數(shù)據(jù)可以被寫成模塊數(shù)據(jù)122, 并且聚合單元52還插入表示例如數(shù)據(jù)的類型(例如,輸入數(shù)據(jù)、模擬形式、數(shù)字形式等等)和數(shù)據(jù)的來源的模塊報(bào)頭120,使得接收參與者數(shù)據(jù)的控制程序知道如何處理模塊數(shù)據(jù)122。
[0050]然而,如果還未設(shè)置狀態(tài)標(biāo)志,則這表示處理器44還未將數(shù)據(jù)寫入緩沖器56??赡艽嬖谔幚砥?4沒有設(shè)置狀態(tài)標(biāo)志的任意數(shù)目的原因。例如,如果處理器44被配置成在周期性間隔處將數(shù)據(jù)寫入緩沖器,則該間隔可以有時(shí)大于動(dòng)態(tài)數(shù)據(jù)幀的間隔。在書寫期間可能發(fā)生錯(cuò)誤,并且處理器44沒有完成書寫數(shù)據(jù)的第二次嘗試??商孢x地,模塊20上的中斷可能要求處理器44致力于另外的任務(wù)并且跳過一個(gè)或更多個(gè)數(shù)據(jù)書寫。處理器44還可能被配置成僅當(dāng)數(shù)據(jù)的狀態(tài)已變化時(shí)將數(shù)據(jù)寫入緩沖器。某個(gè)數(shù)據(jù)如溫度信息可以緩慢地變化,并且因此需要不頻繁的更新。因此,可以在使數(shù)據(jù)的狀態(tài)改變與隨后使處理器將數(shù)據(jù)寫入緩沖器56之間接收多個(gè)動(dòng)態(tài)數(shù)據(jù)幀。當(dāng)緩沖器56中不存在用于插入動(dòng)態(tài)數(shù)據(jù)幀的數(shù)據(jù)時(shí),聚合單元52將數(shù)據(jù)幀重傳至下一個(gè)模塊20,而不插入其參與者數(shù)據(jù)。
[0051]因?yàn)榫酆蠁卧?2檢查到每個(gè)參與者模塊在將參與者數(shù)據(jù)插入動(dòng)態(tài)數(shù)據(jù)幀之前具有存在于緩沖器56中的數(shù)據(jù),所以當(dāng)所得到的動(dòng)態(tài)數(shù)據(jù)幀到達(dá)接收模塊時(shí),它可以具有可變長度。因此,接收模塊提取每個(gè)參與者數(shù)據(jù)段的模塊報(bào)頭120以識(shí)別哪個(gè)模塊插入對(duì)應(yīng)的模塊數(shù)據(jù)122以及如何處理動(dòng)態(tài)數(shù)據(jù)幀中存在的模塊數(shù)據(jù)122。[〇〇52]根據(jù)本發(fā)明的另外的方面,動(dòng)態(tài)數(shù)據(jù)幀可以具有根據(jù)來自網(wǎng)絡(luò)或模塊的限制的最大有效載荷長度。因?yàn)楫?dāng)參與者數(shù)據(jù)可用或在可變間隔處時(shí)該參與者數(shù)據(jù)可以被插入,所以動(dòng)態(tài)數(shù)據(jù)幀可以被配置成包括更多參與者模塊73,并且隨后接收與其可以在單個(gè)數(shù)據(jù)幀中接受的參數(shù)者數(shù)據(jù)相比更多的參與者數(shù)據(jù)??梢灶A(yù)期由于數(shù)據(jù)插入的可變本質(zhì),數(shù)據(jù)幀 100中的許多數(shù)據(jù)幀將能夠容納已準(zhǔn)備好插入每個(gè)幀內(nèi)的所有參與者數(shù)據(jù)。然而,如果具有已準(zhǔn)備好插入進(jìn)數(shù)據(jù)幀100的數(shù)據(jù)的模塊70的數(shù)目足夠多以至于參與者數(shù)據(jù)的數(shù)量超過數(shù)據(jù)幀的最大有效載荷,則模塊70可以變成新的播種器模塊71,并且生成第二、完全相同的動(dòng)態(tài)數(shù)據(jù)幀100。聚合器單元52接收新的、空白數(shù)據(jù)幀,并且將新的播種器模塊的參與者數(shù)據(jù)插入新的數(shù)據(jù)幀。然后,聚合器單元52可以在完整的數(shù)據(jù)幀之前將新的動(dòng)態(tài)數(shù)據(jù)幀傳送至下一個(gè)模塊。以這種方式,后續(xù)的數(shù)據(jù)幀首先接收具有用于另外的參與者數(shù)據(jù)的空間的數(shù)據(jù)幀,并且每個(gè)后續(xù)數(shù)據(jù)幀73將其參與者數(shù)據(jù)插入新的數(shù)據(jù)幀中。接下來接收到完整的動(dòng)態(tài)數(shù)據(jù)幀,然而,因?yàn)閰⑴c者模塊剛將其數(shù)據(jù)插入第二動(dòng)態(tài)數(shù)據(jù)幀中,所以其緩沖器56沒有準(zhǔn)備好的新數(shù)據(jù),并且在沒有生成新數(shù)據(jù)幀的情況下在每個(gè)后續(xù)的參與者模塊73處將第二動(dòng)態(tài)數(shù)據(jù)幀傳送下去??蛇x地,新的播種器模塊71可以在完整的動(dòng)態(tài)數(shù)據(jù)幀的報(bào)頭中之一中設(shè)置狀態(tài)標(biāo)志,所述狀態(tài)標(biāo)志向后續(xù)的聚合單元52發(fā)出信號(hào)以將完整的動(dòng)態(tài)數(shù)據(jù)幀傳送下去并且等待第二動(dòng)態(tài)數(shù)據(jù)幀。[〇〇53]還可以預(yù)期,模塊20可以是多個(gè)動(dòng)態(tài)數(shù)據(jù)幀中的參與者。多個(gè)緩沖器56可以被利用,其中,單獨(dú)的緩沖器56分配給其中模塊20作為參與者的每個(gè)動(dòng)態(tài)數(shù)據(jù)幀。處理器44針對(duì)每個(gè)動(dòng)態(tài)數(shù)據(jù)幀準(zhǔn)備并且插入適當(dāng)?shù)臄?shù)據(jù),并且針對(duì)每個(gè)緩沖器56設(shè)置相應(yīng)的狀態(tài)標(biāo)志。 聚合單元52知道將哪個(gè)緩沖器56分配給每個(gè)動(dòng)態(tài)數(shù)據(jù)幀。當(dāng)動(dòng)態(tài)數(shù)據(jù)幀中之一到達(dá)模塊20 處時(shí),聚合單元52識(shí)別哪個(gè)數(shù)據(jù)幀已達(dá)到,并且檢查對(duì)應(yīng)的緩沖器56的狀態(tài)標(biāo)志以核實(shí)用于那個(gè)數(shù)據(jù)幀的數(shù)據(jù)是否準(zhǔn)備好。如果用于對(duì)應(yīng)的數(shù)據(jù)幀的數(shù)據(jù)存在于其相應(yīng)的緩沖器56 中,則聚合單元52將數(shù)據(jù)插入動(dòng)態(tài)數(shù)據(jù)幀并且將新數(shù)據(jù)幀重傳至下一個(gè)模塊20。如果對(duì)應(yīng)的數(shù)據(jù)幀的數(shù)據(jù)在其相應(yīng)的緩沖器56中不存在,則聚合單元52不加修改地將動(dòng)態(tài)數(shù)據(jù)幀傳送至下一個(gè)模塊20。
[0054]本文公開的數(shù)據(jù)聚合方法可以用于在工業(yè)網(wǎng)絡(luò)故障的情況下維持裝置之間的通信。現(xiàn)在參考圖8,模塊200的示例性集合以環(huán)形拓?fù)湓O(shè)置。第一模塊200a可以被配置成與外部網(wǎng)絡(luò)201以及與模塊200的環(huán)網(wǎng)通信。根據(jù)所圖示的實(shí)施例,環(huán)形拓?fù)浔挥糜谠谕ㄐ怕窂街兄还收系那闆r下提供冗余通信路徑,而不是提供朝裝置之間的任一方向的持續(xù)連接。 因此,環(huán)網(wǎng)中的初始間斷或停止205被限定成防止消息在模塊200a與模塊200h之間傳送。數(shù)據(jù)可以在外部網(wǎng)絡(luò)201與第一模塊200a之間傳送,并且然后200a至200h中的每個(gè)模塊以菊花鏈格式(daisy chain format)互相通信。[〇〇55]第一數(shù)據(jù)連接202可以建立在鏈的最后的模塊200h與第一模塊200a之間。最后的模塊200h被限定為播種器模塊并且生成動(dòng)態(tài)數(shù)據(jù)幀。動(dòng)態(tài)數(shù)據(jù)幀通過每個(gè)模塊被順序地傳送至被限定為接收模塊的第一模塊200a。盡管模塊的任意組合可以是參與者模塊,但是出于說明的目的,模塊200b至模塊200h中的每一個(gè)將是動(dòng)態(tài)數(shù)據(jù)幀中的參與者。因此,隨著動(dòng)態(tài)數(shù)據(jù)幀在每個(gè)模塊之間傳送,模塊以上面描述的形式將其相應(yīng)的參與者數(shù)據(jù)插入動(dòng)態(tài)數(shù)據(jù)幀。
[0056]在環(huán)形拓?fù)涔收系那闆r下,環(huán)形網(wǎng)絡(luò)可以被配置成檢測供替選的通信路徑。在所圖示的實(shí)施例中,故障207發(fā)生在模塊200g與模塊200f之間的網(wǎng)絡(luò)介質(zhì)。環(huán)形網(wǎng)絡(luò)檢測200a 與200h之間的另外的網(wǎng)絡(luò)連接,并且允許在這兩個(gè)裝置之間開始發(fā)生通信以補(bǔ)償故障207。 因此,盡管經(jīng)由兩條不同的路徑,但是模塊200a可以再次與其他模塊中的每一個(gè)進(jìn)行通信。
[0057]在網(wǎng)絡(luò)故障的情況下,聚合方法還可以檢測網(wǎng)絡(luò)的故障并且重新配置模塊,使得通信繼續(xù)。每個(gè)模塊可以接收環(huán)形拓?fù)渲械墓收?07的通知。如果動(dòng)態(tài)數(shù)據(jù)幀最初被配置成穿過故障207進(jìn)行傳輸,則限定新的播種器模塊。位于故障207的任一側(cè)上的模塊200g和 200f中的每一個(gè)被指派為先前由模塊200h發(fā)送的動(dòng)態(tài)數(shù)據(jù)幀的播種器模塊。因此,模塊 200g是第一、新播種器模塊,并且200f是第二、新播種器模塊。另外,模塊200h停止生成動(dòng)態(tài)數(shù)據(jù)幀。新的播種器模塊200g和200f中的每一個(gè)建立至第一模塊200a的新連接204和206, 并且開始傳輸與先前從模塊200h傳輸動(dòng)態(tài)數(shù)據(jù)幀相同的動(dòng)態(tài)數(shù)據(jù)幀。由模塊200g中的播種器單元生成的動(dòng)態(tài)數(shù)據(jù)幀將通過模塊200g和模塊200h的聚合器傳送,而由模塊200f中的播種器單元生成的動(dòng)態(tài)數(shù)據(jù)幀將通過模塊20(^、2006、200(1、200(3和20013的聚合器傳送。如上面討論的,如果模塊不存在或者數(shù)據(jù)沒有準(zhǔn)備好,則將動(dòng)態(tài)數(shù)據(jù)幀傳送至下一個(gè)模塊,而不插入?yún)⑴c者數(shù)據(jù)。因此,每個(gè)數(shù)據(jù)幀將好像模塊的一部分不存在或者沒有數(shù)據(jù)一樣出現(xiàn)至接收器200a。然而,接收器200a將能夠從每個(gè)動(dòng)態(tài)數(shù)據(jù)幀讀取參與者數(shù)據(jù)以接收數(shù)據(jù)的完整集合。通過重新配置模塊以使網(wǎng)絡(luò)故障207的每一側(cè)上的播種器單元生成先前穿過故障點(diǎn)207傳送的動(dòng)態(tài)數(shù)據(jù)幀,該工業(yè)控制系統(tǒng)的環(huán)網(wǎng)中的通信可以好像不存在故障207而繼續(xù)運(yùn)行。[〇〇58]如圖5所圖示,每個(gè)連接60允許雙向通信。上面的公開內(nèi)容討論了通過多個(gè)其他發(fā)送模塊從遠(yuǎn)端發(fā)送模塊傳輸并在接收模塊處接收的動(dòng)態(tài)數(shù)據(jù)幀。經(jīng)常期望接收模塊能夠發(fā)送返回消息以及/或者沿著每個(gè)連接60開始與發(fā)送模塊的通信。因?yàn)榻邮漳K將數(shù)據(jù)傳輸至多個(gè)接收器,所以每個(gè)接收器的數(shù)據(jù)必須包括在原始數(shù)據(jù)幀中。接收模塊可以包括識(shí)別其接收的每個(gè)動(dòng)態(tài)數(shù)據(jù)幀的在其存儲(chǔ)器中的表以及沿著動(dòng)態(tài)數(shù)據(jù)幀存在的參與者模塊。當(dāng)接收模塊發(fā)送返回消息或者開始通信時(shí),它可以讀出每個(gè)參與者模塊的標(biāo)識(shí)符,并且確定其是否具有發(fā)送至參與者模塊的信息。
[0059]根據(jù)本發(fā)明的一個(gè)實(shí)施例,接收模塊可以生成沿著每個(gè)連接60返回消息的固定長度數(shù)據(jù)幀。固定長度數(shù)據(jù)幀可以包括沿著連接的每個(gè)參與者模塊的段。接收模塊包括專用報(bào)頭或聚合報(bào)頭中的標(biāo)識(shí)符以將該消息識(shí)別為從接收模塊至參與者模塊的消息。如果數(shù)據(jù)幀是固定長度,則接收模塊可以以固定順序僅插入每個(gè)參與者模塊的數(shù)據(jù)。然后每個(gè)參與者模塊可以讀取目的在于來自已知位置的模塊的數(shù)據(jù)??蛇x地,接收模塊可以包括模塊報(bào)頭和模塊數(shù)據(jù)兩者。然后,參與者模塊可以定位識(shí)別自身的模塊報(bào)頭,并且讀取由接收模塊插入的任何相關(guān)聯(lián)的模塊數(shù)據(jù)。
[0060]根據(jù)本發(fā)明的另外的實(shí)施例,接收模塊可以生成沿著每個(gè)連接60的返回消息的可變長度數(shù)據(jù)幀。如果數(shù)據(jù)幀具有可變長度,則接收模塊包括模塊報(bào)頭和模塊數(shù)據(jù)兩者,使得每個(gè)參與者模塊然后可以定位識(shí)別自身的模塊報(bào)頭并且讀取通過接收模塊插入的相關(guān)聯(lián)的模塊數(shù)據(jù)。在可變長度返回消息的情況下,接收模塊僅插入需要通過其發(fā)送數(shù)據(jù)的這些模塊的數(shù)據(jù),并且當(dāng)與固定長度返回?cái)?shù)據(jù)幀進(jìn)行比較時(shí),可以降低朝沿著每個(gè)連接60的相反方向發(fā)送的數(shù)據(jù)消息的網(wǎng)絡(luò)利用率。
[0061]應(yīng)當(dāng)理解,本發(fā)明不限于本文所闡述的部件的結(jié)構(gòu)和布置的細(xì)節(jié)中的應(yīng)用。本發(fā)明能夠具有其他實(shí)施例并且能夠以各種方式來實(shí)踐或執(zhí)行。前述的變型和修改在本發(fā)明的范圍內(nèi)。還要理解,本文所公開和限定的發(fā)明延伸至文本和/或附圖所提及的或從文本和/ 或附圖明顯看出的各特征中的兩個(gè)或更多個(gè)特征的所有替選組合。這些不同組合中的所有組合構(gòu)成本發(fā)明的各種替選方面。本文所描述的實(shí)施例說明了用于實(shí)踐本發(fā)明的已知最好模式,并且使本領(lǐng)域技術(shù)人員能夠利用本發(fā)明。
【主權(quán)項(xiàng)】
1.一種用于從多個(gè)發(fā)送模塊向單個(gè)接收模塊傳輸數(shù)據(jù)的方法,所述方法包括下述步 驟:在第一發(fā)送模塊中生成包括專用報(bào)頭的動(dòng)態(tài)數(shù)據(jù)幀;在所述多個(gè)發(fā)送模塊中的每個(gè)發(fā)送模塊中的聚合單元處從所述多個(gè)發(fā)送模塊中的另 一發(fā)送模塊接收所述動(dòng)態(tài)數(shù)據(jù)幀;根據(jù)所述專用報(bào)頭確定所述多個(gè)發(fā)送模塊中的每個(gè)發(fā)送模塊是否為所述動(dòng)態(tài)數(shù)據(jù)幀 中的參與者;當(dāng)所述發(fā)送模塊確定所述發(fā)送模塊是所述動(dòng)態(tài)數(shù)據(jù)幀中的參與者時(shí),將參與者數(shù)據(jù)經(jīng) 由所述聚合單元添加至所述動(dòng)態(tài)數(shù)據(jù)幀;以及將添加有所述參與者數(shù)據(jù)的動(dòng)態(tài)數(shù)據(jù)幀從所述聚合單元傳輸至所述多個(gè)發(fā)送模塊中 的另一發(fā)送模塊和所述接收模塊中的一個(gè)。2.根據(jù)權(quán)利要求1所述的方法,其中,所述參與者數(shù)據(jù)包括模塊報(bào)頭和模塊數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的方法,還包括下述步驟:當(dāng)所述發(fā)送模塊確定所述發(fā)送模塊不 是所述動(dòng)態(tài)數(shù)據(jù)幀中的參與者時(shí),通過所述多個(gè)發(fā)送模塊中的每個(gè)發(fā)送模塊來傳送所述動(dòng) 態(tài)數(shù)據(jù)幀而不改變所述動(dòng)態(tài)數(shù)據(jù)幀。4.根據(jù)權(quán)利要求1所述的方法,其中,在根據(jù)所述專用報(bào)頭確定所述多個(gè)發(fā)送模塊中的 每個(gè)發(fā)送模塊是否為所述動(dòng)態(tài)數(shù)據(jù)幀中的參與者的步驟之后,所述方法還包括下述步驟:確定所述發(fā)送模塊的緩沖器中是否存在所述參與者數(shù)據(jù);以及確定所述發(fā)送模塊是否已準(zhǔn)備好將所述參與者數(shù)據(jù)添加至所述動(dòng)態(tài)數(shù)據(jù)幀,其中當(dāng)所述緩沖器中存在所述參與者數(shù)據(jù)并且所述發(fā)送模塊已準(zhǔn)備好添加所述參與者數(shù) 據(jù)時(shí),所述發(fā)送模塊將所述參與者數(shù)據(jù)經(jīng)由所述聚合單元添加至所述動(dòng)態(tài)數(shù)據(jù)幀,以及當(dāng)所述緩沖器中不存在所述參與者數(shù)據(jù)或者所述發(fā)送模塊未準(zhǔn)備時(shí)好添加所述參與 者數(shù)據(jù)時(shí),所述發(fā)送模塊在不改變所述動(dòng)態(tài)數(shù)據(jù)幀的情況下通過所述發(fā)送模塊傳送所述動(dòng) 態(tài)數(shù)據(jù)幀。5.根據(jù)權(quán)利要求1所述的方法,其中,在所述第一發(fā)送模塊與所述接收模塊之間存在 第一傳輸路徑和第二傳輸路徑,所述方法還包括下述步驟:檢測沿所述第一傳輸路徑的故障;分配選自所述多個(gè)發(fā)送模塊中的兩個(gè)新發(fā)送模塊以開始生成所述動(dòng)態(tài)數(shù)據(jù)幀;將所述動(dòng)態(tài)數(shù)據(jù)幀從第一新發(fā)送模塊沿位于所述故障與所述接收模塊之間的所述第 一傳輸路徑的一部分傳輸至所述接收模塊,其中,所述第一新發(fā)送模塊位于靠近所述接收 模塊的故障的第一側(cè)上;以及將所述動(dòng)態(tài)數(shù)據(jù)幀從第二新發(fā)送模塊沿位于所述故障與所述第一發(fā)送模塊之間的所 述第一傳輸路徑的一部分然后沿所述第二傳輸路徑傳輸至所述接收模塊,其中,所述第二 新發(fā)送模塊位于遠(yuǎn)離所述接收模塊的故障的第二側(cè)上。6.根據(jù)權(quán)利要求1所述的方法,其中,所述聚合單元被布置在每個(gè)發(fā)送模塊的物理層與 網(wǎng)絡(luò)鏈路層之間。7.根據(jù)權(quán)利要求1所述的方法,其中:所述動(dòng)態(tài)數(shù)據(jù)幀初始為包括所述專有報(bào)頭和校驗(yàn)和的空數(shù)據(jù)幀,以及當(dāng)每個(gè)發(fā)送模塊將參與者數(shù)據(jù)添加至所述動(dòng)態(tài)數(shù)據(jù)幀時(shí),所述動(dòng)態(tài)數(shù)據(jù)幀的長度增加。8.根據(jù)權(quán)利要求7所述的方法,還包括下述步驟:在添加所述參與者數(shù)據(jù)之后確定用于每個(gè)聚合單元中的動(dòng)態(tài)數(shù)據(jù)幀的新的校驗(yàn)和; 將所述動(dòng)態(tài)數(shù)據(jù)幀的校驗(yàn)和替換為所述新的校驗(yàn)和。9.一種用于在工業(yè)網(wǎng)絡(luò)上傳送動(dòng)態(tài)數(shù)據(jù)幀的模塊,所述模塊包括:第一端口,所述第一端口能夠操作地從所述工業(yè)網(wǎng)絡(luò)接收所述動(dòng)態(tài)數(shù)據(jù)幀,其中,所述 動(dòng)態(tài)數(shù)據(jù)幀包括專用報(bào)頭;第二端口,所述第二端口能夠操作地在所述工業(yè)網(wǎng)絡(luò)上傳輸所述動(dòng)態(tài)數(shù)據(jù)幀;以及 聚合單元,所述聚合單元與所述第一端口和所述第二端口進(jìn)行通信,其中,所述聚合單 元能夠操作地用于:從所述第一端口接收所述動(dòng)態(tài)數(shù)據(jù)幀,根據(jù)所述專用報(bào)頭確定所述模塊是否為用于所述動(dòng)態(tài)數(shù)據(jù)幀的參與者模塊,當(dāng)所述模塊是參與者模塊時(shí),將參與者數(shù)據(jù)添加至所述動(dòng)態(tài)數(shù)據(jù)幀,以及 經(jīng)由所述第二端口來傳輸添加有所述參與者數(shù)據(jù)的動(dòng)態(tài)數(shù)據(jù)幀。10.根據(jù)權(quán)利要求9所述的模塊,還包括播種單元,所述播種單元與所述聚合單元進(jìn)行 通信,其中,所述播種單元生成所述動(dòng)態(tài)數(shù)據(jù)幀。11.根據(jù)權(quán)利要求9所述的模塊,其中:所述第一端口和所述第二端口中的每個(gè)端口至少部分地限定所述模塊的物理層, 所述模塊還包括網(wǎng)絡(luò)鏈路層,以及所述聚合單元被串聯(lián)連接在所述物理層與所述網(wǎng)絡(luò)鏈路層之間。12.根據(jù)權(quán)利要求9所述的模塊,還包括:緩沖器,所述緩沖器在所述參與者數(shù)據(jù)插入所述動(dòng)態(tài)數(shù)據(jù)幀中之前能夠操作地存儲(chǔ)所 述參與者數(shù)據(jù);以及處理器,所述處理器能夠操作地將所述參與者數(shù)據(jù)加載到所述緩沖器中,并且向所述 聚合單元提供下述信號(hào):在所述緩沖器中能夠得到所述參與者數(shù)據(jù)。13.根據(jù)權(quán)利要求12所述的模塊,其中,所述聚合單元還能夠操作地用于:讀出與所述緩沖器中能夠得到的參與者數(shù)據(jù)對(duì)應(yīng)的信號(hào);當(dāng)所述模塊是參與者模塊并且當(dāng)在所述緩沖器中能夠得到所述參與者數(shù)據(jù)時(shí),將所述 參與者數(shù)據(jù)添加至所述動(dòng)態(tài)數(shù)據(jù)幀;以及當(dāng)所述模塊是參與者模塊并且當(dāng)在所述緩沖器中不能得到所述參與者數(shù)據(jù)時(shí),經(jīng)由所 述第二端口來傳輸未經(jīng)修改的動(dòng)態(tài)數(shù)據(jù)幀。14.根據(jù)權(quán)利要求9所述的模塊,其中:所述動(dòng)態(tài)數(shù)據(jù)幀初始為包括所述專有報(bào)頭和校驗(yàn)和的空數(shù)據(jù)幀,以及 所述聚合單元還能夠操作地通過將所述參與者數(shù)據(jù)插入到所述動(dòng)態(tài)數(shù)據(jù)幀來增加所 述動(dòng)態(tài)數(shù)據(jù)幀的長度。15.根據(jù)權(quán)利要求14所述的模塊,其中,所述聚合單元還能夠操作地用于:在添加所述參與者數(shù)據(jù)之后確定用于所述動(dòng)態(tài)數(shù)據(jù)幀的新的校驗(yàn)和;將所述動(dòng)態(tài)數(shù)據(jù)幀的校驗(yàn)和替換為所述新的校驗(yàn)和。16.—種用于減少工業(yè)網(wǎng)絡(luò)上的網(wǎng)絡(luò)流量的系統(tǒng),所述系統(tǒng)包括:多個(gè)發(fā)送模塊,每個(gè)發(fā)送模塊包括:第一端口,所述第一端口能夠操作地從所述工業(yè)網(wǎng)絡(luò)接收動(dòng)態(tài)數(shù)據(jù)幀,其中,所述動(dòng)態(tài) 數(shù)據(jù)幀包括專用報(bào)頭;第二端口,所述第二端口能夠操作地在所述工業(yè)網(wǎng)絡(luò)上傳輸所述動(dòng)態(tài)數(shù)據(jù)幀;以及 聚合單元,所述聚合單元與所述第一端口和所述第二端口進(jìn)行通信,其中,所述聚合單 元能夠操作地用于:從所述第一端口接收所述動(dòng)態(tài)數(shù)據(jù)幀,根據(jù)所述專用報(bào)頭確定所述模塊是否為用于所述動(dòng)態(tài)數(shù)據(jù)幀的參與者模塊,當(dāng)所述模塊是參與者模塊時(shí),將參與者數(shù)據(jù)添加至所述動(dòng)態(tài)數(shù)據(jù)幀,以及 經(jīng)由所述第二端口來傳輸添加有所述參與者數(shù)據(jù)的動(dòng)態(tài)數(shù)據(jù)幀;以及 接收模塊,包括:端口,所述端口與所述工業(yè)網(wǎng)絡(luò)進(jìn)行通信以從所述多個(gè)發(fā)送模塊中的一個(gè)發(fā)送模塊接 收所述動(dòng)態(tài)數(shù)據(jù)幀;以及處理器,所述處理器能夠操作地從所述動(dòng)態(tài)數(shù)據(jù)幀中提取用于所述多個(gè)發(fā)送模塊中的 每個(gè)發(fā)送模塊的參與者數(shù)據(jù)。17.根據(jù)權(quán)利要求16所述的系統(tǒng),其中:所述參與者數(shù)據(jù)包括模塊報(bào)頭和模塊數(shù)據(jù),所述模塊報(bào)頭對(duì)添加所述模塊數(shù)據(jù)的發(fā)送模塊進(jìn)行標(biāo)識(shí),以及 所述接收模塊讀取每個(gè)模塊報(bào)頭以識(shí)別添加有所述模塊數(shù)據(jù)的發(fā)送模塊。18.根據(jù)權(quán)利要求16所述的系統(tǒng),其中,所述發(fā)送模塊中的每個(gè)發(fā)送模塊還包括與所述 聚合單元進(jìn)行通信的播種單元,其中,第一發(fā)送模塊中的播種單元生成空動(dòng)態(tài)數(shù)據(jù)幀,并且 將所述空動(dòng)態(tài)數(shù)據(jù)幀發(fā)送至用于所述第一發(fā)送模塊的聚合單元。19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中:在所述第一發(fā)送模塊與所述接收模塊之間存在第一傳輸路徑和第二傳輸路徑,每個(gè)發(fā)送模塊還包括處理器,至少一個(gè)發(fā)送模塊中的處理器和聚合單元中的至少之一能夠操作地檢測沿所述第一 傳輸路徑的故障,第一新發(fā)送模塊中的位于靠近所述接收模塊的故障的第一側(cè)上的播種單元生成所述 動(dòng)態(tài)數(shù)據(jù)幀,所述動(dòng)態(tài)數(shù)據(jù)幀沿所述故障與所述接收模塊之間的第一傳送路徑的一部分被 傳輸至所述接收模塊,以及第二新發(fā)送模塊中的位于遠(yuǎn)離所述接收模塊的故障的第二側(cè)上的播種單元生成所述 動(dòng)態(tài)數(shù)據(jù)幀,所述動(dòng)態(tài)數(shù)據(jù)幀用于沿所述故障與所述第一發(fā)送模塊之間的第一傳送路徑的 一部分然后沿所述第二傳輸路徑傳輸至所述接收模塊。20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中,所述接收模塊能夠操作地從由所述第一新發(fā)送 模塊和所述第二新發(fā)送模塊二者生成的動(dòng)態(tài)數(shù)據(jù)幀中提取所述參與者數(shù)據(jù)。
【文檔編號(hào)】H04L1/00GK106027198SQ201610193095
【公開日】2016年10月12日
【申請日】2016年3月30日
【發(fā)明人】西瓦拉姆·巴拉蘇布拉馬尼安, 喬納森·D·布拉德福德, 安東尼·G·吉巴爾蒂, 肯伍德·H·霍爾, 肯德爾·R·哈里斯, 雷蒙德·R·赫斯特德, 愛德華·C·科爾斯貝格, 格雷戈里·A·邁赫爾, 斯克特·A·皮爾斯, 格雷格·M·西奇納, 帕特里克·D·特爾約翰, 羅伯特·J·克雷奇曼
【申請人】洛克威爾自動(dòng)控制技術(shù)股份有限公司