專利名稱:一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及工業(yè)自動化技術(shù)領(lǐng)域,更具體地說,涉及一種分布式控制系統(tǒng)的數(shù)據(jù) 共享實(shí)現(xiàn)方法及裝置。
背景技術(shù):
通常,分布式控制系統(tǒng)(Distributed Control System,DCS)的架構(gòu)是網(wǎng)絡(luò)拓?fù)浣Y(jié) 構(gòu),所有的分布節(jié)點(diǎn),例如現(xiàn)場控制站,構(gòu)成一個(gè)局域網(wǎng)。所謂數(shù)據(jù)共享是指某個(gè)控制站從 現(xiàn)場獲取的數(shù)據(jù)(例如采集的溫度、壓力、流量等數(shù)據(jù))可以被其它控制站引用。目前,DCS系統(tǒng)中實(shí)現(xiàn)分布節(jié)點(diǎn)之間的數(shù)據(jù)共享處理方式可以歸結(jié)為以下對稱組 態(tài)以及限制被引用總站數(shù)、定時(shí)全部輸送被引用數(shù)據(jù)的方式工程師利用組態(tài)軟件進(jìn)行對稱組態(tài)時(shí),對于需要共享的數(shù)據(jù),在引用控制站和被 引用控制站都進(jìn)行標(biāo)記,例如15號控制站采集的鍋爐溫度定義為VAR15_T,而16號控制站 也需要共享這個(gè)鍋爐的溫度,此時(shí)工程師在組態(tài)時(shí)按照約定的格式分別在15和16站進(jìn)行 標(biāo)記,就可以實(shí)現(xiàn)鍋爐溫度在15和16站的共享了。在實(shí)現(xiàn)數(shù)據(jù)共享時(shí),必須保證各控制站 之間共享的數(shù)據(jù)類型完全相同。如果需要共享的變量很多,會通過一個(gè)數(shù)據(jù)包包含這些共 享的變量。在引用與被引用控制站對數(shù)據(jù)包進(jìn)行標(biāo)記時(shí)必須保證,數(shù)據(jù)包中的變量個(gè)數(shù)相 同且變量排列次序完全一致。除此之外,多數(shù)組態(tài)軟件對共享被引用數(shù)據(jù)的總控制站數(shù)目進(jìn)行限制,如上所述, 15號站采集的鍋爐溫度只能被有限的(例如低于20個(gè))其它控制站引用,而在處理這些被 引用的數(shù)據(jù)時(shí),采用的通信方式大多是網(wǎng)絡(luò)通信,實(shí)現(xiàn)方式是定時(shí)周期循環(huán)把被引用的數(shù) 據(jù)全部發(fā)出至相應(yīng)的控制站。但是,通過發(fā)明人的研究發(fā)現(xiàn),現(xiàn)有技術(shù)中仍然存在著以下缺點(diǎn)數(shù)據(jù)共享的控制站之間具有很高的耦合度,且共享數(shù)據(jù)的可擴(kuò)展性差。這是由 于首先,對稱組態(tài)雖然取得了引用與被引用方的數(shù)據(jù)共享的對稱(即彼此相知),但 是也大大提高了控制器之間的耦合度,例如當(dāng)16號站不僅需要引用15號站采集的鍋爐溫 度,還要引用10號站采集的某個(gè)開關(guān)閥的狀態(tài),根據(jù)對稱原則所有與16號站的關(guān)聯(lián)的控制 站都要重新組態(tài)程序并下裝到控制器之中,這種“牽一發(fā)而動全身”的耦合效應(yīng)在實(shí)際控制 中是不可取的,甚至是不能接受的;而且,在組態(tài)的時(shí)候,如果數(shù)據(jù)包包含的數(shù)據(jù)次序顛倒 或者類型不同,那么整包數(shù)據(jù)包的數(shù)據(jù)都將做廢棄處理;其次,目前的DCS系統(tǒng)是網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),控制器互為冗余,理論上一個(gè)域內(nèi)是可以 支持100以上的分布節(jié)點(diǎn)的?,F(xiàn)有DCS系統(tǒng)中控制站之間的數(shù)據(jù)共享在實(shí)際引用中具有 交叉引用的控制站個(gè)數(shù)多,控制站與控制站之間的引用的數(shù)據(jù)少的特點(diǎn)。然而,隨著被控對 象的增多以及現(xiàn)場情況的復(fù)雜,這種限制被引用總站數(shù)的方案在復(fù)雜的控制現(xiàn)場(如核電 控制站)就顯得捉襟見肘;而且,現(xiàn)有這種不考慮網(wǎng)絡(luò)負(fù)載,一次全部發(fā)送被引用數(shù)據(jù)的做 法在某些情況下(如數(shù)據(jù)量大時(shí))對DCS系統(tǒng)核心控制器程序的影響也大為增加。
由此可見,現(xiàn)有技術(shù)在分布式控制系統(tǒng)中無法實(shí)現(xiàn)有效的數(shù)據(jù)共享。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法及裝置, 以在分布式控制系統(tǒng)中實(shí)現(xiàn)有效的數(shù)據(jù)共享。本發(fā)明實(shí)施例提供一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法,包括應(yīng)答控制站接收請求控制站發(fā)起的數(shù)據(jù)共享請求,所述數(shù)據(jù)共享請求中攜帶有共 享數(shù)據(jù)的標(biāo)識信息;所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,生成應(yīng)答反饋,所述應(yīng) 答反饋包 括共享數(shù)據(jù)包以及應(yīng)答信息;所述應(yīng)答控制站向所述請求控制站發(fā)送所述應(yīng)答反饋,實(shí)現(xiàn)所述請求控制站和應(yīng) 答控制站之間的數(shù)據(jù)共享。優(yōu)選的,所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,生成共享數(shù)據(jù)包,包括所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,判斷是否包含所述請求控制站請 求共享的所有數(shù)據(jù);如果是,則生成包含所述請求控制站請求共享的所有數(shù)據(jù)的共享數(shù)據(jù)包,并生成 第一應(yīng)答標(biāo)記信息,所述第一應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包包含所述請求控制站 請求共享的所有數(shù)據(jù);如果否,則生成包含當(dāng)前存在數(shù)據(jù)的共享數(shù)據(jù)包,并生成第二應(yīng)答標(biāo)記信息,所述 第二應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包未包含所述請求控制站請求共享的所有數(shù)據(jù)。優(yōu)選的,所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,判斷是否包含所述請求 控制站請求共享的數(shù)據(jù),包括所述應(yīng)答控制站查找哈希表,判斷所述哈希表中是否包含與所述標(biāo)識信息相匹配 的變量數(shù)據(jù),若是,則確定包含所述請求控制站請求共享的數(shù)據(jù)。優(yōu)選的,當(dāng)某控制站需要向多個(gè)控制站發(fā)送數(shù)據(jù)共享請求、并需要向另外多個(gè)控 制站發(fā)送應(yīng)答反饋時(shí),所述方法還包括所述某控制站確定發(fā)送所有數(shù)據(jù)共享請求和應(yīng)答信息的發(fā)送周期,根據(jù)發(fā)送某一 共享請求和某一應(yīng)答信息的控制周期,獲得所述發(fā)送周期包含的控制周期數(shù)目;所述某控制站利用一個(gè)發(fā)送周期中的最后一個(gè)控制周期發(fā)送所述所有應(yīng)答信息 以及共享數(shù)據(jù)包;所述某控制站根據(jù)需要接收所述共享請求的控制站數(shù)目、以及一個(gè)發(fā)送周期中剩 余的控制周期,獲得剩余的每個(gè)控制周期內(nèi)發(fā)送所述數(shù)據(jù)共享請求的控制站數(shù)目,并在剩 余的每個(gè)控制周期中向相應(yīng)數(shù)目的控制站發(fā)送所述數(shù)據(jù)共享請求。進(jìn)一步,所述方法還包括所述請求控制站判斷在預(yù)置時(shí)間內(nèi)是否接收到共享數(shù)據(jù)包,如果否,則重新發(fā)起 所述數(shù)據(jù)共享請求。一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置,包括數(shù)據(jù)共享請求接收模塊,用于控制應(yīng)答控制站接收請求控制站發(fā)起的數(shù)據(jù)共享請 求,所述數(shù)據(jù)共享請求中攜帶有共享數(shù)據(jù)的標(biāo)識信息;
應(yīng)答反饋生成模塊,用于控制所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,生 成應(yīng)答反饋,所述應(yīng)答反饋包括共享數(shù)據(jù)包以及應(yīng)答信息;應(yīng)答反饋發(fā)送模塊,用于控制所述應(yīng)答控制站向所述請求控制站發(fā)送所述應(yīng)答反 饋,實(shí)現(xiàn)所述請求控制站和應(yīng)答控制站之間的數(shù)據(jù)共享。優(yōu)選的,所述應(yīng)答反饋生成模塊包括 判斷子模塊,用于控制所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,判斷是否 包含所述請求控制站請求共享的所有數(shù)據(jù);如果是,則觸發(fā)第一應(yīng)答反饋?zhàn)幽K;如果否, 則觸發(fā)第二應(yīng)答反饋?zhàn)幽K;所述第一應(yīng)答反饋?zhàn)幽K,用于生成包含所述請求控制站請求共享的所有數(shù)據(jù)的 共享數(shù)據(jù)包,并生成第一應(yīng)答標(biāo)記信息,所述第一應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包 包含所述請求控制站請求共享的所有數(shù)據(jù);所述第二應(yīng)答反饋?zhàn)幽K,用于生成包含當(dāng)前存在數(shù)據(jù)的共享數(shù)據(jù)包,并生成第 二應(yīng)答標(biāo)記信息,所述第二應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包未包含所述請求控制站 請求共享的所有數(shù)據(jù)。優(yōu)選的,所述判斷子模塊通過控制所述應(yīng)答控制站查找哈希表,判斷所述哈希表 中是否包含與所述標(biāo)識信息相匹配的變量數(shù)據(jù),若是,則確定包含所述請求控制站請求共 享的數(shù)據(jù)。優(yōu)選的,當(dāng)某控制站需要向多個(gè)控制站發(fā)送數(shù)據(jù)共享請求、并需要向另外多個(gè)控 制站發(fā)送應(yīng)答反饋時(shí),所述裝置還包括周期獲取模塊,用于控制所述某控制站確定發(fā)送所有數(shù)據(jù)共享請求和應(yīng)答信息的 發(fā)送周期,根據(jù)發(fā)送某一共享請求和某一應(yīng)答信息的控制周期,獲得所述發(fā)送周期包含的 控制周期數(shù)目;共享請求發(fā)送模塊,用于所述某控制站根據(jù)需要接收所述共享請求的控制站數(shù) 目、以及一個(gè)發(fā)送周期中剩余的控制周期,獲得剩余的每個(gè)控制周期內(nèi)發(fā)送所述數(shù)據(jù)共享 請求的控制站數(shù)目,并在剩余的每個(gè)控制周期中向相應(yīng)數(shù)目的控制站發(fā)送所述數(shù)據(jù)共享請 求;則,所述應(yīng)答反饋發(fā)送模塊用于控制所述某控制站利用一個(gè)發(fā)送周期中的最后一 個(gè)控制周期發(fā)送所述所有應(yīng)答信息以及共享數(shù)據(jù)包。 進(jìn)一步,所述裝置還包括重發(fā)請求模塊,用于控制所述請求控制站判斷在預(yù)置時(shí)間內(nèi)是否接收到共享數(shù)據(jù) 包,如果否,則重新發(fā)起所述數(shù)據(jù)共享請求。同現(xiàn)有技術(shù)相比,本發(fā)明提供的技術(shù)方案中,采用非對稱組態(tài)方式,僅由請求共享 數(shù)據(jù)的控制站在組態(tài)時(shí)對請求共享的數(shù)據(jù)設(shè)置標(biāo)識信息,并將該共享數(shù)據(jù)的標(biāo)識信息攜帶 于請求控制站發(fā)起的數(shù)據(jù)共享請求中,這樣,應(yīng)答控制站可以根據(jù)共享數(shù)據(jù)的標(biāo)識信息,生 成共享數(shù)據(jù)包,從而避免某一請求控制站的數(shù)據(jù)共享需求發(fā)生變化時(shí),與其相關(guān)的其它控 制站的組態(tài)發(fā)生相應(yīng)變化的耦合效應(yīng),從而可以降低控制站之間的耦合性,能夠在分布式 控制系統(tǒng)中實(shí)現(xiàn)有效的數(shù)據(jù)共享。
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中 所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí) 施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖 獲得其它的附圖。圖1為本發(fā)明實(shí)施例提供的一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法步驟流程圖;圖2為本發(fā)明實(shí)施例應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,生成應(yīng)答反饋的 流程示意圖;
圖3為本發(fā)明實(shí)施例數(shù)據(jù)共享請求和應(yīng)答反饋的發(fā)送過程的流程示意圖;圖4為本發(fā)明實(shí)施例提供的一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置結(jié)構(gòu)示意 圖;圖5為本發(fā)明實(shí)施例提供的另一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置結(jié)構(gòu)示 意圖;圖6為本發(fā)明實(shí)施例提供的又一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置結(jié)構(gòu)示 意圖;圖7為本發(fā)明實(shí)施例提供的另外一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置結(jié)構(gòu) 示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。下面首先對本發(fā)明提供的分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法進(jìn)行說明,參照圖 1所示,所述方法包括步驟101、應(yīng)答控制站接收請求控制站發(fā)起的數(shù)據(jù)共享請求,所述數(shù)據(jù)共享請求中 攜帶有共享數(shù)據(jù)的標(biāo)識信息;步驟102、所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,生成應(yīng)答反饋,所述應(yīng) 答反饋包括共享數(shù)據(jù)包以及應(yīng)答信息;步驟103、所述應(yīng)答控制站向所述請求控制站發(fā)送所述應(yīng)答反饋,實(shí)現(xiàn)所述請求控 制站和應(yīng)答控制站之間的數(shù)據(jù)共享。本發(fā)明提供的技術(shù)方案中,采用非對稱組態(tài)方式,僅由請求共享數(shù)據(jù)的控制站在 組態(tài)時(shí)對請求共享的數(shù)據(jù)設(shè)置標(biāo)識信息,并將該共享數(shù)據(jù)的標(biāo)識信息攜帶于請求控制站發(fā) 起的數(shù)據(jù)共享請求中,這樣,應(yīng)答控制站可以根據(jù)共享數(shù)據(jù)的標(biāo)識信息,生成共享數(shù)據(jù)包, 從而避免某一請求控制站的數(shù)據(jù)共享需求發(fā)生變化時(shí),與其相關(guān)的其它控制站的組態(tài)發(fā)生 相應(yīng)變化的耦合效應(yīng),從而可以降低控制站之間的耦合性,能夠在分布式控制系統(tǒng)中實(shí)現(xiàn) 有效的數(shù)據(jù)共享。為了清楚描述非對稱組態(tài),仍以DCS系統(tǒng)中的15號控制站和16號控制站為例進(jìn) 行說明。當(dāng)16號控制站需要引用15號控制站采集到的鍋爐溫度(假設(shè)15號控制站采集的鍋爐溫度定義為VAR15_T),此時(shí)16號控制站只需在組態(tài)的時(shí)候?qū)?5號站定義的鍋爐溫 度參數(shù)做個(gè)引用標(biāo)記即可(如標(biāo)記形式為15#VAR15_T,通過該標(biāo)記形式代表要引用15號控 制站的VAR15_T即鍋爐溫度),15號控制站在組態(tài)時(shí)不必知道16號控制站要引用自己的鍋 爐溫度參數(shù),控制站之間共享信息的身份標(biāo)識是工程師組態(tài)時(shí)對共享信息的變量的命名。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息, 生成應(yīng)答反饋可以通過以下具體流程實(shí)現(xiàn),如圖2所示,包括步驟201、所述應(yīng)答控制站獲取數(shù)據(jù)共享請求中攜帶的共享數(shù)據(jù)的標(biāo)識信息;步驟202、所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,判斷是否包含所述請求 控制站請求共享的所有數(shù)據(jù);如果是,則繼續(xù)步驟203 ;如果否,則繼續(xù)步驟204 ;步驟203、生成包含所述應(yīng)答控制站請求共享的所有數(shù)據(jù)的共享數(shù)據(jù)包,并生成第 一應(yīng)答標(biāo)記信息,所述第一應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包包含所述請求控制站請 求共享的所有數(shù)據(jù);步驟204、生成包含當(dāng)前存在數(shù)據(jù)的共享數(shù)據(jù)包,并生成第二應(yīng)答標(biāo)記信息,所述 第二應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包未包含所述請求控制站請求共享的所有數(shù)據(jù)。對于請求控制站請求共享的數(shù)據(jù),應(yīng)答控制站可能不存在。對于應(yīng)答控制站不存 在的共享數(shù)據(jù),現(xiàn)有技術(shù)中的處理方案是將整個(gè)請求數(shù)據(jù)包全部丟棄。而本發(fā)明技術(shù)方案 中,應(yīng)答控制站針對請求控制站發(fā)起的數(shù)據(jù)共享請求采用了挑選處理,所謂挑選處理就是 如果應(yīng)答控制站不存在某些請求共享的數(shù)據(jù),則可以根據(jù)共享數(shù)據(jù)的標(biāo)識信息剔除不存在 的數(shù)據(jù),而引用存在的數(shù)據(jù)生成共享數(shù)據(jù)包,仍以16號控制站需要引用15號控制站采集的 數(shù)據(jù)信息為例本發(fā)明實(shí)施例中,16號控制站發(fā)送的數(shù)據(jù)共享請求內(nèi)容包括應(yīng)答控制站15號控 制站的全部信息、共享數(shù)據(jù)的標(biāo)識信息及應(yīng)答標(biāo)記信息,其中,所述應(yīng)答標(biāo)記信息用于標(biāo)識 共享數(shù)據(jù)包中是否包含16號控制站所請求共享的所有數(shù)據(jù)。需要說明的是,所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,判斷是否包含所 述請求控制站請求共享的數(shù)據(jù)的實(shí)現(xiàn)方式可以是所述應(yīng)答控制站查找哈希表,判斷所述哈希表中是否包含與所述標(biāo)識信息相匹配 的變量數(shù)據(jù),若是,則確定包含所述請求控制站請求共享的數(shù)據(jù)。仍然以上述15號控制站和16號控制站為例進(jìn)行說明,15號控制站接收到16號控 制站發(fā)送的數(shù)據(jù)共享請求,根據(jù)數(shù)據(jù)共享請求中攜帶的共享數(shù)據(jù)的標(biāo)識信息,對所有16號 控制站的數(shù)據(jù)共享信息在本地哈希表里進(jìn)行搜索,控制站之間的共享數(shù)據(jù)的標(biāo)識是組態(tài)定 義的變量名,因此,只要變量名和數(shù)據(jù)類型匹配就應(yīng)答此請求信息,如果不匹配則構(gòu)造共享 數(shù)據(jù)虛信息通知請求方,通過共享數(shù)據(jù)虛信息表征不存在的數(shù)據(jù)有哪些。因此,15號控制 站在包含所述應(yīng)答控制站請求共享的所有數(shù)據(jù)情形下,向16號控制站發(fā)送的反饋信息為 包含全部共享數(shù)據(jù)的共享數(shù)據(jù)包以及標(biāo)識所述共享數(shù)據(jù)包包含所述請求控制站請求共享 的所有數(shù)據(jù)的第一應(yīng)答標(biāo)記信息;而在未包含所述請求控制站請求共享的所有數(shù)據(jù)的情形 下,向16號控制站發(fā)送的反饋信息為包含當(dāng)前存在數(shù)據(jù)的共享數(shù)據(jù)包、共享數(shù)據(jù)虛信息 以及標(biāo)識所述共享數(shù)據(jù)包未包含所述請求控制站請求共享的所有數(shù)據(jù)的第二應(yīng)答標(biāo)記信 息。
16號控制站接收到15號控制站發(fā)送的反饋信息,根據(jù)應(yīng)答標(biāo)記信息判斷反饋信息中是否包含所有共享數(shù)據(jù);當(dāng)反饋信息中包含共享數(shù)據(jù)虛信息時(shí),則可以根據(jù)該虛信息 獲得15號控制站中不存在的共享數(shù)據(jù),因此,可以直接對存在的共享數(shù)據(jù)加以利用。實(shí)際應(yīng)用中,當(dāng)某控制站需要向多個(gè)控制站發(fā)送數(shù)據(jù)共享請求、并需要向另外多 個(gè)控制站發(fā)送應(yīng)答反饋時(shí),如圖3所示,數(shù)據(jù)共享請求和應(yīng)答反饋的發(fā)送過程包括步驟301、所述某控制站確定發(fā)送所有數(shù)據(jù)共享請求和應(yīng)答信息的發(fā)送周期,根據(jù) 發(fā)送某一共享請求和某一應(yīng)答信息的控制周期,獲得所述發(fā)送周期包含的控制周期數(shù)目;步驟302、所述某控制站利用一個(gè)發(fā)送周期中的最后一個(gè)控制周期發(fā)送所述所有 應(yīng)答信息以及共享數(shù)據(jù)包;步驟303、所述某控制站根據(jù)需要接收所述共享請求的控制站數(shù)目、以及一個(gè)發(fā) 送周期中剩余的控制周期,獲得剩余的每個(gè)控制周期內(nèi)發(fā)送所述數(shù)據(jù)共享請求的控制站數(shù) 目,并在剩余的每個(gè)控制周期內(nèi)中向相應(yīng)數(shù)目的控制站發(fā)送所述數(shù)據(jù)共享請求。該實(shí)施例中,提供了一種控制著自適應(yīng)發(fā)送數(shù)據(jù)共享請求和應(yīng)答反饋的實(shí)施方案。DCS系統(tǒng)包含很多現(xiàn)場控制站,每個(gè)現(xiàn)場控制站的數(shù)據(jù)(如采集到的溫度、壓力 等)都可能被其它控制站共享,同時(shí)自身的數(shù)據(jù)也有可能共享其它控制站的數(shù)據(jù)。例如15 號控制站需要共享20,21……35號每個(gè)控制站的30個(gè)變量,同時(shí)40,41……55號控制站也 需要共享15號控制站的變量。因此,對于15號控制站而言,15號控制站需要向20,21…… 35總共16個(gè)控制站發(fā)出數(shù)據(jù)共享請求;15號控制站也需要對40,41……55號控制站做出 應(yīng)答反饋。可以看出,15號控制站發(fā)出所有數(shù)據(jù)共享請求以及應(yīng)答反饋將會耗費(fèi)很長的時(shí) 間,如果超過控制周期將是不允許的,不允許的原因如下控制周期可以理解為在一段時(shí)間內(nèi)對許多任務(wù)的調(diào)度周期,而且每個(gè)任務(wù)的執(zhí)行 不能超過控制周期。當(dāng)控制周期為1秒時(shí),則如果所有數(shù)據(jù)共享請求以及應(yīng)答反饋花費(fèi)3 秒肯定是不允許的??梢岳斫獾氖牵l(fā)送周期就是發(fā)送數(shù)據(jù)共享請求與對其它控制站共享信息的應(yīng)答 反饋的時(shí)間間隔,一般,發(fā)送周期要大于控制周期幾倍。假設(shè)控制周期為1秒,發(fā)送周期為 10秒,發(fā)出所有數(shù)據(jù)共享請求與所有應(yīng)答反饋將花費(fèi)5秒,在一個(gè)控制周期內(nèi)做完顯然是 不允許的。但是發(fā)送周期為10秒,也就是執(zhí)行此任務(wù)只要在10秒之內(nèi)做完就可以,而不必 要一次做完。因此,對于數(shù)據(jù)共享請求信息的發(fā)送可以采用逐次發(fā)送即自適應(yīng)發(fā)送的形式, 具體實(shí)現(xiàn)方式如下假設(shè)某控制站需要向其它站請求數(shù)據(jù)共享的總站數(shù)為M(36個(gè))發(fā)送周期為 SendCycle (假設(shè)為10秒),控制周期為CtrlCycyle (1秒),則發(fā)送周期內(nèi)分段個(gè)數(shù)St印= SendCycle/CtrlCycyledO),其中一個(gè)控制周期用來發(fā)送應(yīng)答信息,其余的用來發(fā)送請求 信息,因此一個(gè)控制周期平均發(fā)送請求信息的目的站數(shù)為TotalNum = M/ (Step-I) (4個(gè))。 可見,自適應(yīng)發(fā)送數(shù)據(jù)共享請求其實(shí)是將大任務(wù)分割為一個(gè)一個(gè)的小任務(wù)并逐步完成。其 中,對于應(yīng)答反饋的發(fā)送,由于相比較數(shù)據(jù)共享請求來說,數(shù)據(jù)量不大且耗時(shí)不長,則可利 用一個(gè)控制周期完成,通常,利用一個(gè)發(fā)送周期中的最后一個(gè)控制周期發(fā)送所有應(yīng)答信息 以及共享數(shù)據(jù)包??梢姡捎米赃m應(yīng)發(fā)送策略,數(shù)據(jù)共享請求可以適應(yīng)請求控制站總數(shù)的變化進(jìn)行 發(fā)送,使得多控制站之間的負(fù)載更為均衡。
通常,DCS系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)采用雙網(wǎng)冗余策略,即根據(jù)對雙網(wǎng)的診斷結(jié)果選擇利用 哪個(gè)網(wǎng)段進(jìn)行發(fā)送。 除此之外,由于控制站之間的數(shù)據(jù)共享是非對稱的,就需要請求控制站主動發(fā)出 請求,接收應(yīng)答控制站的應(yīng)答反饋,根據(jù)應(yīng)答反饋的結(jié)果而做相應(yīng)的處理。但是,請求控制 站發(fā)出的數(shù)據(jù)共享請求之后,未必就可以接收到應(yīng)答控制站的應(yīng)答反饋,或者應(yīng)答反饋未 必正確,這時(shí)為了建立共享信息的完備性(即彼此相知),可以采用重發(fā)請求機(jī)制,即所述 請求控制站判斷在預(yù)置時(shí)間內(nèi)是否接收到共享數(shù)據(jù)包,如果否,則重新發(fā)起所述數(shù)據(jù)共享 請求。預(yù)置時(shí)間可以根據(jù)實(shí)際應(yīng)用由本領(lǐng)域技術(shù)人員進(jìn)行設(shè)定,本發(fā)明實(shí)施例對此不做具 體限定。需要說明的是,請求控制站與應(yīng)答控制站之間建立起“數(shù)據(jù)共享請求——應(yīng)答反 饋”的數(shù)據(jù)傳輸模式之后,在一段時(shí)間之內(nèi),如果請求控制站請求共享的數(shù)據(jù)沒有變化時(shí), 則請求控制站不需要再次向應(yīng)答控制站發(fā)送數(shù)據(jù)共享請求,請求控制站可以根據(jù)實(shí)際應(yīng) 用,采用周期傳送應(yīng)答反饋的方式,將請求控制站請求共享的數(shù)據(jù)發(fā)送至請求控制站。當(dāng) 請求控制站請求共享的數(shù)據(jù)發(fā)生變化時(shí),則需要請求控制站重新向應(yīng)答控制站發(fā)送請求信 肩、ο此外,本發(fā)明實(shí)施例技術(shù)方案中所提到的哈希表(包含了所有可能成為共享信息 的變量集合)的建立時(shí)間為組態(tài)程序下裝到控制站以后,通常,哈希表最大有2萬點(diǎn)項(xiàng),由 于現(xiàn)場控制站是典型的嵌入式設(shè)備,資源有限,如果在現(xiàn)場控制站平臺下進(jìn)行哈希表的創(chuàng) 建將耗時(shí)幾百毫秒,對于實(shí)時(shí)控制系統(tǒng),這是不可取的??紤]到DCS系統(tǒng)的組網(wǎng)特點(diǎn),可以 把工程師站和現(xiàn)場控制站作為一個(gè)整體,充分利用工程師站(PC機(jī))的強(qiáng)大資源,使用負(fù)載 轉(zhuǎn)移技術(shù),把耗時(shí)部分即生成哈希表的過程在工程師站完成保存成文件,待下裝時(shí)下載到 現(xiàn)場控制站的程序之中。相應(yīng)上述現(xiàn)場總線儀表管理系統(tǒng)的數(shù)據(jù)管理方法,本發(fā)明實(shí)施例還提供了一種分 布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置,如圖4所示,該裝置具體可以包括數(shù)據(jù)共享請求接收模塊401,用于控制應(yīng)答控制站接收請求控制站發(fā)起的數(shù)據(jù)共 享請求,所述數(shù)據(jù)共享請求中攜帶有共享數(shù)據(jù)的標(biāo)識信息;應(yīng)答反饋生成模塊402,用于控制所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息, 生成應(yīng)答反饋,所述應(yīng)答反饋包括共享數(shù)據(jù)包以及應(yīng)答信息;應(yīng)答反饋發(fā)送模塊403,用于控制所述應(yīng)答控制站向所述請求控制站發(fā)送所述應(yīng) 答反饋,實(shí)現(xiàn)所述請求控制站和應(yīng)答控制站之間的數(shù)據(jù)共享。在本發(fā)明的另外一個(gè)優(yōu)選實(shí)施例中,如圖5所示,所述應(yīng)答反饋生成模塊402包 括判斷子模塊4021,用于控制所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,判 斷是否包含所述請求控制站請求共享的所有數(shù)據(jù);如果是,則觸發(fā)第一應(yīng)答反饋?zhàn)幽K 4022 ;如果否,則觸發(fā)第二應(yīng)答反饋?zhàn)幽K4023 ;所述第一應(yīng)答反饋?zhàn)幽K4022,用于生成包含所述請求控制站請求共享的所有數(shù) 據(jù)的共享數(shù)據(jù)包,并生成第一應(yīng)答標(biāo)記信息,所述第一應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù) 據(jù)包包含所述請求控制站請求共享的所有數(shù)據(jù);所述第二應(yīng)答反饋?zhàn)幽K4023,用于生成包含當(dāng)前存在數(shù)據(jù)的共享數(shù)據(jù)包,并生成第二應(yīng)答標(biāo)記信息,所述第二應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包未包含所述請求控 制站請求共享的所有數(shù)據(jù)。其中,所述判斷子模塊通過控制所述應(yīng)答控制站查找哈希表,判斷所述哈希表中 是否包含與所述標(biāo)識信息相匹配的變量數(shù)據(jù),若是,則確定包含所述請求控制站請求共享 的數(shù)據(jù)。
當(dāng)某控制站需要向多個(gè)控制站發(fā)送數(shù)據(jù)共享請求、并需要向另外多個(gè)控制站發(fā)送 應(yīng)答反饋時(shí),如圖6所示,所述裝置還包括周期獲取模塊404,用于控制所述某控制站確定發(fā)送所有數(shù)據(jù)共享請求和應(yīng)答信 息的發(fā)送周期,根據(jù)發(fā)送某一共享請求和某一應(yīng)答信息的控制周期,獲得所述發(fā)送周期包 含的控制周期數(shù)目;共享請求發(fā)送模塊405,用于所述某控制站根據(jù)需要接收所述共享請求的控制站 數(shù)目、以及一個(gè)發(fā)送周期中剩余的控制周期,獲得剩余的每個(gè)控制周期內(nèi)發(fā)送所述數(shù)據(jù)共 享請求的控制站數(shù)目,并在剩余的每個(gè)控制周期中向相應(yīng)數(shù)目的控制站發(fā)送所述數(shù)據(jù)共享 請求;則,所述應(yīng)答反饋發(fā)送模塊用于控制所述某控制站利用一個(gè)發(fā)送周期中的最后一 個(gè)控制周期發(fā)送所述所有應(yīng)答信息以及共享數(shù)據(jù)包。如圖7所示,為本發(fā)明實(shí)施例提供的另外一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝 置,該裝置還可以包括重發(fā)請求模塊406,用于控制所述請求控制站判斷在預(yù)置時(shí)間內(nèi)是 否接收到共享數(shù)據(jù)包,如果否,則重新發(fā)起所述數(shù)據(jù)共享請求。對于裝置實(shí)施例而言,由于其基本相應(yīng)于方法實(shí)施例,所以描述得比較簡單,相關(guān) 之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所 述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可 以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。 可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普 通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以 通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于計(jì)算機(jī)可讀取存儲介質(zhì) 中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為 磁碟、光盤、只讀存儲記憶體(Read-OnlyMemory,ROM)或隨機(jī)存儲記憶體(Random Access Memory, RAM)等。對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的 一般原理可以在不脫離本發(fā)明實(shí)施例的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此, 本發(fā)明實(shí)施例將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和 新穎特點(diǎn)相一致的最寬的范圍。
權(quán)利要求
一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法,其特征在于,所述方法包括應(yīng)答控制站接收請求控制站發(fā)起的數(shù)據(jù)共享請求,所述數(shù)據(jù)共享請求中攜帶有共享數(shù)據(jù)的標(biāo)識信息;所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,生成應(yīng)答反饋,所述應(yīng)答反饋包括共享數(shù)據(jù)包以及應(yīng)答信息;所述應(yīng)答控制站向所述請求控制站發(fā)送所述應(yīng)答反饋,實(shí)現(xiàn)所述請求控制站和應(yīng)答控制站之間的數(shù)據(jù)共享。
2.根據(jù)權(quán)利要求1所述的分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法,其特征在于,所述應(yīng) 答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,生成應(yīng)答反饋,包括所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,判斷是否包含所述請求控制站請求共 享的所有數(shù)據(jù);如果是,則生成包含所述請求控制站請求共享的所有數(shù)據(jù)的共享數(shù)據(jù)包,并生成第一 應(yīng)答標(biāo)記信息,所述第一應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包包含所述請求控制站請求 共享的所有數(shù)據(jù);如果否,則生成包含當(dāng)前存在數(shù)據(jù)的共享數(shù)據(jù)包,并生成第二應(yīng)答標(biāo)記信息,所述第二 應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包未包含所述請求控制站請求共享的所有數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法,其特征在于,所述應(yīng) 答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,判斷是否包含所述請求控制站請求共享的數(shù)據(jù), 包括所述應(yīng)答控制站查找哈希表,判斷所述哈希表中是否包含與所述標(biāo)識信息相匹配的變 量數(shù)據(jù),若是,則確定包含所述請求控制站請求共享的數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法,其特征在于,當(dāng)某控 制站需要向多個(gè)控制站發(fā)送數(shù)據(jù)共享請求、并需要向另外多個(gè)控制站發(fā)送應(yīng)答反饋時(shí),所 述方法還包括所述某控制站確定發(fā)送所有數(shù)據(jù)共享請求和應(yīng)答信息的發(fā)送周期,根據(jù)發(fā)送某一共享 請求和某一應(yīng)答信息的控制周期,獲得所述發(fā)送周期包含的控制周期數(shù)目;所述某控制站利用一個(gè)發(fā)送周期中的最后一個(gè)控制周期發(fā)送所述所有應(yīng)答信息以及 共享數(shù)據(jù)包;所述某控制站根據(jù)需要接收所述共享請求的控制站數(shù)目、以及一個(gè)發(fā)送周期中剩余的 控制周期,獲得剩余的每個(gè)控制周期內(nèi)發(fā)送所述數(shù)據(jù)共享請求的控制站數(shù)目,并在剩余的 每個(gè)控制周期中向相應(yīng)數(shù)目的控制站發(fā)送所述數(shù)據(jù)共享請求。
5.根據(jù)權(quán)利要求1 4中任一項(xiàng)所述的分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法,其特征 在于,所述方法還包括所述請求控制站判斷在預(yù)置時(shí)間內(nèi)是否接收到共享數(shù)據(jù)包,如果否,則重新發(fā)起所述 數(shù)據(jù)共享請求。
6.一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置,其特征在于,所述裝置包括數(shù)據(jù)共享請求接收模塊,用于控制應(yīng)答控制站接收請求控制站發(fā)起的數(shù)據(jù)共享請求, 所述數(shù)據(jù)共享請求中攜帶有共享數(shù)據(jù)的標(biāo)識信息;應(yīng)答反饋生成模塊,用于控制所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,生成應(yīng)答反饋,所述應(yīng)答反饋包括共享數(shù)據(jù)包以及應(yīng)答信息;應(yīng)答反饋發(fā)送模塊,用于控制所述應(yīng)答控制站向所述請求控制站發(fā)送所述應(yīng)答反饋, 實(shí)現(xiàn)所述請求控制站和應(yīng)答控制站之間的數(shù)據(jù)共享。
7.根據(jù)權(quán)利要求6所述的分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置,其特征在于,所述應(yīng) 答反饋生成模塊包括判斷子模塊,用于控制所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,判斷是否包含 所述請求控制站請求共享的所有數(shù)據(jù);如果是,則觸發(fā)第一應(yīng)答反饋?zhàn)幽K;如果否,則觸 發(fā)第二應(yīng)答反饋?zhàn)幽K;所述第一應(yīng)答反饋?zhàn)幽K,用于生成包含所述請求控制站請求共享的所有數(shù)據(jù)的共享 數(shù)據(jù)包,并生成第一應(yīng)答標(biāo)記信息,所述第一應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包包含 所述請求控制站請求共享的所有數(shù)據(jù);所述第二應(yīng)答反饋?zhàn)幽K,用于生成包含當(dāng)前存在數(shù)據(jù)的共享數(shù)據(jù)包,并生成第二應(yīng) 答標(biāo)記信息,所述第二應(yīng)答標(biāo)記信息用于標(biāo)識所述共享數(shù)據(jù)包未包含所述請求控制站請求 共享的所有數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置,其特征在于,所述判 斷子模塊通過控制所述應(yīng)答控制站查找哈希表,判斷所述哈希表中是否包含與所述標(biāo)識信 息相匹配的變量數(shù)據(jù),若是,則確定包含所述請求控制站請求共享的數(shù)據(jù)。
9.根據(jù)權(quán)利要求6所述的分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置,其特征在于,當(dāng)某控 制站需要向多個(gè)控制站發(fā)送數(shù)據(jù)共享請求、并需要向另外多個(gè)控制站發(fā)送應(yīng)答反饋時(shí),所 述裝置還包括周期獲取模塊,用于控制所述某控制站確定發(fā)送所有數(shù)據(jù)共享請求和應(yīng)答信息的發(fā)送 周期,根據(jù)發(fā)送某一共享請求和某一應(yīng)答信息的控制周期,獲得所述發(fā)送周期包含的控制 周期數(shù)目;共享請求發(fā)送模塊,用于所述某控制站根據(jù)需要接收所述共享請求的控制站數(shù)目、以 及一個(gè)發(fā)送周期中剩余的控制周期,獲得剩余的每個(gè)控制周期內(nèi)發(fā)送所述數(shù)據(jù)共享請求的 控制站數(shù)目,并在剩余的每個(gè)控制周期中向相應(yīng)數(shù)目的控制站發(fā)送所述數(shù)據(jù)共享請求;則所述應(yīng)答反饋發(fā)送模塊用于控制所述某控制站利用一個(gè)發(fā)送周期中的最后一個(gè)控 制周期發(fā)送所述所有應(yīng)答信息以及共享數(shù)據(jù)包。
10.根據(jù)權(quán)利要求6 9中任一項(xiàng)所述的分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)裝置,其特征 在于,所述裝置還包括重發(fā)請求模塊,用于控制所述請求控制站判斷在預(yù)置時(shí)間內(nèi)是否接收到共享數(shù)據(jù)包, 如果否,則重新發(fā)起所述數(shù)據(jù)共享請求。
全文摘要
本發(fā)明公開了一種分布式控制系統(tǒng)的數(shù)據(jù)共享實(shí)現(xiàn)方法及裝置,其中,所述方法包括應(yīng)答控制站接收請求控制站發(fā)起的數(shù)據(jù)共享請求,所述數(shù)據(jù)共享請求中攜帶有共享數(shù)據(jù)的標(biāo)識信息;所述應(yīng)答控制站根據(jù)所述共享數(shù)據(jù)的標(biāo)識信息,生成應(yīng)答反饋,所述應(yīng)答反饋包括共享數(shù)據(jù)包以及應(yīng)答信息;所述應(yīng)答控制站向所述請求控制站發(fā)送所述應(yīng)答反饋,實(shí)現(xiàn)所述請求控制站和應(yīng)答控制站之間的數(shù)據(jù)共享。通過本發(fā)明,可以在分布式控制系統(tǒng)中降低分布式控制系統(tǒng)節(jié)點(diǎn)的耦合性,實(shí)現(xiàn)有效的非對稱數(shù)據(jù)共享。
文檔編號G05B19/418GK101859139SQ20101019259
公開日2010年10月13日 申請日期2010年6月1日 優(yōu)先權(quán)日2010年6月1日
發(fā)明者劉金龍, 施波, 王常力, 趙艷領(lǐng), 黃寧, 黃玲 申請人:杭州和利時(shí)自動化有限公司