本技術(shù)涉及profinet工業(yè)以太網(wǎng),尤其是涉及一種改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的方法、設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、profinet(下面簡(jiǎn)稱為pn)是iec61158公布的第10類現(xiàn)場(chǎng)總線/工業(yè)以太網(wǎng)標(biāo)準(zhǔn),屬于實(shí)時(shí)以太網(wǎng)。在實(shí)際組網(wǎng)中,為保證網(wǎng)絡(luò)的可靠性和可用性,通常采用冗余的傳輸路徑(比如環(huán)形拓?fù)洌鐖D1所示),當(dāng)網(wǎng)絡(luò)中發(fā)生單點(diǎn)故障導(dǎo)致一條傳輸路徑失效時(shí),另外的替換路徑可以生效,網(wǎng)絡(luò)通信可以快速恢復(fù)正常。在profinet中定義了介質(zhì)冗余協(xié)議(mediaredundancy?protocol,簡(jiǎn)稱mrp),mrp通過(guò)對(duì)環(huán)型以太網(wǎng)進(jìn)行狀態(tài)監(jiān)控與控制來(lái)實(shí)現(xiàn)冗余的傳輸路徑。
2、pn網(wǎng)絡(luò)中的實(shí)時(shí)數(shù)據(jù),包括pn主站和從站間的周期性交互數(shù)據(jù)。pn主站和從站間典型的實(shí)時(shí)通信數(shù)據(jù)刷新周期為1~128ms。看門狗時(shí)間是指,如果pn設(shè)備在此時(shí)間內(nèi)沒(méi)有收到對(duì)方的周期數(shù)據(jù),則認(rèn)為對(duì)方設(shè)備出現(xiàn)故障,觸發(fā)故障上報(bào)。pn設(shè)備中默認(rèn)的看門狗時(shí)間為3倍的數(shù)據(jù)刷新周期時(shí)間,對(duì)應(yīng)典型值為3~384ms。在profinet協(xié)議中對(duì)mrp的性能要求為,當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)為50,網(wǎng)絡(luò)中發(fā)生單點(diǎn)故障時(shí),網(wǎng)絡(luò)重構(gòu)時(shí)間不大于200毫秒。此重構(gòu)時(shí)間并不能滿足數(shù)據(jù)刷新周期時(shí)間較?。?~32ms)的業(yè)務(wù)需求,當(dāng)網(wǎng)絡(luò)中發(fā)生故障時(shí),這些設(shè)備的看門狗會(huì)超時(shí),導(dǎo)致pn主站和從站間業(yè)務(wù)中斷,從而pn主站和從站間需要重新建立業(yè)務(wù)鏈接。
3、由于網(wǎng)絡(luò)故障需要重建鏈時(shí),pn主站需要發(fā)送dcp_req報(bào)文,并等待pn從站回復(fù)dcp_rsp報(bào)文。而此時(shí)由于網(wǎng)絡(luò)重構(gòu)并未完成,pn主站發(fā)送的第一個(gè)dcp_req報(bào)文無(wú)法到達(dá)從站,pn主站需要等待超時(shí)(通常為2秒)后重發(fā)dcp_req報(bào)文,這時(shí)網(wǎng)絡(luò)已重構(gòu)完成,pn從站可收到此報(bào)文并向pn主站回復(fù)dcp_rsp報(bào)文。此后pn主站和從站繼續(xù)重建鏈流程,恢復(fù)正常的業(yè)務(wù)。由于等待的超時(shí)時(shí)間(2秒)較長(zhǎng),總體pn業(yè)務(wù)恢復(fù)時(shí)間肯定要大于2秒。對(duì)比環(huán)網(wǎng)重構(gòu)時(shí)間小于200毫秒,但是pn業(yè)務(wù)恢復(fù)時(shí)間卻大于2秒。問(wèn)題的原因在于pn主站發(fā)出的第一個(gè)dcp_req報(bào)文無(wú)法到達(dá)從站,且協(xié)議中規(guī)定的主站等待超時(shí)的時(shí)間(2秒)過(guò)長(zhǎng)。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)的主要目的在于提供了一種改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的方法、設(shè)備和存儲(chǔ)介質(zhì),以解決pn主站發(fā)出的第一個(gè)dcp_req報(bào)文無(wú)法到達(dá)從站,且協(xié)議中規(guī)定的主站等待超時(shí)的時(shí)間過(guò)長(zhǎng)的技術(shù)問(wèn)題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供一種改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的方法,包括:實(shí)時(shí)監(jiān)測(cè)mrp冗余環(huán)網(wǎng)的狀態(tài),并獲取所述mrp冗余環(huán)網(wǎng)中pn主站發(fā)送的dcp_req報(bào)文;
3、將所述獲取到的dcp_req報(bào)文通過(guò)所述mrp冗余環(huán)網(wǎng)中的mrp主交換機(jī)緩存到報(bào)文緩沖區(qū)中;
4、響應(yīng)于監(jiān)測(cè)到所述mrp冗余環(huán)網(wǎng)的狀態(tài)由閉環(huán)狀態(tài)變?yōu)殚_(kāi)環(huán)狀態(tài),檢測(cè)所述報(bào)文緩沖區(qū)中是否為空;
5、響應(yīng)于確定所述報(bào)文緩沖區(qū)不為空,通過(guò)所述mrp主交換機(jī)將所述dcp_req報(bào)文發(fā)送至pn從站。
6、可選地,所述將所述獲取到的dcp_req報(bào)文通過(guò)所述mrp冗余環(huán)網(wǎng)中的mrp主交換機(jī)緩存到報(bào)文緩沖區(qū)中,包括:
7、根據(jù)所述dcp_req報(bào)文對(duì)應(yīng)的站名,確定所述dcp_req報(bào)文是否對(duì)應(yīng)所述mrp主交換機(jī);
8、響應(yīng)于確定所述dcp_req報(bào)文不對(duì)應(yīng)所述mrp主交換機(jī),確定所述mrp主交換機(jī)對(duì)應(yīng)的mrp角色是否是mrm;
9、響應(yīng)于確定所述mrp主交換機(jī)對(duì)應(yīng)的mrp角色是mrm,確定所述mrp主交換機(jī)對(duì)應(yīng)的mrp冗余環(huán)網(wǎng)的狀態(tài);
10、響應(yīng)于確定所述mrp主交換機(jī)對(duì)應(yīng)的mrp冗余環(huán)網(wǎng)的狀態(tài)是閉環(huán)狀態(tài),將所述獲取到的dcp_req報(bào)文和對(duì)應(yīng)的當(dāng)前時(shí)間緩存到報(bào)文緩沖區(qū)中。
11、可選地,響應(yīng)于確定所述mrp主交換機(jī)對(duì)應(yīng)的mrp角色不是mrm,不保存所述dcp_req報(bào)文。
12、可選地,響應(yīng)于確定所述mrp主交換機(jī)對(duì)應(yīng)的mrp冗余環(huán)網(wǎng)的狀態(tài)是開(kāi)環(huán)狀態(tài),不保存所述dcp_req報(bào)文。
13、可選地,所述響應(yīng)于監(jiān)測(cè)到所述mrp冗余環(huán)網(wǎng)的狀態(tài)由閉環(huán)狀態(tài)變?yōu)殚_(kāi)環(huán)狀態(tài),檢測(cè)所述報(bào)文緩沖區(qū)中是否為空,包括:
14、響應(yīng)于接收到所述mrp冗余環(huán)網(wǎng)的狀態(tài)變化通知,確定所述狀態(tài)變化是否是mrp冗余環(huán)網(wǎng)的狀態(tài)由閉環(huán)狀態(tài)變?yōu)殚_(kāi)環(huán)狀態(tài);
15、響應(yīng)于確定所述狀態(tài)變化是mrp冗余環(huán)網(wǎng)的狀態(tài)由閉環(huán)狀態(tài)變?yōu)殚_(kāi)環(huán)狀態(tài),確定所述報(bào)文緩沖區(qū)中是否有dcp_req報(bào)文。
16、可選地,所述響應(yīng)于確定所述報(bào)文緩沖區(qū)不為空,通過(guò)所述mrp主交換機(jī)將所述dcp_req報(bào)文發(fā)送至pn從站,包括:
17、響應(yīng)于確定所述報(bào)文緩沖區(qū)不為空,從所述報(bào)文緩沖區(qū)中選擇一個(gè)dcp_req報(bào)文;
18、根據(jù)所述dcp_req報(bào)文對(duì)應(yīng)保存的當(dāng)前時(shí)間,確定所述dcp_req報(bào)文是否在報(bào)文有效期內(nèi);
19、響應(yīng)于確定所述dcp_req報(bào)文在報(bào)文有效期內(nèi),確定所述mrp冗余環(huán)網(wǎng)的mrp端口的工作狀態(tài)是否由block變?yōu)閒orward;
20、響應(yīng)于所述mrp端口的工作狀態(tài)由block變?yōu)閒orward,所述mrp主交換機(jī)通過(guò)所述mrp端口將所述dcp_req報(bào)文發(fā)送至所述pn從站。
21、可選地,在所述響應(yīng)于所述mrp端口的工作狀態(tài)由block變?yōu)閒orward,所述mrp主交換機(jī)通過(guò)所述mrp端口將所述dcp_req報(bào)文發(fā)送至所述pn從站之后,所述方法還包括:
22、確定所述報(bào)文緩沖區(qū)是否為空;
23、響應(yīng)于確定所述報(bào)文緩沖區(qū)不為空,通過(guò)所述mrp主交換機(jī)將所述dcp_req報(bào)文發(fā)送至pn從站。
24、可選地,響應(yīng)于所述mrp端口的工作狀態(tài)未由block變?yōu)閒orward,確定所述報(bào)文緩沖區(qū)是否為空;
25、響應(yīng)于確定所述報(bào)文緩沖區(qū)為空,所述mrp主交換機(jī)不發(fā)送dcp_req報(bào)文發(fā)送至pn從站。
26、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的設(shè)備,其特征在于,所述改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的程序,所述改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述中任一項(xiàng)所述的改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的方法的步驟。
27、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的程序,所述改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述中任一項(xiàng)所述的改進(jìn)mrp環(huán)網(wǎng)中profinet主從重建鏈過(guò)程的方法的步驟。
28、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
29、通過(guò)實(shí)時(shí)監(jiān)測(cè)mrp冗余環(huán)網(wǎng)的狀態(tài),并獲取所述mrp冗余環(huán)網(wǎng)中pn主站發(fā)送的dcp_req報(bào)文;將所述獲取到的dcp_req報(bào)文通過(guò)所述mrp冗余環(huán)網(wǎng)中的mrp主交換機(jī)緩存到報(bào)文緩沖區(qū)中;響應(yīng)于監(jiān)測(cè)到所述mrp冗余環(huán)網(wǎng)的狀態(tài)由閉環(huán)狀態(tài)變?yōu)殚_(kāi)環(huán)狀態(tài),檢測(cè)所述報(bào)文緩沖區(qū)中是否為空;響應(yīng)于確定所述報(bào)文緩沖區(qū)不為空,通過(guò)所述mrp主交換機(jī)將所述dcp_req報(bào)文發(fā)送至pn從站。本實(shí)施例實(shí)現(xiàn)了彌補(bǔ)profinet協(xié)議中重建鏈流程的缺陷,可以解決由于網(wǎng)絡(luò)故障導(dǎo)致dcp_req被異常丟棄,pn業(yè)務(wù)恢復(fù)時(shí)間過(guò)長(zhǎng)的問(wèn)題;可以大大縮短pn主從站間的業(yè)務(wù)重建鏈時(shí)間,由數(shù)秒降低為數(shù)十至數(shù)百毫秒;進(jìn)一步提高profinet網(wǎng)絡(luò)的可靠性和可用性。