本發(fā)明涉及計(jì)算機(jī)控制技術(shù)領(lǐng)域,尤其涉及一種處理雙can(controllerareanetwork,控制器局域網(wǎng)絡(luò))總線時(shí)序不同步的方法及系統(tǒng)。
背景技術(shù):
為了提高設(shè)備間通訊的可靠性,目前主流的控制系統(tǒng)均采用雙總線通信,以實(shí)現(xiàn)互相備份,因此雙總線間的仲裁機(jī)制就是需要解決的問題。目前雙總線間的仲裁機(jī)制主要分為兩種,總線切換和雙收雙發(fā)??偩€切換技術(shù)開發(fā)成本高,所以雙收雙發(fā)機(jī)制也被很多人使用。使用雙收雙發(fā)機(jī)制時(shí),雙通道數(shù)據(jù)不同步的現(xiàn)象是客觀存在的但不明顯,如果總線負(fù)載過大時(shí),雙通道數(shù)據(jù)不同步的現(xiàn)象會(huì)加劇,而雙總線數(shù)據(jù)不同步時(shí),會(huì)導(dǎo)致某一通道的下一幀數(shù)據(jù)先于另一通道的上一幀數(shù)據(jù)到達(dá),處理不當(dāng)時(shí),會(huì)造成上一幀指令被處理兩次,有可能造成命令誤判,引起通訊異常。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少克服上述缺陷之一提供一種處理雙can總線時(shí)序不同步的方法及系統(tǒng),以解決雙通道數(shù)據(jù)不同步的問題。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的:
本發(fā)明的一個(gè)方面提供了一種處理雙can總線時(shí)序不同步的方法,包括:發(fā)送設(shè)備向通過雙can總線連接的接收設(shè)備發(fā)送指令幀時(shí),依次在每個(gè)指令幀中設(shè)置幀序號(hào),其中,幀序號(hào)按照預(yù)設(shè)順序進(jìn)行編號(hào);接收設(shè)備每接收一個(gè)指令幀,比較當(dāng)前指令幀的幀序號(hào)是否在數(shù)組中,其中,數(shù)組包含前n次執(zhí)行的指令的指令幀的幀序號(hào),n≥1且n為正整數(shù);接收設(shè)備比較當(dāng)前指令幀的幀序號(hào)在數(shù)組中,則忽略該指令。
另外,n=5-int(t2/t1),其中,t2為最小指令幀的發(fā)送間隔時(shí)間,t1為最大指令執(zhí)行時(shí)間。
另外,接收設(shè)備每接收一個(gè)指令幀,比較當(dāng)前指令幀的幀序號(hào)是否在數(shù)組中,接收設(shè)備比較當(dāng)前指令幀的幀序號(hào)在數(shù)組中,則忽略該指令包括:接收設(shè)備接收第一can總線通道數(shù)據(jù);對(duì)第一can總線通道數(shù)據(jù)的有效性進(jìn)行判斷;判斷第一can總線通道數(shù)據(jù)有效后,將當(dāng)前指令幀的幀序號(hào)與數(shù)組中的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);如果數(shù)組中不存在當(dāng)前指令幀的幀序號(hào),將當(dāng)前指令幀的幀序號(hào)存入數(shù)組中,刪除最早存入的幀序號(hào),并執(zhí)行當(dāng)前指令幀的指令,執(zhí)行完畢后執(zhí)行接收第二can總線通道數(shù)據(jù)的操作;如果數(shù)組中已經(jīng)存在當(dāng)前指令幀的幀序號(hào),不響應(yīng)當(dāng)前指令幀,并執(zhí)行接收第二can總線通道數(shù)據(jù)的操作;接收設(shè)備接收第二can總線通道數(shù)據(jù);對(duì)第二can總線通道數(shù)據(jù)的有效性進(jìn)行判斷;判斷第二can總線通道數(shù)據(jù)有效后,將當(dāng)前指令幀的幀序號(hào)與數(shù)組中的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);如果數(shù)組中不存在當(dāng)前指令幀的幀序號(hào),將當(dāng)前指令幀的幀序號(hào)存入數(shù)組中,刪除最早存入的幀序號(hào),并執(zhí)行當(dāng)前指令幀的指令,執(zhí)行完畢后執(zhí)行接收第一can總線通道數(shù)據(jù)的操作;如果數(shù)組中已經(jīng)存在當(dāng)前指令幀的幀序號(hào),不響應(yīng)當(dāng)前指令幀,并執(zhí)行接收第一can總線通道數(shù)據(jù)的操作。
另外,幀序號(hào)從0開始計(jì)數(shù),計(jì)滿255后從0重新開始計(jì)數(shù),計(jì)數(shù)每次加1。
另外,雙can總線替換為雙串口。
本發(fā)明另一方面提供了一種處理雙can總線時(shí)序不同步的系統(tǒng),包括:發(fā)送設(shè)備,用于向通過雙can總線連接的接收設(shè)備發(fā)送指令幀時(shí),依次在每個(gè)指令幀中設(shè)置幀序號(hào),其中,幀序號(hào)按照預(yù)設(shè)順序進(jìn)行編號(hào);接收設(shè)備,用于每接收一個(gè)指令幀,比較當(dāng)前指令幀的幀序號(hào)是否在數(shù)組中,其中,數(shù)組包含前n次執(zhí)行的指令的指令幀的幀序號(hào),n≥1且n為正整數(shù);比較當(dāng)前指令幀的幀序號(hào)在數(shù)組中,則忽略該指令。
另外,n=5-int(t2/t1),其中,t2為最小指令幀的發(fā)送間隔時(shí)間,t1為最大指令執(zhí)行時(shí)間。
另外,接收設(shè)備通過如下方式執(zhí)行每接收一個(gè)指令幀,比較當(dāng)前指令幀的幀序號(hào)是否在數(shù)組中,接收設(shè)備比較當(dāng)前指令幀的幀序號(hào)在數(shù)組中,則忽略該指令的操作:接收設(shè)備,用于接收第一can總線通道數(shù)據(jù);對(duì)第一can總線通道數(shù)據(jù)的有效性進(jìn)行判斷;判斷第一can總線通道數(shù)據(jù)有效后,將當(dāng)前指令幀的幀序號(hào)與數(shù)組中的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);如果數(shù)組中不存在當(dāng)前指令幀的幀序號(hào),將當(dāng)前指令幀的幀序號(hào)存入數(shù)組中,刪除最早存入的幀序號(hào),并執(zhí)行當(dāng)前指令幀的指令,執(zhí)行完畢后執(zhí)行接收第二can總線通道數(shù)據(jù)的操作;如果數(shù)組中已經(jīng)存在當(dāng)前指令幀的幀序號(hào),不響應(yīng)當(dāng)前指令幀,并執(zhí)行接收第二can總線通道數(shù)據(jù)的操作;接收第二can總線通道數(shù)據(jù);對(duì)第二can總線通道數(shù)據(jù)的有效性進(jìn)行判斷;判斷第二can總線通道數(shù)據(jù)有效后,將當(dāng)前指令幀的幀序號(hào)與數(shù)組中的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);如果數(shù)組中不存在當(dāng)前指令幀的幀序號(hào),將當(dāng)前指令幀的幀序號(hào)存入數(shù)組中,刪除最早存入的幀序號(hào),并執(zhí)行當(dāng)前指令幀的指令,執(zhí)行完畢后執(zhí)行接收第一can總線通道數(shù)據(jù)的操作;如果數(shù)組中已經(jīng)存在當(dāng)前指令幀的幀序號(hào),不響應(yīng)當(dāng)前指令幀,并執(zhí)行接收第一can總線通道數(shù)據(jù)的操作。
另外,幀序號(hào)從0開始計(jì)數(shù),計(jì)滿255后從0重新開始計(jì)數(shù),計(jì)數(shù)每次加1。
另外,雙can總線替換為雙串口。
由上述本發(fā)明提供的技術(shù)方案可以看出,通過本發(fā)明實(shí)施例提供的處理雙can總線時(shí)序不同步的方法及系統(tǒng),保證了雙總線雙收雙發(fā)時(shí)出現(xiàn)雙通道數(shù)據(jù)不同步造成通訊異常的現(xiàn)象。此方法不僅適用于can總線,雙串口冗余通訊也可以使用。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他附圖。
圖1為本發(fā)明實(shí)施例1提供的處理雙can總線時(shí)序不同步的方法的流程圖;
圖2為本發(fā)明實(shí)施例1提供的處理雙can總線時(shí)序不同步的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行詳細(xì)說明。
實(shí)施例1
本發(fā)明實(shí)施例1設(shè)計(jì)了一種處理雙can總線時(shí)序不同步的方法及系統(tǒng),適應(yīng)于雙總線雙收雙發(fā)時(shí)總線負(fù)載過大造成雙通道數(shù)據(jù)不同步的情況。
圖1示出了本發(fā)明實(shí)施例1提供的處理雙can總線時(shí)序不同步的方法的流程圖,參見圖1,本發(fā)明實(shí)施例1提供的處理雙can總線時(shí)序不同步的方法,包括:
s101,發(fā)送設(shè)備向通過雙can總線連接的接收設(shè)備發(fā)送指令幀時(shí),依次在每個(gè)指令幀中設(shè)置幀序號(hào),其中,幀序號(hào)按照預(yù)設(shè)順序進(jìn)行編號(hào);
s102,接收設(shè)備每接收一個(gè)指令幀,比較當(dāng)前指令幀的幀序號(hào)是否在數(shù)組中,其中,數(shù)組包含前n次執(zhí)行的指令的指令幀的幀序號(hào),n≥1且n為正整數(shù);
s103,接收設(shè)備比較當(dāng)前指令幀的幀序號(hào)在數(shù)組中,則忽略該指令。
由此可見,在通訊協(xié)議中設(shè)計(jì)一組“幀序號(hào)”用于甄別雙冗余can總線上的指令幀計(jì)數(shù),采用數(shù)組存儲(chǔ)前n次執(zhí)行的“幀序號(hào)”,當(dāng)收到一條指令時(shí)比較當(dāng)前“幀序號(hào)”是否在數(shù)組中,如果在數(shù)組中代表該指令已經(jīng)被執(zhí)行則忽略該指令,這種算法避免了后發(fā)出的指令先于前面的指令得到執(zhí)行,保證了雙總線雙收雙發(fā)時(shí)出現(xiàn)雙通道數(shù)據(jù)不同步造成通訊異常的現(xiàn)象。
作為本發(fā)明實(shí)施例1的一個(gè)可選實(shí)施方式,幀序號(hào)從0開始計(jì)數(shù),計(jì)滿255后從0重新開始計(jì)數(shù),計(jì)數(shù)每次加1,由此,can總線設(shè)備向雙冗余can總線上的另外一個(gè)設(shè)備每發(fā)送一個(gè)指令幀,則序號(hào)計(jì)數(shù)加1,針對(duì)“幀序號(hào)”的遞增特性,可以有效地執(zhí)行計(jì)數(shù)的操作。當(dāng)然,本發(fā)明并不局限于此,采用從255開始計(jì)數(shù),計(jì)數(shù)每次減1,計(jì)到0后從255重新開始計(jì)數(shù)也屬于本發(fā)明的保護(hù)范圍,當(dāng)然,其他方式的預(yù)設(shè)計(jì)數(shù)規(guī)則均應(yīng)屬于本發(fā)明的保護(hù)范圍。
具體地,作為本發(fā)明實(shí)施例1的一個(gè)可選實(shí)施方式,n=5-int(t2/t1),其中,t2為最小指令幀的發(fā)送間隔時(shí)間,t1為最大指令執(zhí)行時(shí)間。其中,若n值計(jì)算結(jié)果小于等于1時(shí),n應(yīng)取值為1。經(jīng)過測(cè)試,采用can總線雙收雙發(fā)機(jī)制時(shí),總線負(fù)載過大引起同一幀數(shù)據(jù)在總線上出現(xiàn)的時(shí)間差約為0.5毫秒,采用記錄5組歷史數(shù)據(jù)的方式,未出現(xiàn)通訊異常。
作為本發(fā)明實(shí)施例1的一個(gè)可選實(shí)施方式,s102,接收設(shè)備每接收一個(gè)指令幀,比較當(dāng)前指令幀的幀序號(hào)是否在數(shù)組中,s103,接收設(shè)備比較當(dāng)前指令幀的幀序號(hào)在數(shù)組中,則忽略該指令包括:
接收設(shè)備接收第一can總線通道數(shù)據(jù);
對(duì)第一can總線通道數(shù)據(jù)的有效性進(jìn)行判斷;
判斷第一can總線通道數(shù)據(jù)有效后,將當(dāng)前指令幀的幀序號(hào)與數(shù)組中的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);
如果數(shù)組中不存在當(dāng)前指令幀的幀序號(hào),將當(dāng)前指令幀的幀序號(hào)存入數(shù)組中,刪除最早存入的幀序號(hào),并執(zhí)行當(dāng)前指令幀的指令,執(zhí)行完畢后執(zhí)行接收第二can總線通道數(shù)據(jù)的操作;
如果數(shù)組中已經(jīng)存在當(dāng)前指令幀的幀序號(hào),不響應(yīng)當(dāng)前指令幀,并執(zhí)行接收第二can總線通道數(shù)據(jù)的操作;
接收設(shè)備接收第二can總線通道數(shù)據(jù);
對(duì)第二can總線通道數(shù)據(jù)的有效性進(jìn)行判斷;
判斷第二can總線通道數(shù)據(jù)有效后,將當(dāng)前指令幀的幀序號(hào)與數(shù)組中的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);
如果數(shù)組中不存在當(dāng)前指令幀的幀序號(hào),將當(dāng)前指令幀的幀序號(hào)存入數(shù)組中,刪除最早存入的幀序號(hào),并執(zhí)行當(dāng)前指令幀的指令,執(zhí)行完畢后執(zhí)行接收第一can總線通道數(shù)據(jù)的操作;
如果數(shù)組中已經(jīng)存在當(dāng)前指令幀的幀序號(hào),不響應(yīng)當(dāng)前指令幀,并執(zhí)行接收第一can總線通道數(shù)據(jù)的操作。
由此保證雙can總線中每一個(gè)通道均可以采用本發(fā)明所記載的方法防治時(shí)許不同步產(chǎn)生的數(shù)據(jù)不同步的情況。
具體地,幀序號(hào)的數(shù)組設(shè)置為先進(jìn)先出的隊(duì)列,存儲(chǔ)空間為n個(gè)char型數(shù)據(jù),初始化值設(shè)置為255;
初始化結(jié)束后,啟動(dòng)處理循環(huán),首先進(jìn)入a通道處理流程;
接收到a通道數(shù)據(jù)后,對(duì)數(shù)據(jù)的有效性進(jìn)行判斷,有效性包括幀頭、幀尾、校驗(yàn)等;
判斷a通道數(shù)據(jù)為有效后,將當(dāng)前幀序號(hào)與幀序號(hào)數(shù)組的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);
當(dāng)幀序號(hào)數(shù)組中已經(jīng)存在當(dāng)前幀序號(hào)時(shí),當(dāng)前命令不需要響應(yīng),退出當(dāng)前a通道處理流程,進(jìn)入b通道處理流程;
當(dāng)幀序號(hào)數(shù)組中不存在當(dāng)前幀序號(hào)時(shí),將當(dāng)前幀序號(hào)存入幀序號(hào)數(shù)組中,最早存入的幀序號(hào)出隊(duì),進(jìn)入下一步的命令動(dòng)作執(zhí)行;
a通道數(shù)據(jù)處理結(jié)束后,進(jìn)行b通道數(shù)據(jù)處理流程;
接收到b通道數(shù)據(jù)后,對(duì)數(shù)據(jù)的有效性進(jìn)行判斷,有效性包括幀頭、幀尾、校驗(yàn)等;
判斷b通道數(shù)據(jù)為有效后,將當(dāng)前幀序號(hào)與幀序號(hào)數(shù)組的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);
當(dāng)幀序號(hào)數(shù)組中已經(jīng)存在當(dāng)前幀序號(hào)時(shí),當(dāng)前命令不需要響應(yīng),退出當(dāng)前b通道處理流程,進(jìn)入a通道處理流程;
當(dāng)幀序號(hào)數(shù)組中不存在當(dāng)前幀序號(hào)時(shí),將當(dāng)前幀序號(hào)存入幀序號(hào)數(shù)組中,最早存入的幀序號(hào)出隊(duì),進(jìn)入下一步的命令動(dòng)作執(zhí)行;
b通道數(shù)據(jù)處理結(jié)束后,一個(gè)處理循環(huán)結(jié)束。
圖2示出了本發(fā)明實(shí)施例1提供的處理雙can總線時(shí)序不同步的系統(tǒng)的結(jié)構(gòu)示意圖,其應(yīng)用于上述方法,在此僅對(duì)其結(jié)構(gòu)進(jìn)行簡要說明,其他未盡事宜,可參見上述方法的相關(guān)說明,參見圖2,本發(fā)明實(shí)施例1提供的處理雙can總線時(shí)序不同步的系統(tǒng),包括:
發(fā)送設(shè)備101,用于向通過雙can總線連接的接收設(shè)備發(fā)送指令幀時(shí),依次在每個(gè)指令幀中設(shè)置幀序號(hào),其中,幀序號(hào)按照預(yù)設(shè)順序進(jìn)行編號(hào);
接收設(shè)備102,用于每接收一個(gè)指令幀,比較當(dāng)前指令幀的幀序號(hào)是否在數(shù)組中,其中,數(shù)組包含前n次執(zhí)行的指令的指令幀的幀序號(hào),n≥1且n為正整數(shù);比較當(dāng)前指令幀的幀序號(hào)在數(shù)組中,則忽略該指令。
作為本發(fā)明實(shí)施例1的一個(gè)可選實(shí)施方式,n=5-int(t2/t1),其中,t2為最小指令幀的發(fā)送間隔時(shí)間,t1為最大指令執(zhí)行時(shí)間。其中,若n值計(jì)算結(jié)果小于等于1時(shí),n應(yīng)取值為1。經(jīng)過測(cè)試,采用can總線雙收雙發(fā)機(jī)制時(shí),總線負(fù)載過大引起同一幀數(shù)據(jù)在總線上出現(xiàn)的時(shí)間差約為0.5毫秒,采用記錄5組歷史數(shù)據(jù)的方式,未出現(xiàn)通訊異常。
作為本發(fā)明實(shí)施例1的一個(gè)可選實(shí)施方式,接收設(shè)備102通過如下方式執(zhí)行每接收一個(gè)指令幀,比較當(dāng)前指令幀的幀序號(hào)是否在數(shù)組中,接收設(shè)備比較當(dāng)前指令幀的幀序號(hào)在數(shù)組中,則忽略該指令的操作:接收設(shè)備102,用于接收第一can總線通道數(shù)據(jù);對(duì)第一can總線通道數(shù)據(jù)的有效性進(jìn)行判斷;判斷第一can總線通道數(shù)據(jù)有效后,將當(dāng)前指令幀的幀序號(hào)與數(shù)組中的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);如果數(shù)組中不存在當(dāng)前指令幀的幀序號(hào),將當(dāng)前指令幀的幀序號(hào)存入數(shù)組中,刪除最早存入的幀序號(hào),并執(zhí)行當(dāng)前指令幀的指令,執(zhí)行完畢后執(zhí)行接收第二can總線通道數(shù)據(jù)的操作;如果數(shù)組中已經(jīng)存在當(dāng)前指令幀的幀序號(hào),不響應(yīng)當(dāng)前指令幀,并執(zhí)行接收第二can總線通道數(shù)據(jù)的操作;接收第二can總線通道數(shù)據(jù);對(duì)第二can總線通道數(shù)據(jù)的有效性進(jìn)行判斷;判斷第二can總線通道數(shù)據(jù)有效后,將當(dāng)前指令幀的幀序號(hào)與數(shù)組中的n個(gè)歷史幀序號(hào)進(jìn)行比對(duì);如果數(shù)組中不存在當(dāng)前指令幀的幀序號(hào),將當(dāng)前指令幀的幀序號(hào)存入數(shù)組中,刪除最早存入的幀序號(hào),并執(zhí)行當(dāng)前指令幀的指令,執(zhí)行完畢后執(zhí)行接收第一can總線通道數(shù)據(jù)的操作;如果數(shù)組中已經(jīng)存在當(dāng)前指令幀的幀序號(hào),不響應(yīng)當(dāng)前指令幀,并執(zhí)行接收第一can總線通道數(shù)據(jù)的操作。由此保證雙can總線中每一個(gè)通道均可以采用本發(fā)明所記載的方法防治時(shí)許不同步產(chǎn)生的數(shù)據(jù)不同步的情況。
作為本發(fā)明實(shí)施例1的一個(gè)可選實(shí)施方式,幀序號(hào)從0開始計(jì)數(shù),計(jì)滿255后從0重新開始計(jì)數(shù),計(jì)數(shù)每次加1。由此,can總線設(shè)備向雙冗余can總線上的另外一個(gè)設(shè)備每發(fā)送一個(gè)指令幀,則序號(hào)計(jì)數(shù)加1,針對(duì)“幀序號(hào)”的遞增特性,可以有效地執(zhí)行計(jì)數(shù)的操作。
由此可見,在通訊協(xié)議中設(shè)計(jì)一組“幀序號(hào)”用于甄別雙冗余can總線上的指令幀計(jì)數(shù),采用數(shù)組存儲(chǔ)前n次執(zhí)行的“幀序號(hào)”,當(dāng)收到一條指令時(shí)比較當(dāng)前“幀序號(hào)”是否在數(shù)組中,如果在數(shù)組中代表該指令已經(jīng)被執(zhí)行則忽略該指令,這種算法避免了后發(fā)出的指令先于前面的指令得到執(zhí)行,保證了雙總線雙收雙發(fā)時(shí)出現(xiàn)雙通道數(shù)據(jù)不同步造成通訊異常的現(xiàn)象。
實(shí)施例2
本實(shí)施例2與實(shí)施例1的區(qū)別僅在于雙can總線替換為雙串口,相關(guān)說明參照實(shí)施例1的相關(guān)說明,在此不再詳述。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
以上的實(shí)施例僅是對(duì)本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行描述,并非對(duì)本發(fā)明的范圍進(jìn)行限定,在不脫離本發(fā)明設(shè)計(jì)精神的前提下,本領(lǐng)域普通工程技術(shù)人員對(duì)本發(fā)明的技術(shù)方案做出的各種變形和改進(jìn),均應(yīng)落入本發(fā)明的權(quán)利要求書確定的保護(hù)范圍內(nèi)。