aaa视频网站,国产最新进精品视频,国产主播一区二区,999热精品视频,а√天堂资源8在线官网在线,国产免费不卡av,麻豆国产视频

一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法及裝置制造方法

文檔序號(hào):7980039閱讀:333來源:國知局
一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法及裝置,用于解決現(xiàn)有技術(shù)中基于Canopen協(xié)議開發(fā)的從節(jié)點(diǎn)比較費(fèi)時(shí)費(fèi)力,并且實(shí)現(xiàn)比較復(fù)雜的問題。該方法包括:將從節(jié)點(diǎn)設(shè)備中數(shù)據(jù)幀仲裁場的識(shí)別符位填充Canopen網(wǎng)絡(luò)中進(jìn)程數(shù)據(jù)對(duì)象PDO的功能碼和通信對(duì)象標(biāo)識(shí)符,并在數(shù)據(jù)場中填充待發(fā)送的數(shù)據(jù),得到第一數(shù)據(jù)幀;對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)并生成校驗(yàn)結(jié)果;將校驗(yàn)結(jié)果添加到第一數(shù)據(jù)幀中,得到第二數(shù)據(jù)幀,將第二數(shù)據(jù)幀發(fā)送至Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備。實(shí)現(xiàn)了僅支持Can2.0設(shè)備與Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)的通信功能,從而可以縮短基于Canopen協(xié)議開發(fā)從節(jié)點(diǎn)的周期,并且降低了操作的復(fù)雜程度。
【專利說明】一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Canopen網(wǎng)絡(luò)通信領(lǐng)域,具體而言,涉及一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法及裝置。
【背景技術(shù)】
[0002]隨著風(fēng)機(jī)系統(tǒng)的日益集成化和智能化,風(fēng)機(jī)主控系統(tǒng)需要下發(fā)相關(guān)的控制信息到各個(gè)子系統(tǒng)核心部件,同時(shí)各個(gè)子系統(tǒng)核心部件也需要將相關(guān)的狀態(tài)信息傳送至風(fēng)機(jī)主控系統(tǒng)。Can (Control Area Network,控制區(qū)域網(wǎng)絡(luò))網(wǎng)絡(luò)由于節(jié)點(diǎn)擴(kuò)展靈活、通信時(shí)延較少、以及錯(cuò)誤檢測機(jī)制完善等特點(diǎn)在現(xiàn)場總線中得到廣泛的應(yīng)用。
[0003]Canopen協(xié)議是在CAL (CAN Application Layer, CAN應(yīng)用層)基礎(chǔ)上開發(fā)的,使用了 CAL通訊和服務(wù)協(xié)議子集,提供了分布式控制系統(tǒng)的一種實(shí)現(xiàn)方案。CANopen在保證網(wǎng)絡(luò)節(jié)點(diǎn)互用性的同時(shí)允許節(jié)點(diǎn)的功能隨意擴(kuò)展,或簡單或復(fù)雜。目前風(fēng)機(jī)中很多子系統(tǒng)的核心部件均支持和使用Canopen協(xié)議。例如現(xiàn)行主控系統(tǒng)與變槳、偏航、齒輪箱故障預(yù)診斷等系統(tǒng)之間的通信采用的是基于Canopen協(xié)議的Can網(wǎng)絡(luò)。主控系統(tǒng)PLC (ProgrammableLogic Controller,可編程邏輯器件)作為主節(jié)點(diǎn),其余各子系統(tǒng)核心控制器作為從節(jié)點(diǎn),該網(wǎng)絡(luò)結(jié)構(gòu)很好的保證了各個(gè)子系統(tǒng)之間通信的獨(dú)立性和可靠性。除此之外,隨著機(jī)組的功能日益完善,系統(tǒng)中需要添加相應(yīng)的模塊,如用于獨(dú)立變槳的葉片根部載荷測量傳感器以及擴(kuò)展的數(shù)字輸入輸出模塊或模擬輸入輸出模塊等,并且它們都需要和主控系統(tǒng)PLC完成通信。因此,需要基于Canopen協(xié)議開發(fā)從節(jié)點(diǎn)。傳統(tǒng)的基于Canopen協(xié)議開發(fā)的從節(jié)點(diǎn),需要完成對(duì)象字典編寫、對(duì)NMT (網(wǎng)絡(luò)管理,Network management)>SDO (服務(wù)數(shù)據(jù)對(duì)象,Service Data Objects)、PDO (Process Data Object,過程數(shù)據(jù)對(duì)象)及預(yù)定義報(bào)文等予以實(shí)現(xiàn)。這樣實(shí)現(xiàn)的Canopen從節(jié)點(diǎn)開發(fā)周期較長,Canopen從節(jié)點(diǎn)協(xié)議的開發(fā)實(shí)現(xiàn)非常復(fù)雜,并且開發(fā)過程中需要考慮很多與芯片性能相關(guān)的問題,例如0D(object dictionary,對(duì)象字典)實(shí)現(xiàn)過程中其不同讀寫屬性對(duì)應(yīng)存放位置的分配,四種報(bào)文實(shí)現(xiàn)的方法對(duì)芯片性能的要求等。此外,對(duì)于特定應(yīng)用而言,有些報(bào)文是沒有必要的。如某個(gè)從節(jié)點(diǎn)僅僅是用于作為IO功能的模塊,這種情形下NMT、SDO及預(yù)定義報(bào)文等是沒有必要的??梢姡瑐鹘y(tǒng)的基于Canopen協(xié)議開發(fā)從節(jié)點(diǎn)的周期較長,并且實(shí)現(xiàn)比較復(fù)雜。

