基于can總線的工業(yè)自動(dòng)化設(shè)備通信方法
【專利摘要】本發(fā)明公開一種基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,通過在CAN數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)內(nèi)嵌Modbus報(bào)文,能夠有效地實(shí)現(xiàn)設(shè)備間進(jìn)行CAN總線通信,由于所述協(xié)議簡(jiǎn)單且高效,因此能夠極大地提高電力自動(dòng)化控制設(shè)備的開發(fā)效率和產(chǎn)品穩(wěn)定性。
【專利說明】基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種工業(yè)自動(dòng)化設(shè)備通信方法,特別涉及一種基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法。
【背景技術(shù)】
[0002]隨著電力自動(dòng)化控制裝置的功能要求越來越復(fù)雜、實(shí)時(shí)響應(yīng)性越來越高,同時(shí)半導(dǎo)體芯片技術(shù)日新月異,使得現(xiàn)在的電力自動(dòng)化控制裝置由以前的單一控制芯片控制單個(gè)板卡變成一臺(tái)裝置就需要多個(gè)控制芯片控制多個(gè)板卡,不同的板卡完成不同的功能組合。基于此,裝置內(nèi)的多個(gè)板卡的通信是整個(gè)產(chǎn)品設(shè)計(jì)的核心技術(shù)之一。
[0003]由于對(duì)電力自動(dòng)化裝置的實(shí)時(shí)性、穩(wěn)定性和大數(shù)據(jù)量傳輸?shù)囊?,裝置內(nèi)板卡間的通信已由傳統(tǒng)的串口通信(如RS232或RS485)轉(zhuǎn)向CAN總線通信。目前實(shí)現(xiàn)的板卡間通信方式多為串口(如RS232或RS485),而如果將串口協(xié)議放在CAN總線實(shí)現(xiàn),則無法真正體現(xiàn)CAN總線的優(yōu)越性;而如果采用CAN總線標(biāo)準(zhǔn)的協(xié)議如CANoperuDeviceNet等,則又過于復(fù)雜,且實(shí)現(xiàn)難度較大。
【發(fā)明內(nèi)容】
[0004]鑒于此,有必要提供一種基于CAN總線且通信方式簡(jiǎn)單的工業(yè)自動(dòng)化設(shè)備通信方法。
[0005]一種基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,用來在工業(yè)自動(dòng)化設(shè)備的發(fā)送方和接收方之間通信,所述通信方法基于CAN總線協(xié)議,包括如下步驟:
[0006]發(fā)送方將通信信息封裝為Modbus報(bào)文,并將所述Modbus報(bào)文劃分為一個(gè)以上的Modbus報(bào)文子段,所述Modbus報(bào)文子段的長度不大于CAN通信協(xié)議所定義的數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)的大小;
[0007]發(fā)送方將所述一個(gè)以上的Modbus報(bào)文子段分別嵌入一個(gè)以上的CAN數(shù)據(jù)幀中;所述一個(gè)以上的CAN數(shù)據(jù)幀包含表示所述一個(gè)以上的Modbus報(bào)文子段相互關(guān)聯(lián)的信息;
[0008]發(fā)送方按照CAN通信協(xié)議向接收方發(fā)送所述一個(gè)以上的CAN數(shù)據(jù)幀;
[0009]接收方接收所述一個(gè)以上的CAN數(shù)據(jù)幀,并提取出CAN數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)的數(shù)據(jù)得到一個(gè)以上的Modbus報(bào)文子段,將相互關(guān)聯(lián)的Modbus報(bào)文子段合成為Modbus報(bào)文;
[0010]接收方解析所述Modbus報(bào)文獲取通信信息。
[0011]在其中一個(gè)實(shí)施例中,所述發(fā)送方為主控板,所述接收方為子板;所述發(fā)送方向接收方發(fā)送通信信息的方式為廣播,所述CAN數(shù)據(jù)幀的仲裁場(chǎng)填寫代表廣播的標(biāo)識(shí)。
[0012]在其中一個(gè)實(shí)施例中,所述發(fā)送方為主控板,所述接收方為子板;所述發(fā)送方向接收方發(fā)送通信信息的方式為單點(diǎn)發(fā)送,所述CAN數(shù)據(jù)幀的仲裁場(chǎng)填寫接收方標(biāo)識(shí);所述Modbus報(bào)文包含發(fā)送方標(biāo)識(shí)、表示主控板對(duì)子板操作的功能碼、以及主控板對(duì)子板的操作指令和所述主控板對(duì)子板的操作指令的參數(shù)。
[0013]在其中一個(gè)實(shí)施例中,所述主控板對(duì)子板的操作指令為控制IO狀態(tài)和讀參數(shù)寄存器的操作指令的其中之一。
[0014]在其中一個(gè)實(shí)施例中,所述子板為遙控子板,所述控制IO狀態(tài)的操作指令用于遙控,所述讀參數(shù)寄存器的操作指令用于遙測(cè)。
[0015]在其中一個(gè)實(shí)施例中,所述子板為數(shù)據(jù)采集子板或通信子板。
[0016]在其中一個(gè)實(shí)施例中,所述發(fā)送方為子板,所述接收方為主控板;所述發(fā)送方向接收方發(fā)送通信信息的方式為單點(diǎn)發(fā)送,所述CAN數(shù)據(jù)幀的仲裁場(chǎng)填寫接收方標(biāo)識(shí);所述Modbus報(bào)文包含發(fā)送方標(biāo)識(shí)、表示子板對(duì)主控板操作的功能碼、以及子板對(duì)主控板的操作指令和所述子板對(duì)主控板的操作指令的參數(shù)。
[0017]在其中一個(gè)實(shí)施例中,所述子板對(duì)主控板的操作指令為主動(dòng)上傳IO狀態(tài)、主動(dòng)上傳輸入狀態(tài)、主動(dòng)上傳寄存器值以及主動(dòng)上傳輸入寄存器值的操作指令的其中之一。
[0018]在其中一個(gè)實(shí)施例中,所述子板為遙控子板,所述主動(dòng)上傳IO狀態(tài)用于主動(dòng)上傳遙控變位信息,所述主動(dòng)上傳寄存器值用于主動(dòng)上傳遙測(cè)信息。
[0019]在其中一個(gè)實(shí)施例中,所述CAN數(shù)據(jù)幀為CAN通信協(xié)議所定義的擴(kuò)展幀。
[0020]上述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,通過在CAN數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)內(nèi)嵌Modbus報(bào)文,能夠有效地實(shí)現(xiàn)設(shè)備間進(jìn)行CAN總線通信,由于所述通信方法簡(jiǎn)單且高效,因此能夠極大地提高電力自動(dòng)化控制設(shè)備的開發(fā)效率和產(chǎn)品穩(wěn)定性。
【專利附圖】
【附圖說明】
[0021]圖1為本發(fā)明一個(gè)實(shí)施例的流程圖;
[0022]圖2為本發(fā)明一個(gè)實(shí)施例的示意圖;
[0023]圖3為常見的工業(yè)自動(dòng)化設(shè)備的架構(gòu)圖;
[0024]圖4為采用本發(fā)明一個(gè)實(shí)施例的系統(tǒng)啟動(dòng)后的工作流程圖。
【具體實(shí)施方式】
[0025]下面結(jié)合附圖,對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行詳細(xì)描述。
[0026]圖1為本發(fā)明一個(gè)實(shí)施例的工業(yè)自動(dòng)化設(shè)備通信方法流程圖。
[0027]圖2為本發(fā)明一個(gè)實(shí)施例的通信方法中的數(shù)據(jù)幀格式示意圖。
[0028]一種基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,用來在工業(yè)自動(dòng)化設(shè)備的發(fā)送方和接收方之間通信。工業(yè)化自動(dòng)設(shè)備是電力設(shè)備,例如電力自動(dòng)化控制裝置的板卡。如圖3所示,是一組工業(yè)設(shè)備構(gòu)成的系統(tǒng)結(jié)構(gòu)圖,主控板和多個(gè)子板之間通過CAN總線連接。該通信方法基于CAN總線協(xié)議,包括如下步驟。
[0029]步驟SlOO:發(fā)送方將通信信息封裝為Modbus報(bào)文,并將Modbus報(bào)文劃分為一個(gè)以上的Modbus報(bào)文子段,Modbus報(bào)文子段的長度不大于CAN通信協(xié)議所定義的擴(kuò)展幀的數(shù)據(jù)場(chǎng)的大小。通信信息是板卡之間傳遞的數(shù)據(jù)和用于控制的信息。Modbus報(bào)文是基于Modbus協(xié)議的通信數(shù)據(jù)包。Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一種通用工業(yè)標(biāo)準(zhǔn),因此被大量應(yīng)用在工業(yè)化自動(dòng)設(shè)備中。本實(shí)施例中,劃分Modbus報(bào)文的方式為:以CAN通信協(xié)議所定義的數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)的大小(通常是8個(gè)字節(jié))為標(biāo)準(zhǔn),將所述Modbus報(bào)文依次截?cái)?。其他?shí)施例中,還可以采用其他劃分標(biāo)準(zhǔn),例如小于8字節(jié)。[0030]步驟SllO:發(fā)送方將一個(gè)以上的Modbus報(bào)文子段分別嵌入一個(gè)以上的CAN數(shù)據(jù)幀中;一個(gè)以上的CAN數(shù)據(jù)幀包含表示一個(gè)以上的Modbus報(bào)文子段相互關(guān)聯(lián)的信息。由于CAN數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)最多只能放8個(gè)字節(jié)長度的數(shù)據(jù),所以當(dāng)Modbus報(bào)文的長度小于數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)的大小時(shí),可直接將Modbus報(bào)文填入該數(shù)據(jù)場(chǎng)。如果Modbus報(bào)文超過8個(gè)字節(jié),則相應(yīng)將Modbus報(bào)文劃分為一個(gè)以上的Modbus報(bào)文子段,然后分別嵌入一個(gè)以上的CAN數(shù)據(jù)幀中進(jìn)行傳輸。在其他實(shí)施例中,當(dāng)Modbus報(bào)文的長度小于或等于數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)的大小時(shí),也可以進(jìn)行劃分得到兩個(gè)以上的CAN數(shù)據(jù)幀。
[0031]步驟S120:發(fā)送方按照CAN通信協(xié)議向接收方發(fā)送所述一個(gè)以上的CAN數(shù)據(jù)幀。將步驟SllO中得到的一組相互關(guān)聯(lián)的,即包含一個(gè)完整Modbus報(bào)文的CAN數(shù)據(jù)幀發(fā)送給接收方。CAN通信協(xié)議是本領(lǐng)域熟知技術(shù),具體通信方式不再贅述。
[0032]步驟S130:接收方接收一個(gè)以上的CAN數(shù)據(jù)幀,并提取出CAN數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)的數(shù)據(jù)得到一個(gè)以上的Modbus報(bào)文子段,將相互關(guān)聯(lián)的Modbus報(bào)文子段合成為Modbus報(bào)文。接收方將所獲取的Modbus報(bào)文子段合并成完整的Modbus報(bào)文。
[0033]步驟S140:接收方解析Modbus報(bào)文獲取通信信息。
[0034]參考圖2,CAN數(shù)據(jù)幀包括仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)以及CRC場(chǎng),通過在CAN數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)內(nèi)嵌Modbus報(bào)文,能夠有效地實(shí)現(xiàn)設(shè)備間通過CAN總線通信,同時(shí)又可以利用傳統(tǒng)的被大量應(yīng)用的Modbus協(xié)議。由于上述通信方法簡(jiǎn)單且高效,因此能夠極大地提高電力自動(dòng)化控制設(shè)備的開發(fā)效率和產(chǎn)品穩(wěn)定性。
[0035]本實(shí)施例中,CAN數(shù)據(jù)幀為CAN通信協(xié)議所定義的擴(kuò)展幀。表I為CAN擴(kuò)展幀詳細(xì)架構(gòu)表,請(qǐng)參考表1:
[0036]CAN擴(kuò)展幀信息為13個(gè)字節(jié),包括兩部分,信息和數(shù)據(jù)部分,前5個(gè)字節(jié)為信息部分,后8個(gè)字節(jié)為數(shù)據(jù)部分。
[0037]字節(jié)I為幀信息,第7位(FF)標(biāo)示幀格式,在擴(kuò)展幀中,F(xiàn)F=I ;第6位(RTR)表示幀的類型,RTR=O表示為數(shù)據(jù)幀,RTR=I表示遠(yuǎn)程幀;DLC表示在數(shù)據(jù)幀時(shí)實(shí)際數(shù)據(jù)長度。
[0038]字節(jié)2?5為報(bào)文識(shí)別碼,高29位有效。
[0039]字節(jié)6?13為數(shù)據(jù)幀的實(shí)際數(shù)據(jù),遠(yuǎn)程幀時(shí)無效。
[0040]
【權(quán)利要求】
1.一種基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,用來在工業(yè)自動(dòng)化設(shè)備的發(fā)送方和接收方之間通信,所述通信方法基于CAN總線協(xié)議,包括如下步驟: 發(fā)送方將通信信息封裝為Modbus報(bào)文,并將所述Modbus報(bào)文劃分為一個(gè)以上的Modbus報(bào)文子段,所述Modbus報(bào)文子段的長度不大于CAN通信協(xié)議所定義的數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)的大??; 發(fā)送方將所述一個(gè)以上的Modbus報(bào)文子段分別嵌入一個(gè)以上的CAN數(shù)據(jù)幀中;所述一個(gè)以上的CAN數(shù)據(jù)幀包含表示所述一個(gè)以上的Modbus報(bào)文子段相互關(guān)聯(lián)的信息; 發(fā)送方按照CAN通信協(xié)議向接收方發(fā)送所述一個(gè)以上的CAN數(shù)據(jù)幀; 接收方接收所述一個(gè)以上的CAN數(shù)據(jù)幀,并提取出CAN數(shù)據(jù)幀的數(shù)據(jù)場(chǎng)的數(shù)據(jù)得到一個(gè)以上的Modbus報(bào)文子段,將相互關(guān)聯(lián)的Modbus報(bào)文子段合成為Modbus報(bào)文; 接收方解析所述Modbus報(bào)文獲取通信信息。
2.根據(jù)權(quán)利要求1所述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,其特征在于,所述發(fā)送方為主控板,所述接收方為子板;所述發(fā)送方向接收方發(fā)送通信信息的方式為廣播,所述CAN數(shù)據(jù)幀的仲裁場(chǎng)填寫代表廣播的標(biāo)識(shí)。
3.根據(jù)權(quán)利要求1所述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,其特征在于,所述發(fā)送方為主控板,所述接收方為子板;所述發(fā)送方向接收方發(fā)送通信信息的方式為單點(diǎn)發(fā)送,所述CAN數(shù)據(jù)幀的仲裁場(chǎng)填寫接收方標(biāo)識(shí);所述Modbus報(bào)文包含發(fā)送方標(biāo)識(shí)、表示主控板對(duì)子板操作的功能碼、以及主控板對(duì)子板的操作指令和所述主控板對(duì)子板的操作指令的參數(shù)。
4.根據(jù)權(quán)利要求3所述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,其特征在于,所述主控板對(duì)子板的操作指令為控制IO狀態(tài)和讀參數(shù)寄存器的操作指令的其中之一。
5.根據(jù)權(quán)利要求4所述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,其特征在于,所述子板為遙控子板,所述控制IO狀態(tài)的操作指令用于遙控,所述讀參數(shù)寄存器的操作指令用于遙測(cè)。
6.根據(jù)權(quán)利要求4所述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,其特征在于,所述子板為數(shù)據(jù)采集子板或通信子板。
7.根據(jù)權(quán)利要求1所述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,其特征在于,所述發(fā)送方為子板,所述接收方為主控板;所述發(fā)送方向接收方發(fā)送通信信息的方式為單點(diǎn)發(fā)送,所述CAN數(shù)據(jù)幀的仲裁場(chǎng)填寫接收方標(biāo)識(shí);所述Modbus報(bào)文包含發(fā)送方標(biāo)識(shí)、表示子板對(duì)主控板操作的功能碼、以及子板對(duì)主控板的操作指令和所述子板對(duì)主控板的操作指令的參數(shù)。
8.根據(jù)權(quán)利要求7所述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,其特征在于,所述子板對(duì)主控板的操作指令為主動(dòng)上傳IO狀態(tài)、主動(dòng)上傳輸入狀態(tài)、主動(dòng)上傳寄存器值以及主動(dòng)上傳輸入寄存器值的操作指令的其中之一。
9.根據(jù)權(quán)利要求8所述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,其特征在于,所述子板為遙控子板,所述主動(dòng)上傳IO狀態(tài)用于主動(dòng)上傳遙控變位信息,所述主動(dòng)上傳寄存器值用于主動(dòng)上傳遙測(cè)信息。
10.根據(jù)權(quán)利要求1所述的基于CAN總線的工業(yè)自動(dòng)化設(shè)備通信方法,其特征在于,所述CAN數(shù)據(jù)幀為CAN通信協(xié)議所定義的擴(kuò)展幀。
【文檔編號(hào)】G05B19/418GK103647690SQ201310590747
【公開日】2014年3月19日 申請(qǐng)日期:2013年11月20日 優(yōu)先權(quán)日:2013年11月20日
【發(fā)明者】許珍 申請(qǐng)人:航天科工深圳(集團(tuán))有限公司