基于mpeg-2的增強型modbus通信協(xié)議的制作方法
【專利摘要】本發(fā)明公開了一種基于MPEG?2的增強型MODBUS通信協(xié)議,傳輸幀格式包括ADU應用數(shù)據(jù)單元,ADU應用數(shù)據(jù)單元依次包括地址域、PDU協(xié)議數(shù)據(jù)單元和差錯校驗部分,PDU協(xié)議數(shù)據(jù)單元依次包括功能碼和數(shù)據(jù)域,對PDU協(xié)議數(shù)據(jù)單元進行編碼格式設計,所述編碼格式設計為采用MPEG?2標準的DSM?CC段格式,引入到所述數(shù)據(jù)域。本發(fā)明為物聯(lián)網(wǎng)產業(yè)的發(fā)展,提供了制定數(shù)據(jù)通信過程標準的基礎,解決了大數(shù)據(jù)量傳輸?shù)膯栴},標準性和靈活性共存,提高數(shù)據(jù)傳輸?shù)牟铄e檢出率,大大降低誤碼率。
【專利說明】
基于MPEG-2的増強型MODBUS通信協(xié)議
技術領域
[00011本發(fā)明涉及通訊協(xié)議技術領域,尤其涉及一種基于MPEG-2的增強型MODBUS通信協(xié) 議。
【背景技術】
[0002] MODBUS協(xié)議是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議,自問世以來在國內外的 工業(yè)控制領域得到廣泛的應用。隨著計算機信息技術、網(wǎng)絡技術的不斷發(fā)展,MODBUS協(xié)議已 經成為一種通用工業(yè)標準語言和協(xié)議。通過此協(xié)議,不同廠商生產的控制器相互之間、控制 器經由網(wǎng)絡(例如以太網(wǎng))和其它設備之間可以相互通信,連成工業(yè)網(wǎng)絡進行集中監(jiān)控。
[0003] 為更好地普及和推動MODBUS在基于以太網(wǎng)上的分布式應用,目前施耐德公司已將 MODBUS協(xié)議的所有權移交給IDA(Interface for Distributed Automation,分布式自動化 接口)組織,并成立了M0DBUS-IDA組織,為MODBUS今后的發(fā)展奠定了基礎。在中國,MODBUS已 經成為國家標準GB/T19582-2008。
[0004]目前,在國內的分布式物聯(lián)網(wǎng)的通信過程中,MODBUS協(xié)議主要應用在數(shù)據(jù)下行通 信傳輸上,即:物聯(lián)網(wǎng)網(wǎng)關(控制節(jié)點)和各種傳感器、控制器(被控節(jié)點)之間的通信。很少 有生產廠家把MODBUS協(xié)議應用到物聯(lián)網(wǎng)網(wǎng)關和信息平臺服務端之間的數(shù)據(jù)上行通信過程 中。在其他行業(yè),比如電力行業(yè)應用的數(shù)據(jù)上行通信協(xié)議是DLT 634.5101-2009,智能建筑 行業(yè)的BACNET協(xié)議等等,都有通用的國際或者國內標準,這些標準在那些行業(yè)領域得到了 廣泛的應用,促進了行業(yè)的技術和產業(yè)發(fā)展。然而,在物聯(lián)網(wǎng)+行業(yè)應用領域,數(shù)據(jù)上行通信 協(xié)議還是一項空白,沒有任何的國標、地標或者團標來統(tǒng)一各生產廠家數(shù)據(jù)接口,使他們各 自的系統(tǒng)和設備成了一個個"信息孤島",這對物聯(lián)網(wǎng)+行業(yè)應用衍生的各種產業(yè)來說,是一 個極大的發(fā)展瓶頸。同時,其它行業(yè)的數(shù)據(jù)通信上行協(xié)議都有自己的行業(yè)應用特點,適用于 所在的領域,不可能生搬硬套地應用到其它行業(yè)。與此同時,那些協(xié)議根據(jù)行業(yè)的發(fā)展,也 是在不斷地升級換代,行業(yè)特點越來越明顯,這對其它行業(yè)來說,其實就是最大的應用缺 陷。
【發(fā)明內容】
[0005] 本發(fā)明提供一種基于MPEG-2的增強型MODBUS通信協(xié)議,為物聯(lián)網(wǎng)產業(yè)的發(fā)展,提 供制定數(shù)據(jù)通信過程標準的基礎,解決大數(shù)據(jù)量傳輸?shù)膯栴},標準性和靈活性共存,提高數(shù) 據(jù)傳輸?shù)牟铄e檢出率,大大降低誤碼率。
[0006] 為解決上述技術問題,本發(fā)明的技術方案是:一種基于MPEG-2的增強型MODBUS通 信協(xié)議,傳輸幀格式包括ADU應用數(shù)據(jù)單元,ADU應用數(shù)據(jù)單元依次包括地址域、PDU協(xié)議數(shù) 據(jù)單元和差錯校驗部分,PDU協(xié)議數(shù)據(jù)單元依次包括功能碼和數(shù)據(jù)域,對PDU協(xié)議數(shù)據(jù)單元 進行編碼格式設計,所述編碼格式設計為采用MPEG-2標準的DSM-CC段格式,引入到所述數(shù) 據(jù)域。
[0007] 作為優(yōu)選的技術方案,所述數(shù)據(jù)域依次包括數(shù)據(jù)標識字段、數(shù)據(jù)長度字段、模塊標 識字段、版本號字段、段號字段、最大段號字段和數(shù)據(jù)字段。
[0008] 作為優(yōu)選的技術方案,所述數(shù)據(jù)標識字段為lByte,數(shù)據(jù)類型包括遙測數(shù)據(jù)、遙信 數(shù)據(jù)、遙空數(shù)據(jù)和遙調數(shù)據(jù)。
[0009] 作為對上述技術方案的改進,所述數(shù)據(jù)長度字段依次包括IBit的段語義指示位、 IBit的私有指示位、2Bit的預留位和12Bit的有效數(shù)據(jù)長度位;所述有效數(shù)據(jù)長度位存儲的 數(shù)據(jù)為模塊標識字段、版本號字段、段號字段、最大段號字段和數(shù)據(jù)字段的有效數(shù)據(jù)長度L。 [0010]作為對上述技術方案的改進,所述ADU應用數(shù)據(jù)單元的總長度為有效數(shù)據(jù)長度L+ 7Byte ?L^1024Byte〇
[0011]作為對上述技術方案的進一步改進,所述模塊標識字段為2Byte。
[0012] 作為對上述技術方案的進一步改進,所述版本號字段為lByte,依次包括2Bit的預 留位、5Bit的版本號位和IBit的當前/后續(xù)指示位。
[0013] 作為對上述技術方案的更進一步改進,所述段號字段為lByte。
[0014] 作為對上述技術方案的更進一步改進,所述最大段號字段為lByte。
[0015] 作為對上述技術方案的特別進一步改進,所述差錯校驗部分采用CRC32差錯校驗 方式。
[0016] 由于采用了上述技術方案,本發(fā)明嚴格遵循國家標準GB/T19582-2008M0DBUS協(xié) 議,并采用DSM-CC段格式,對MODBUS的應用層作了更加具體地編碼設計。本發(fā)明為物聯(lián)網(wǎng)產 業(yè)的發(fā)展,提供了制定數(shù)據(jù)通信過程標準的基礎,解決了大數(shù)據(jù)量傳輸?shù)膯栴},標準性和靈 活性共存,提高數(shù)據(jù)傳輸?shù)牟铄e檢出率,大大降低誤碼率。
【附圖說明】
[0017] 以下附圖僅旨在于對本發(fā)明做示意性說明和解釋,并不限定本發(fā)明的范圍。其中:
[0018] 圖1是本發(fā)明實施例的棧層次關系圖;
[0019] 圖2是本發(fā)明實施例的傳輸幀格式圖;
[0020] 圖3是本發(fā)明實施例的rou協(xié)議數(shù)據(jù)單元的數(shù)據(jù)格式;
[0021] 圖4是本發(fā)明實施例的數(shù)據(jù)長度字段的結構圖;
[0022]圖5是本發(fā)明實施例的版本號字段的結構圖。
【具體實施方式】
[0023]下面結合附圖和實施例,進一步闡述本發(fā)明。在下面的詳細描述中,只通過說明的 方式描述了本發(fā)明的某些示范性實施例。毋庸置疑,本領域的普通技術人員可以認識到,在 不偏離本發(fā)明的精神和范圍的情況下,可以用各種不同的方式對所描述的實施例進行修 正。因此,附圖和描述在本質上是說明性的,而不是用于限制權利要求的保護范圍。
[0024] 如圖2和圖3所示,一種基于MPEG-2的增強型MODBUS通信協(xié)議,傳輸幀格式包括ADU 應用數(shù)據(jù)單元,ADU應用數(shù)據(jù)單元依次包括地址域、PDU協(xié)議數(shù)據(jù)單元和差錯校驗部分,PDU 協(xié)議數(shù)據(jù)單元依次包括功能碼和數(shù)據(jù)域,對rou協(xié)議數(shù)據(jù)單元進行編碼格式設計,編碼格式 設計為采用MPEG-2標準的DSM-CC段格式,引入到數(shù)據(jù)域。
[0025]功能碼字段英文為Function Code Field,其通用功能不做改動,用戶自定義功 能,根據(jù)物聯(lián)網(wǎng)+行業(yè)的不同應用,可以定義相應的交互功能碼。
[0026] 本實施例的應用范圍主要是物聯(lián)網(wǎng)+行業(yè)應用的數(shù)據(jù)上行通信過程,比如:農業(yè)物 聯(lián)網(wǎng)(物聯(lián)網(wǎng)+農業(yè))自動化系統(tǒng)(SCADA)的物聯(lián)網(wǎng)網(wǎng)關到信息平臺服務端的上行通信。 [0027] 本發(fā)明嚴格遵循國家標準GB/T19582-2008M0DBUS協(xié)議,并創(chuàng)造性地采用DSM-CC段 格式,對MODBUS的應用層作了更加具體地編碼設計。
[0028]本實施例是0SI模型第7層上的應用層報文傳輸協(xié)議,增強型MODBUS通信協(xié)議與 0SI模型協(xié)議層次的對比關系見表1。
[0029] 如圖1所示,圖中示出了本實施例增強型MODBUS通信協(xié)議棧的層次關系。
[0030] 如圖3所示,數(shù)據(jù)域,在其它通信協(xié)議中,一般稱為有效數(shù)據(jù)、荷載、凈荷(Payload) 等,為了更加有效地組織這個數(shù)據(jù)域,本實施例設計的數(shù)據(jù)格式如下,數(shù)據(jù)域依次包括數(shù)據(jù) 標識字段、數(shù)據(jù)長度字段、模塊標識字段、版本號字段、段號字段、最大段號字段和數(shù)據(jù)字 段。
[0031] 數(shù)據(jù)標識字段英文為data id,lByte,用來表示傳送的數(shù)據(jù)類型標識,數(shù)據(jù)類型包 括:
[0032] 0x3B,標識傳輸遠程測量數(shù)據(jù),即遙測數(shù)據(jù);
[0033] 0x3C,標識傳輸遠程信號數(shù)據(jù),即遙信數(shù)據(jù),比如:預報警信息、開關狀態(tài)等;
[0034] 0x3D,標識傳輸遠程命令數(shù)據(jù),即遙控數(shù)據(jù);
[0035] 0x3E,標識傳輸遠程調節(jié)數(shù)據(jù),即遙調數(shù)據(jù)。
[0036]如圖3和圖4所示,數(shù)據(jù)長度字段英文為data length,依次包括IBit的段語義指示 位、IBit的私有指示位、2Bit的預留位和12Bit的有效數(shù)據(jù)長度位;有效數(shù)據(jù)長度位存儲的 數(shù)據(jù)為模塊標識字段、版本號字段、段號字段、最大段號字段和數(shù)據(jù)字段的有效數(shù)據(jù)長度L。 [00 37] 段語義指示位英文為section syntax indicator,標識有效數(shù)據(jù)的組織結構符合 DSM-CC段結構語法,IBit。1:符合;0:不符合,一般設置為"Γ。
[0038]私有指示位英文為private indicator,與段語義指示位配合使用,IBit,一般設 置為"0"。
[0039]預留位英文為reserved,預留以后使用,2Bit,一般設置為"11"。
[0040]有效數(shù)據(jù)長度位,記錄有效數(shù)據(jù)的長度,12Bit。有效數(shù)據(jù)長度L的具體計算方法 是:從模塊標識字段的第一個字節(jié)開始算起,一直到數(shù)據(jù)域結束,也就是在數(shù)據(jù)字段的最后 一個字節(jié)結束。
[00411 ADU應用數(shù)據(jù)單元的總長度為有效數(shù)據(jù)長度L+7Byte,L彡1024Byte。因為本協(xié)議適 用于網(wǎng)絡傳輸,IP包的有效數(shù)據(jù)的長度限制為1460個Byte,因此,本協(xié)議中,有效數(shù)據(jù)的長 度不超過1024個字節(jié),即1K個Byte。
[0042]模塊標識字段英文為Module id,2Byte,當數(shù)據(jù)采集終端或者物聯(lián)網(wǎng)網(wǎng)關某一時 刻采集的數(shù)據(jù)量很大時,或者由于通訊故障而產生的數(shù)據(jù)累計量很大時,我們就可以利用 數(shù)據(jù)的拆解包技術來解決這個難題。模塊標識字段就是標識某一個較大的數(shù)據(jù)模塊,我們 在傳輸過程中,對這個模塊進行分割、拆裝成若干段進行傳輸,在接收端進行解包、組包的 逆過程。
[0043] 如圖5所示,版本號字段英文為version number,lByte,依次包括2Bit的預留位、 5Bit的版本號位和IBit的當前/后續(xù)指示位。
[0044]版本號字段用來標識數(shù)據(jù)傳輸過程中的版本變化。預留位英文為reserved,預留 以后使用,2Bit,一般設置為"11" ;版本號位英文為version number,5Bit,當傳輸內容發(fā)生 變化后,要求這個版本號加一;當前/后續(xù)指示位英文為current next indicator,lBit,標 識當前版本是否有效,1:有效;〇:無效。
[0045]段號字段英文為section number,lByte,用來標識當前傳輸?shù)倪@個數(shù)據(jù)段在整個 數(shù)據(jù)模塊當中的位置。
[0046]最大段號字段英文為last section number,lByte,用來標識整個數(shù)據(jù)模塊的最 后一個數(shù)據(jù)段的段號。
[0047]數(shù)據(jù)字段英文為data,根據(jù)不同的行業(yè)特點,對遠動SCADA系統(tǒng)的各類數(shù)據(jù)和信息 進行有效地組織。
[0048] 差錯校驗部分采用CRC32差錯校驗方式,相對于其它協(xié)議采用的校驗和、CRC8和 CRC16等差錯檢驗,CRC32是一種高效的差錯控制方法,廣泛應用于測控及數(shù)據(jù)通信領域,同 時具有編碼和解碼方法簡單,檢錯能力強,誤判概率很低和具有糾錯能力等優(yōu)點。
[0049] 本實施例嚴格遵循國家標準GB/T19582-2008M0DBUS協(xié)議,并創(chuàng)造性地采用DSM-CC 段格式,對MODBUS的應用層作了更加具體地編碼設計。本實施例具有以下優(yōu)點:
[0050]首先,為物聯(lián)網(wǎng)產業(yè)的發(fā)展,提供了制定數(shù)據(jù)通信過程標準的基礎,標準化是一個 產業(yè)發(fā)展的關鍵基礎,看一個產業(yè)是否有發(fā)展前景,是否保持旺盛的生命力,一個關鍵因 素,就是這個產業(yè)的標準化程度。本實施例致力于解決物聯(lián)網(wǎng)產業(yè)通信過程的數(shù)據(jù)接口統(tǒng) 一問題,有了統(tǒng)一的數(shù)據(jù)通信接口,就可以為整個產業(yè)的發(fā)展帶來極大的推動力,同時降低 研發(fā)、生產的成本,為生產廠家和用戶都帶來很大的利益。
[0051 ]其次,解決了大數(shù)據(jù)量傳輸?shù)膯栴},其它的傳輸協(xié)議或者規(guī)約,在數(shù)據(jù)傳送過程 中,一次通信過程,傳輸?shù)臄?shù)據(jù)量是比較少的,一個原因是協(xié)議制定時的物理基礎條件,另 一個就是協(xié)議本身具有的缺陷,沒有拆解包方法。本發(fā)明提供了完善的拆解包方法,可一次 性傳輸?shù)臄?shù)據(jù)模塊大小為64MByte。系統(tǒng)通訊出現(xiàn)異常,在較長時間通訊恢復以后,系統(tǒng)仍 然可以迅速招測積累的數(shù)據(jù)。
[0052]另外,標準性和靈活性共存,本實施例嚴格遵循國內外MODBUS協(xié)議的相關標準,借 助于MODBUS協(xié)議在國內工業(yè)控制領域的應用基礎,本實施例可以在物聯(lián)網(wǎng)產業(yè)內的通信過 程中迅速加以應用。生產廠家可以根據(jù)自己所在行業(yè)的特點,簡單、有效組織數(shù)據(jù)進行編 碼。
[0053]最后,提高數(shù)據(jù)傳輸?shù)牟铄e檢出率,大大降低誤碼率。
[0054]表1:增強型MODBUS通信協(xié)議與0SI模型協(xié)議層次的對比關系
[0057]以上顯示和描述了本發(fā)明的基本原理、主要特征及本發(fā)明的優(yōu)點。本行業(yè)的技術 人員應該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本 發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變 化和改進都落入要求保護的本發(fā)明范圍內。本發(fā)明要求保護范圍由所附的權利要求書及其 等效物界定。
【主權項】
1. 一種基于MPEG-2的增強型MODBUS通信協(xié)議,傳輸幀格式包括ADU應用數(shù)據(jù)單元,ADU 應用數(shù)據(jù)單元依次包括地址域、PDU協(xié)議數(shù)據(jù)單元和差錯校驗部分,PDU協(xié)議數(shù)據(jù)單元依次 包括功能碼和數(shù)據(jù)域,其特征在于:對PDU協(xié)議數(shù)據(jù)單元進行編碼格式設計,所述編碼格式 設計為采用MPEG-2標準的DSM-CC段格式,引入到所述數(shù)據(jù)域。2. 如權利要求1所述的基于MPEG-2的增強型MODBUS通信協(xié)議,其特征在于:所述數(shù)據(jù)域 依次包括數(shù)據(jù)標識字段、數(shù)據(jù)長度字段、模塊標識字段、版本號字段、段號字段、最大段號字 段和數(shù)據(jù)字段。3. 如權利要求2所述的基于MPEG-2的增強型MODBUS通信協(xié)議,其特征在于:所述數(shù)據(jù)標 識字段為lByte,數(shù)據(jù)類型包括遙測數(shù)據(jù)、遙信數(shù)據(jù)、遙空數(shù)據(jù)和遙調數(shù)據(jù)。4. 如權利要求2所述的基于MPEG-2的增強型MODBUS通信協(xié)議,其特征在于:所述數(shù)據(jù)長 度字段依次包括IBit的段語義指示位、IBit的私有指示位、2Bit的預留位和12Bit的有效數(shù) 據(jù)長度位;所述有效數(shù)據(jù)長度位存儲的數(shù)據(jù)為模塊標識字段、版本號字段、段號字段、最大 段號字段和數(shù)據(jù)字段的有效數(shù)據(jù)長度L。5. 如權利要求3所述的基于MPEG-2的增強型MODBUS通信協(xié)議,其特征在于:所述ADU應 用數(shù)據(jù)單元的總長度為有效數(shù)據(jù)長度L+7Byt e,L<1024Byte。6. 如權利要求2所述的基于MPEG-2的增強型MODBUS通信協(xié)議,其特征在于:所述模塊標 識字段為2Byte。7. 如權利要求2所述的基于MPEG-2的增強型MODBUS通信協(xié)議,其特征在于:所述版本號 字段為lByte,依次包括2Bit的預留位、5Bit的版本號位和IBit的當前/后續(xù)指示位。8. 如權利要求2所述的基于MPEG-2的增強型MODBUS通信協(xié)議,其特征在于:所述段號字 段為lByte。9. 如權利要求2所述的基于MPEG-2的增強型MODBUS通信協(xié)議,其特征在于:所述最大段 號字段為lByte。10. 如權利要求1至9任一項所述的基于MPEG-2的增強型MODBUS通信協(xié)議,其特征在于: 所述差錯校驗部分采用CRC32差錯校驗方式。
【文檔編號】H04L29/08GK106027686SQ201610629589
【公開日】2016年10月12日
【申請日】2016年8月2日
【發(fā)明人】許哲
【申請人】山東樂通達物聯(lián)網(wǎng)科技有限公司