【發(fā)明內(nèi)容】

[0004]本發(fā)明提供一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法及裝置,用于解決現(xiàn)有技術(shù)中基于Canopen協(xié)議開發(fā)的從節(jié)點(diǎn)周期較長,并且實(shí)現(xiàn)比較復(fù)雜的問題。
[0005]本發(fā)明提供了一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)巾貞發(fā)送方法,包括:
[0006]將數(shù)據(jù)幀仲裁場的識(shí)別符位填充Canopen網(wǎng)絡(luò)中進(jìn)程數(shù)據(jù)對(duì)象PDO的功能碼和通信對(duì)象標(biāo)識(shí)符,并在數(shù)據(jù)場中填充待發(fā)送的數(shù)據(jù),得到第一數(shù)據(jù)幀;對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)并生成校驗(yàn)結(jié)果;將校驗(yàn)結(jié)果添加到第一數(shù)據(jù)幀中,得到第二數(shù)據(jù)幀,將第二數(shù)據(jù)幀發(fā)送至Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備。[0007]進(jìn)一步地,上述方法還包括:在將第二數(shù)據(jù)幀發(fā)送至Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備之后,向主節(jié)點(diǎn)設(shè)備發(fā)送心跳信息。
[0008]進(jìn)一步地,上述方法還包括:在得到第一數(shù)據(jù)幀之后,對(duì)第一數(shù)據(jù)幀進(jìn)行標(biāo)記,得到第一數(shù)據(jù)幀的標(biāo)記;將第一數(shù)據(jù)幀的標(biāo)記與校驗(yàn)結(jié)果一起添加到第一數(shù)據(jù)幀中。
[0009]其中,對(duì)第一數(shù)據(jù)幀進(jìn)行標(biāo)記包括:在發(fā)送第一數(shù)據(jù)幀之前對(duì)第一數(shù)據(jù)幀進(jìn)行計(jì)數(shù),得到當(dāng)前數(shù)據(jù)幀對(duì)應(yīng)的計(jì)數(shù)數(shù)值,將計(jì)數(shù)數(shù)值作為第一數(shù)據(jù)幀的標(biāo)記。
[0010]其中,對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)包括:將待發(fā)送的數(shù)據(jù)以字節(jié)為單位進(jìn)行異或,得到異或后的結(jié)果;將異或后的結(jié)果與計(jì)數(shù)數(shù)值進(jìn)行異或,得到校驗(yàn)結(jié)果。
[0011]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送裝置,包括:處理模塊,用于將數(shù)據(jù)幀仲裁場的識(shí)別符位填充Canopen網(wǎng)絡(luò)中進(jìn)程數(shù)據(jù)對(duì)象PDO的功能碼和通信對(duì)象標(biāo)識(shí)符,并在數(shù)據(jù)場中填充待發(fā)送的數(shù)據(jù),得到第一數(shù)據(jù)幀;校驗(yàn)?zāi)K,用于對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)并生成校驗(yàn)結(jié)果;第一發(fā)送模塊,用于將校驗(yàn)結(jié)果添加到第一數(shù)據(jù)幀中,得到第二數(shù)據(jù)幀,將第二數(shù)據(jù)幀發(fā)送至Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備。
[0012]進(jìn)一步地,上述裝置還包括:第二發(fā)送模塊,用于在將第二數(shù)據(jù)幀發(fā)送至Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備之后,向主節(jié)點(diǎn)設(shè)備發(fā)送心跳信息。
[0013]進(jìn)一步地,上述裝置還包括:標(biāo)記模塊,用于在得到第一數(shù)據(jù)幀之后,對(duì)第一數(shù)據(jù)幀進(jìn)行標(biāo)記,得到第一數(shù)據(jù)幀的標(biāo)記;第一發(fā)送模塊包括:添加單元,將第一數(shù)據(jù)幀的標(biāo)記與校驗(yàn)結(jié)果一起添加到第一數(shù)據(jù)幀中。
[0014]其中,上述標(biāo)記模塊包括:計(jì)數(shù)單元,用于在發(fā)送第一數(shù)據(jù)幀之前對(duì)第一數(shù)據(jù)幀進(jìn)行計(jì)數(shù),得到當(dāng)前數(shù)據(jù)幀對(duì)應(yīng)的計(jì)數(shù)數(shù)值,將計(jì)數(shù)數(shù)值作為第一數(shù)據(jù)幀的標(biāo)記。
[0015]其中,上述校驗(yàn)?zāi)K包括:第一異或單元,用于將待發(fā)送的數(shù)據(jù)以字節(jié)為單位進(jìn)行異或,得到異或后的結(jié)果;第二異或單元,用于將異或后的結(jié)果與計(jì)數(shù)數(shù)值進(jìn)行異或,得到校驗(yàn)結(jié)果。
[0016]本發(fā)明的技術(shù)方案,通過將Can2.0設(shè)備中待發(fā)送數(shù)據(jù)幀按照Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)的通信模式進(jìn)行封裝,從而將Can2.0A的數(shù)據(jù)幀格式與Canopen通信模型中的TOO內(nèi)容對(duì)應(yīng)起來,實(shí)現(xiàn)了非標(biāo)準(zhǔn)的從節(jié)點(diǎn)與Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)的通信功能。從而可以縮短基于Canopen協(xié)議開發(fā)從節(jié)點(diǎn)的周期,并且降低了操作的復(fù)雜程度。
【專利附圖】

【附圖說明】
[0017]圖1是數(shù)據(jù)幀的位場組成示意圖;
[0018]圖2是仲裁場組成示意圖;
[0019]圖3是根據(jù)本發(fā)明實(shí)施例1的非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法流程圖;
[0020]圖4是根據(jù)本發(fā)明實(shí)施例2的非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法流程圖;
[0021]圖5是根據(jù)本發(fā)明實(shí)施例3的實(shí)現(xiàn)類似于Heartbeating的報(bào)文方法的流程圖;
[0022]圖6是根據(jù)本發(fā)明實(shí)施例4的非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送裝置結(jié)構(gòu)框圖;以及
[0023]圖7是根據(jù)本發(fā)明實(shí)施例4的另一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送裝置結(jié)構(gòu)框圖?!揪唧w實(shí)施方式】
[0024]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)的說明。
[0025]實(shí)施例1
[0026]本實(shí)施例是采用僅支持Can2.0A設(shè)備作為Canopen網(wǎng)絡(luò)從節(jié)點(diǎn),實(shí)現(xiàn)其與Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)進(jìn)行通信的方法。其中,Can2.0A由4個(gè)不同的幀類型表示和控制,即數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀、過載幀,本實(shí)施例中僅關(guān)注和實(shí)現(xiàn)類似于PDO通訊功能相關(guān)的數(shù)據(jù)幀。數(shù)據(jù)幀的位場組成如附圖1所示,由幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC檢驗(yàn)場、應(yīng)答場、幀結(jié)尾組成。本實(shí)施例中著重關(guān)注仲裁場、數(shù)據(jù)場。其中仲裁場的組成如附圖2所示,仲裁場中由識(shí)別符和遠(yuǎn)程發(fā)送請(qǐng)求位組成,數(shù)據(jù)場由8個(gè)byte組成。
[0027]圖3是根據(jù)本發(fā)明實(shí)施例1的非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法流程圖,如圖1所示,本方法包括以下步驟:
[0028]步驟301:將從節(jié)點(diǎn)設(shè)備中數(shù)據(jù)幀仲裁場的識(shí)別符位填充Canopen網(wǎng)絡(luò)中進(jìn)程數(shù)據(jù)對(duì)象roo的功能碼和通信對(duì)象標(biāo)識(shí)符,并在數(shù)據(jù)場中填充待發(fā)送的數(shù)據(jù),得到第一數(shù)據(jù)幀;
[0029]步驟302:對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)并生成校驗(yàn)結(jié)果;
[0030]步驟303:將校驗(yàn)結(jié)果添加到第一數(shù)據(jù)幀中,得到第二數(shù)據(jù)幀,將第二數(shù)據(jù)幀發(fā)送至Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備。
[0031]在上述步驟301中,由于不同設(shè)備中通信對(duì)象標(biāo)識(shí)符,可能會(huì)因?yàn)樵O(shè)備的配置發(fā)生變化而發(fā)生變化,因此,在本實(shí)施例中,以常用的Canopen預(yù)定義主從對(duì)等對(duì)象進(jìn)行說明,依據(jù)主節(jié)點(diǎn)中要給從節(jié)點(diǎn)分配的NodeID可以確定出相應(yīng)的預(yù)定義通信對(duì)象標(biāo)識(shí)符,結(jié)合對(duì)應(yīng)的功能碼即可以確定所需要的仲裁場中的識(shí)別符位。同時(shí),對(duì)于仲裁場的遠(yuǎn)程發(fā)送請(qǐng)求位,由于本實(shí)施例中從節(jié)點(diǎn)向主節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀,因此,該遠(yuǎn)程發(fā)送請(qǐng)求位RTR,設(shè)置為顯性即可。另外,在數(shù)據(jù)幀的數(shù)據(jù)場的八個(gè)位中填充相應(yīng)的待發(fā)送的數(shù)據(jù),該八個(gè)位中待發(fā)送的數(shù)據(jù)則相當(dāng)于roo中傳送的四個(gè)字。
[0032]該步驟中的Can2.0A的設(shè)備對(duì)發(fā)送的數(shù)據(jù)幀校驗(yàn)具體為,以字節(jié)為單位對(duì)待發(fā)送的數(shù)據(jù)幀進(jìn)行異或,將得到的結(jié)果在與上述計(jì)數(shù)數(shù)值進(jìn)行異或,最終得到的結(jié)果作為校驗(yàn)結(jié)果。具體可以將PDO的三個(gè)字中填充待發(fā)送的數(shù)據(jù),將校驗(yàn)結(jié)果填入剩余的一個(gè)字中。該檢驗(yàn)結(jié)果可以實(shí)現(xiàn)對(duì)發(fā)送數(shù)據(jù)的校驗(yàn)打包或是Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)對(duì)接收到的數(shù)據(jù)的解包檢驗(yàn),當(dāng)Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)接收到來自基于Can2.0A從節(jié)點(diǎn)設(shè)備的數(shù)據(jù)巾貞時(shí),根據(jù)該校驗(yàn)結(jié)果,即可以判斷在數(shù)據(jù)的傳輸中,是否出現(xiàn)丟幀或其它傳輸錯(cuò)誤。
[0033]此外,上述步驟301中對(duì)待發(fā)送數(shù)據(jù)的校驗(yàn)方法也可以采用奇偶校驗(yàn)、CRC校驗(yàn)等校驗(yàn)方法來實(shí)現(xiàn)。
[0034]本實(shí)施例通過將非標(biāo)準(zhǔn)Canopen網(wǎng)絡(luò)從節(jié)點(diǎn)設(shè)備中的待發(fā)送數(shù)據(jù)巾貞按照Canopen網(wǎng)絡(luò)通信的數(shù)據(jù)幀格式進(jìn)行封裝,實(shí)現(xiàn)了非標(biāo)準(zhǔn)Canopen網(wǎng)絡(luò)從節(jié)點(diǎn)設(shè)備與Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)之間的通信,從而避免了基于Canopen網(wǎng)絡(luò)開發(fā)從節(jié)點(diǎn)費(fèi)時(shí)費(fèi)力、實(shí)現(xiàn)比較復(fù)雜的問題,進(jìn)而節(jié)省了人力,降低了對(duì)設(shè)備的選型時(shí)的要求。
[0035]實(shí)施例2
[0036]圖4是根據(jù)本發(fā)明實(shí)施例2的非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法流程圖,如圖4所示,本方法包括以下步驟:
[0037]步驟401:將從節(jié)點(diǎn)設(shè)備中數(shù)據(jù)幀仲裁場的識(shí)別符位填充Canopen網(wǎng)絡(luò)中進(jìn)程數(shù)據(jù)對(duì)象roo的功能碼和通信對(duì)象標(biāo)識(shí)符,并在數(shù)據(jù)場中填充待發(fā)送的數(shù)據(jù),得到第一數(shù)據(jù)幀;
[0038]步驟402:對(duì)第一數(shù)據(jù)幀進(jìn)行標(biāo)記,得到當(dāng)前數(shù)據(jù)幀的標(biāo)記;
[0039]步驟403:對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)并生成校驗(yàn)結(jié)果;
[0040]步驟404:將標(biāo)記以及校驗(yàn)結(jié)果填入到第一數(shù)據(jù)幀中,得到第二數(shù)據(jù)幀,將第二數(shù)據(jù)中貞發(fā)送至Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備。
[0041]在本實(shí)施例中,為了使Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)實(shí)現(xiàn)對(duì)其從節(jié)點(diǎn)的監(jiān)測,在上述步驟404中當(dāng)前數(shù)據(jù)幀的標(biāo)記填入到上述第一數(shù)據(jù)幀中,從而使該標(biāo)記與當(dāng)前數(shù)據(jù)幀一同發(fā)送至Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)設(shè)備。其中當(dāng)前數(shù)據(jù)巾貞的標(biāo)記則可以起到心跳報(bào)文的作用,當(dāng)主節(jié)點(diǎn)接收到該數(shù)據(jù)幀時(shí),通過對(duì)該心跳報(bào)文的檢測,可以確定數(shù)據(jù)幀在傳輸中是否出現(xiàn)錯(cuò)誤。其中,對(duì)第一數(shù)據(jù)幀進(jìn)行標(biāo)記可以對(duì)當(dāng)前處理的數(shù)據(jù)幀進(jìn)行計(jì)數(shù),得到當(dāng)前數(shù)據(jù)幀對(duì)應(yīng)的計(jì)數(shù)數(shù)值,將計(jì)數(shù)數(shù)值作為第一數(shù)據(jù)幀的標(biāo)記。也可以在當(dāng)發(fā)送當(dāng)前數(shù)據(jù)幀時(shí),將當(dāng)前數(shù)據(jù)的標(biāo)記為1,當(dāng)發(fā)送下一數(shù)據(jù)幀時(shí),數(shù)據(jù)的標(biāo)記翻轉(zhuǎn)為0,每當(dāng)發(fā)送一幀數(shù)據(jù)時(shí),進(jìn)行一次翻轉(zhuǎn)。
[0042]基于實(shí)現(xiàn)心跳報(bào)文的目的,在本實(shí)施例中,可以首先在roo的前三個(gè)字中填充要發(fā)送的數(shù)據(jù);為每個(gè)PDO單獨(dú)設(shè)置一個(gè)計(jì)數(shù)器,每隔固定時(shí)間間隔加一,當(dāng)計(jì)數(shù)器溢出時(shí)清零;以字節(jié)為單位將PDO前三個(gè)字進(jìn)行異或,所得到的結(jié)果再與計(jì)數(shù)器的值進(jìn)行異或,得到一個(gè)字節(jié)的校驗(yàn)結(jié)果;將計(jì)數(shù)器的值放于roo第四個(gè)字的高八位,將校驗(yàn)結(jié)果放于roo第四個(gè)字的低八位。這樣就完成了 PDO四個(gè)字的打包,其中第四個(gè)字的高八位,即上述計(jì)數(shù)器的值,可以實(shí)現(xiàn)類似于心跳報(bào)文的檢測機(jī)制,低八位可以實(shí)現(xiàn)對(duì)發(fā)送數(shù)據(jù)的校驗(yàn)打包或是對(duì)接收數(shù)據(jù)的解包檢驗(yàn)。此外,也可以按照固定的時(shí)間間隔定期發(fā)送心跳信息給Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)。在本實(shí)施例中,在發(fā)送數(shù)據(jù)巾貞的同時(shí)攜帶有心跳本文,實(shí)現(xiàn)了 Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)對(duì)從節(jié)點(diǎn)的監(jiān)測,從而保證了通訊的正確性和可靠性。
[0043]實(shí)施例3
[0044]對(duì)僅支持Can2.0A的設(shè)備在Canopen網(wǎng)絡(luò)中實(shí)現(xiàn)通信的方法包括以下兩個(gè)部分:
[0045]第一部分:實(shí)現(xiàn)類似于TOO通訊的報(bào)文,在仲裁場的識(shí)別符位填充Canopen通訊模型中PDO的功能碼和COB-1D。不同的設(shè)備中COB-1D可能因配置的變化而發(fā)生變化,此處以常用的Canopen預(yù)定義主從對(duì)等對(duì)象進(jìn)行說明,依據(jù)主節(jié)點(diǎn)中要給該從節(jié)點(diǎn)分配的NodeID可以確定出相應(yīng)的預(yù)定義COB-1D,結(jié)合對(duì)應(yīng)的功能碼即可確定所需要的仲裁場中的識(shí)別符位;在仲裁場的遠(yuǎn)程發(fā)送請(qǐng)求位填充相應(yīng)的“顯性”、“隱性”位。由于發(fā)送的是數(shù)據(jù)幀,在遠(yuǎn)程發(fā)送請(qǐng)求位位處填充“顯性”位即可。在數(shù)據(jù)場的8個(gè)byte中填充相應(yīng)要發(fā)送的數(shù)據(jù),相當(dāng)于標(biāo)準(zhǔn)roo中傳送的四個(gè)字。
[0046]第二部分,實(shí)現(xiàn)類似于心跳報(bào)文,由于Can2.0A中并沒有類似于心跳報(bào)文功能的協(xié)議,可以在第一部分實(shí)現(xiàn)的PDO報(bào)文中選取一個(gè)字來實(shí)現(xiàn)該功能。
[0047]圖5是根據(jù)本發(fā)明實(shí)施例3的實(shí)現(xiàn)類似于心跳報(bào)文的方法流程圖。
[0048]如圖5所示,該方法包括以下步驟:
[0049]步驟501:在PDO前三個(gè)字中填充要發(fā)送的數(shù)據(jù);[0050]步驟502:為每個(gè)PDO單獨(dú)設(shè)置一個(gè)溢出值為256的計(jì)數(shù)器,每隔固定時(shí)間間隔加I,當(dāng)計(jì)數(shù)器溢出時(shí)清零;
[0051 ] 步驟503:以byte為單位將PDO前三個(gè)字進(jìn)行異或,所得結(jié)果再與計(jì)數(shù)器異或,得到一個(gè)byte的校驗(yàn)結(jié)果;
[0052]步驟504:將計(jì)數(shù)器的值放于PDO第四個(gè)字的高8位,將上述校驗(yàn)結(jié)果放于PDO第四個(gè)字的低8位。
[0053]經(jīng)過以上步驟,就完成了 PDO四個(gè)字的打包,其中第四個(gè)字的高8位可以實(shí)現(xiàn)類似于心跳報(bào)文的監(jiān)測機(jī)制,同時(shí)低8位可以實(shí)現(xiàn)對(duì)發(fā)送數(shù)據(jù)的校驗(yàn)打包或是對(duì)接受數(shù)據(jù)的解包檢驗(yàn)。以上過程是針對(duì)數(shù)據(jù)發(fā)送來講的,對(duì)于數(shù)據(jù)接受及解包檢驗(yàn)步驟類似。當(dāng)“心跳報(bào)文”失效或解包校驗(yàn)錯(cuò)誤時(shí),報(bào)通訊故障。
[0054]實(shí)施例4
[0055]圖6是根據(jù)本發(fā)明實(shí)施例4的非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送裝置結(jié)構(gòu)框圖。
[0056]如圖6所示,該非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送裝置60包括:
[0057]處理模塊61,用于將從節(jié)點(diǎn)設(shè)備中數(shù)據(jù)幀仲裁場的識(shí)別符位填充Canopen網(wǎng)絡(luò)中進(jìn)程數(shù)據(jù)對(duì)象roo的功能碼和通信對(duì)象標(biāo)識(shí)符,并在數(shù)據(jù)場中填充待發(fā)送的數(shù)據(jù),得到第一數(shù)據(jù)幀;
[0058]校驗(yàn)?zāi)K62,用于對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)并生成校驗(yàn)結(jié)果;
[0059]第一發(fā)送模塊63,用于將校驗(yàn)結(jié)果添加到第一數(shù)據(jù)幀中,得到第二數(shù)據(jù)幀,將第二數(shù)據(jù)幀發(fā)送至Canopen網(wǎng)絡(luò)的 主節(jié)點(diǎn)設(shè)備。
[0060]為了實(shí)現(xiàn)Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)對(duì)從節(jié)點(diǎn)的監(jiān)測,上述裝置還可以包括:第二發(fā)送模塊,用于在將第二數(shù)據(jù)幀發(fā)送至Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備之后,向該主節(jié)點(diǎn)設(shè)備發(fā)送心跳報(bào)文。
[0061]為了使Canopen網(wǎng)絡(luò)主節(jié)點(diǎn)實(shí)現(xiàn)對(duì)其從節(jié)點(diǎn)的監(jiān)測,如圖7所示,本實(shí)施例的裝置70還可以包括:標(biāo)記模塊71,用于在得到第一數(shù)據(jù)幀之后,對(duì)第一數(shù)據(jù)幀進(jìn)行標(biāo)記,得到當(dāng)前數(shù)據(jù)幀的標(biāo)記;基于該標(biāo)記模塊,上述第一發(fā)送模塊還需要包括:添加單元,用于將校驗(yàn)結(jié)果以及標(biāo)記添加到第二數(shù)據(jù)幀中。
[0062]其中上述標(biāo)記模塊可以包括:計(jì)數(shù)單元,用于對(duì)當(dāng)前處理的數(shù)據(jù)幀進(jìn)行計(jì)數(shù),得到當(dāng)前數(shù)據(jù)幀對(duì)應(yīng)的計(jì)數(shù)數(shù)值,將計(jì)數(shù)數(shù)值作為第一數(shù)據(jù)幀的標(biāo)記。
[0063]其中上述校驗(yàn)?zāi)K還可以包括:第一異或單元,用于將待發(fā)送的數(shù)據(jù)以字節(jié)為單位進(jìn)行異或,得到異或后的結(jié)果;第二異或單元,用于將異或后的結(jié)果與計(jì)數(shù)數(shù)值進(jìn)行異或,得到校驗(yàn)結(jié)果。
[0064]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。[0065]以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送方法,其特征在于,包括: 將數(shù)據(jù)幀仲裁場的識(shí)別符位填充Canopen網(wǎng)絡(luò)中進(jìn)程數(shù)據(jù)對(duì)象PDO的功能碼和通信對(duì)象標(biāo)識(shí)符,并在數(shù)據(jù)場中填充待發(fā)送的數(shù)據(jù),得到第一數(shù)據(jù)幀; 對(duì)所述待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)并生成校驗(yàn)結(jié)果; 將所述校驗(yàn)結(jié)果添加到所述第一數(shù)據(jù)幀中,得到第二數(shù)據(jù)幀,將所述第二數(shù)據(jù)幀發(fā)送至所述Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在將所述第二數(shù)據(jù)幀發(fā)送至所述Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備之后,向所述主節(jié)點(diǎn)設(shè)備發(fā)送心跳信息。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 在得到所述第一數(shù)據(jù)幀之后,對(duì)所述第一數(shù)據(jù)幀進(jìn)行標(biāo)記,得到所述第一數(shù)據(jù)幀的標(biāo)記; 將所述第一數(shù)據(jù)幀的標(biāo)記與所述校驗(yàn)結(jié)果一起添加到所述第一數(shù)據(jù)幀中。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)所述第一數(shù)據(jù)幀進(jìn)行標(biāo)記包括: 在發(fā)送第一數(shù)據(jù)幀之前對(duì)所述第一數(shù)據(jù)幀進(jìn)行計(jì)數(shù),得到當(dāng)前數(shù)據(jù)幀對(duì)應(yīng)的計(jì)數(shù)數(shù)值,將所述計(jì)數(shù)數(shù)值作為所述第一數(shù)據(jù)幀的標(biāo)記。
5.根據(jù)權(quán)利要求1一 4中任一項(xiàng)所述的方法,其特征在于,對(duì)所述待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)包括: 將所述待發(fā)送的數(shù)據(jù)以字節(jié)為單位進(jìn)行異或,得到異或后的結(jié)果; 將異或后的結(jié)果與所述計(jì)數(shù)數(shù)值進(jìn)行異或,得到所述校驗(yàn)結(jié)果。
6.一種非標(biāo)準(zhǔn)Canopen從節(jié)點(diǎn)的數(shù)據(jù)幀發(fā)送裝置,其特征在于,包括: 處理模塊,用于將數(shù)據(jù)幀仲裁場的識(shí)別符位填充Canopen網(wǎng)絡(luò)中進(jìn)程數(shù)據(jù)對(duì)象PDO的功能碼和通信對(duì)象標(biāo)識(shí)符,并在數(shù)據(jù)場中填充待發(fā)送的數(shù)據(jù),得到第一數(shù)據(jù)幀; 校驗(yàn)?zāi)K,用于對(duì)所述待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)并生成校驗(yàn)結(jié)果; 第一發(fā)送模塊,用于將所述校驗(yàn)結(jié)果添加到所述第一數(shù)據(jù)幀中,得到第二數(shù)據(jù)幀,將所述第二數(shù)據(jù)幀發(fā)送至所述Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第二發(fā)送模塊,用于在將所述第二數(shù)據(jù)幀發(fā)送至所述Canopen網(wǎng)絡(luò)的主節(jié)點(diǎn)設(shè)備之后,向所述主節(jié)點(diǎn)設(shè)備發(fā)送心跳信息。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述裝置還包括: 標(biāo)記模塊,用于在得到所述第一數(shù)據(jù)幀之后,對(duì)所述第一數(shù)據(jù)幀進(jìn)行標(biāo)記,得到所述第一數(shù)據(jù)幀的標(biāo)記; 所述第一發(fā)送模塊包括:添加單元,將所述第一數(shù)據(jù)幀的標(biāo)記與所述校驗(yàn)結(jié)果一起添加到所述第一數(shù)據(jù)幀中。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述標(biāo)記模塊包括: 計(jì)數(shù)單元,用于在發(fā)送第一數(shù)據(jù)幀之前對(duì)所述第一數(shù)據(jù)幀進(jìn)行計(jì)數(shù),得到當(dāng)前數(shù)據(jù)幀對(duì)應(yīng)的計(jì)數(shù)數(shù)值,將所述計(jì)數(shù)數(shù)值作為所述第一數(shù)據(jù)幀的標(biāo)記。
10.根據(jù)權(quán)利要求6- 9中任一項(xiàng)所述的裝置,其特征在于,所述校驗(yàn)?zāi)K包括: 第一異或單元,用于將所述待發(fā)送的數(shù)據(jù)以字節(jié)為單位進(jìn)行異或,得到異或后的結(jié)果;第二異或單元,用于將異或`后的結(jié)果與所述計(jì)數(shù)數(shù)值進(jìn)行異或,得到所述校驗(yàn)結(jié)果。
【文檔編號(hào)】H04L12/955GK103516462SQ201210203998
【公開日】2014年1月15日 申請(qǐng)日期:2012年6月15日 優(yōu)先權(quán)日:2012年6月15日
【發(fā)明者】衛(wèi)浩, 蘇麗營, 陳曦, 李磊, 辛理夫 申請(qǐng)人:華銳風(fēng)電科技(集團(tuán))股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1