基于mpeg-2的增强型modbus通信协议的制作方法
【专利摘要】本发明公开了一种基于MPEG?2的增强型MODBUS通信协议,传输帧格式包括ADU应用数据单元,ADU应用数据单元依次包括地址域、PDU协议数据单元和差错校验部分,PDU协议数据单元依次包括功能码和数据域,对PDU协议数据单元进行编码格式设计,所述编码格式设计为采用MPEG?2标准的DSM?CC段格式,引入到所述数据域。本发明为物联网产业的发展,提供了制定数据通信过程标准的基础,解决了大数据量传输的问题,标准性和灵活性共存,提高数据传输的差错检出率,大大降低误码率。
【专利说明】
基于MPEG-2的増强型MODBUS通信协议
技术领域
[00011本发明涉及通讯协议技术领域,尤其涉及一种基于MPEG-2的增强型MODBUS通信协 议。
【背景技术】
[0002] MODBUS协议是全球第一个真正用于工业现场的总线协议,自问世以来在国内外的 工业控制领域得到广泛的应用。随着计算机信息技术、网络技术的不断发展,MODBUS协议已 经成为一种通用工业标准语言和协议。通过此协议,不同厂商生产的控制器相互之间、控制 器经由网络(例如以太网)和其它设备之间可以相互通信,连成工业网络进行集中监控。
[0003] 为更好地普及和推动MODBUS在基于以太网上的分布式应用,目前施耐德公司已将 MODBUS协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化 接口)组织,并成立了M0DBUS-IDA组织,为MODBUS今后的发展奠定了基础。在中国,MODBUS已 经成为国家标准GB/T19582-2008。
[0004]目前,在国内的分布式物联网的通信过程中,MODBUS协议主要应用在数据下行通 信传输上,即:物联网网关(控制节点)和各种传感器、控制器(被控节点)之间的通信。很少 有生产厂家把MODBUS协议应用到物联网网关和信息平台服务端之间的数据上行通信过程 中。在其他行业,比如电力行业应用的数据上行通信协议是DLT 634.5101-2009,智能建筑 行业的BACNET协议等等,都有通用的国际或者国内标准,这些标准在那些行业领域得到了 广泛的应用,促进了行业的技术和产业发展。然而,在物联网+行业应用领域,数据上行通信 协议还是一项空白,没有任何的国标、地标或者团标来统一各生产厂家数据接口,使他们各 自的系统和设备成了一个个"信息孤岛",这对物联网+行业应用衍生的各种产业来说,是一 个极大的发展瓶颈。同时,其它行业的数据通信上行协议都有自己的行业应用特点,适用于 所在的领域,不可能生搬硬套地应用到其它行业。与此同时,那些协议根据行业的发展,也 是在不断地升级换代,行业特点越来越明显,这对其它行业来说,其实就是最大的应用缺 陷。
【发明内容】
[0005] 本发明提供一种基于MPEG-2的增强型MODBUS通信协议,为物联网产业的发展,提 供制定数据通信过程标准的基础,解决大数据量传输的问题,标准性和灵活性共存,提高数 据传输的差错检出率,大大降低误码率。
[0006] 为解决上述技术问题,本发明的技术方案是:一种基于MPEG-2的增强型MODBUS通 信协议,传输帧格式包括ADU应用数据单元,ADU应用数据单元依次包括地址域、PDU协议数 据单元和差错校验部分,PDU协议数据单元依次包括功能码和数据域,对PDU协议数据单元 进行编码格式设计,所述编码格式设计为采用MPEG-2标准的DSM-CC段格式,引入到所述数 据域。
[0007] 作为优选的技术方案,所述数据域依次包括数据标识字段、数据长度字段、模块标 识字段、版本号字段、段号字段、最大段号字段和数据字段。
[0008] 作为优选的技术方案,所述数据标识字段为lByte,数据类型包括遥测数据、遥信 数据、遥空数据和遥调数据。
[0009] 作为对上述技术方案的改进,所述数据长度字段依次包括IBit的段语义指示位、 IBit的私有指示位、2Bit的预留位和12Bit的有效数据长度位;所述有效数据长度位存储的 数据为模块标识字段、版本号字段、段号字段、最大段号字段和数据字段的有效数据长度L。 [0010]作为对上述技术方案的改进,所述ADU应用数据单元的总长度为有效数据长度L+ 7Byte ?L^1024Byte〇
[0011]作为对上述技术方案的进一步改进,所述模块标识字段为2Byte。
[0012] 作为对上述技术方案的进一步改进,所述版本号字段为lByte,依次包括2Bit的预 留位、5Bit的版本号位和IBit的当前/后续指示位。
[0013] 作为对上述技术方案的更进一步改进,所述段号字段为lByte。
[0014] 作为对上述技术方案的更进一步改进,所述最大段号字段为lByte。
[0015] 作为对上述技术方案的特别进一步改进,所述差错校验部分采用CRC32差错校验 方式。
[0016] 由于采用了上述技术方案,本发明严格遵循国家标准GB/T19582-2008M0DBUS协 议,并采用DSM-CC段格式,对MODBUS的应用层作了更加具体地编码设计。本发明为物联网产 业的发展,提供了制定数据通信过程标准的基础,解决了大数据量传输的问题,标准性和灵 活性共存,提高数据传输的差错检出率,大大降低误码率。
【附图说明】
[0017] 以下附图仅旨在于对本发明做示意性说明和解释,并不限定本发明的范围。其中:
[0018] 图1是本发明实施例的栈层次关系图;
[0019] 图2是本发明实施例的传输帧格式图;
[0020] 图3是本发明实施例的rou协议数据单元的数据格式;
[0021] 图4是本发明实施例的数据长度字段的结构图;
[0022]图5是本发明实施例的版本号字段的结构图。
【具体实施方式】
[0023]下面结合附图和实施例,进一步阐述本发明。在下面的详细描述中,只通过说明的 方式描述了本发明的某些示范性实施例。毋庸置疑,本领域的普通技术人员可以认识到,在 不偏离本发明的精神和范围的情况下,可以用各种不同的方式对所描述的实施例进行修 正。因此,附图和描述在本质上是说明性的,而不是用于限制权利要求的保护范围。
[0024] 如图2和图3所示,一种基于MPEG-2的增强型MODBUS通信协议,传输帧格式包括ADU 应用数据单元,ADU应用数据单元依次包括地址域、PDU协议数据单元和差错校验部分,PDU 协议数据单元依次包括功能码和数据域,对rou协议数据单元进行编码格式设计,编码格式 设计为采用MPEG-2标准的DSM-CC段格式,引入到数据域。
[0025]功能码字段英文为Function Code Field,其通用功能不做改动,用户自定义功 能,根据物联网+行业的不同应用,可以定义相应的交互功能码。
[0026] 本实施例的应用范围主要是物联网+行业应用的数据上行通信过程,比如:农业物 联网(物联网+农业)自动化系统(SCADA)的物联网网关到信息平台服务端的上行通信。 [0027] 本发明严格遵循国家标准GB/T19582-2008M0DBUS协议,并创造性地采用DSM-CC段 格式,对MODBUS的应用层作了更加具体地编码设计。
[0028]本实施例是0SI模型第7层上的应用层报文传输协议,增强型MODBUS通信协议与 0SI模型协议层次的对比关系见表1。
[0029] 如图1所示,图中示出了本实施例增强型MODBUS通信协议栈的层次关系。
[0030] 如图3所示,数据域,在其它通信协议中,一般称为有效数据、荷载、净荷(Payload) 等,为了更加有效地组织这个数据域,本实施例设计的数据格式如下,数据域依次包括数据 标识字段、数据长度字段、模块标识字段、版本号字段、段号字段、最大段号字段和数据字 段。
[0031] 数据标识字段英文为data id,lByte,用来表示传送的数据类型标识,数据类型包 括:
[0032] 0x3B,标识传输远程测量数据,即遥测数据;
[0033] 0x3C,标识传输远程信号数据,即遥信数据,比如:预报警信息、开关状态等;
[0034] 0x3D,标识传输远程命令数据,即遥控数据;
[0035] 0x3E,标识传输远程调节数据,即遥调数据。
[0036]如图3和图4所示,数据长度字段英文为data length,依次包括IBit的段语义指示 位、IBit的私有指示位、2Bit的预留位和12Bit的有效数据长度位;有效数据长度位存储的 数据为模块标识字段、版本号字段、段号字段、最大段号字段和数据字段的有效数据长度L。 [00 37] 段语义指示位英文为section syntax indicator,标识有效数据的组织结构符合 DSM-CC段结构语法,IBit。1:符合;0:不符合,一般设置为"Γ。
[0038]私有指示位英文为private indicator,与段语义指示位配合使用,IBit,一般设 置为"0"。
[0039]预留位英文为reserved,预留以后使用,2Bit,一般设置为"11"。
[0040]有效数据长度位,记录有效数据的长度,12Bit。有效数据长度L的具体计算方法 是:从模块标识字段的第一个字节开始算起,一直到数据域结束,也就是在数据字段的最后 一个字节结束。
[00411 ADU应用数据单元的总长度为有效数据长度L+7Byte,L彡1024Byte。因为本协议适 用于网络传输,IP包的有效数据的长度限制为1460个Byte,因此,本协议中,有效数据的长 度不超过1024个字节,即1K个Byte。
[0042]模块标识字段英文为Module id,2Byte,当数据采集终端或者物联网网关某一时 刻采集的数据量很大时,或者由于通讯故障而产生的数据累计量很大时,我们就可以利用 数据的拆解包技术来解决这个难题。模块标识字段就是标识某一个较大的数据模块,我们 在传输过程中,对这个模块进行分割、拆装成若干段进行传输,在接收端进行解包、组包的 逆过程。
[0043] 如图5所示,版本号字段英文为version number,lByte,依次包括2Bit的预留位、 5Bit的版本号位和IBit的当前/后续指示位。
[0044]版本号字段用来标识数据传输过程中的版本变化。预留位英文为reserved,预留 以后使用,2Bit,一般设置为"11" ;版本号位英文为version number,5Bit,当传输内容发生 变化后,要求这个版本号加一;当前/后续指示位英文为current next indicator,lBit,标 识当前版本是否有效,1:有效;〇:无效。
[0045]段号字段英文为section number,lByte,用来标识当前传输的这个数据段在整个 数据模块当中的位置。
[0046]最大段号字段英文为last section number,lByte,用来标识整个数据模块的最 后一个数据段的段号。
[0047]数据字段英文为data,根据不同的行业特点,对远动SCADA系统的各类数据和信息 进行有效地组织。
[0048] 差错校验部分采用CRC32差错校验方式,相对于其它协议采用的校验和、CRC8和 CRC16等差错检验,CRC32是一种高效的差错控制方法,广泛应用于测控及数据通信领域,同 时具有编码和解码方法简单,检错能力强,误判概率很低和具有纠错能力等优点。
[0049] 本实施例严格遵循国家标准GB/T19582-2008M0DBUS协议,并创造性地采用DSM-CC 段格式,对MODBUS的应用层作了更加具体地编码设计。本实施例具有以下优点:
[0050]首先,为物联网产业的发展,提供了制定数据通信过程标准的基础,标准化是一个 产业发展的关键基础,看一个产业是否有发展前景,是否保持旺盛的生命力,一个关键因 素,就是这个产业的标准化程度。本实施例致力于解决物联网产业通信过程的数据接口统 一问题,有了统一的数据通信接口,就可以为整个产业的发展带来极大的推动力,同时降低 研发、生产的成本,为生产厂家和用户都带来很大的利益。
[0051 ]其次,解决了大数据量传输的问题,其它的传输协议或者规约,在数据传送过程 中,一次通信过程,传输的数据量是比较少的,一个原因是协议制定时的物理基础条件,另 一个就是协议本身具有的缺陷,没有拆解包方法。本发明提供了完善的拆解包方法,可一次 性传输的数据模块大小为64MByte。系统通讯出现异常,在较长时间通讯恢复以后,系统仍 然可以迅速招测积累的数据。
[0052]另外,标准性和灵活性共存,本实施例严格遵循国内外MODBUS协议的相关标准,借 助于MODBUS协议在国内工业控制领域的应用基础,本实施例可以在物联网产业内的通信过 程中迅速加以应用。生产厂家可以根据自己所在行业的特点,简单、有效组织数据进行编 码。
[0053]最后,提高数据传输的差错检出率,大大降低误码率。
[0054]表1:增强型MODBUS通信协议与0SI模型协议层次的对比关系
[0057]以上显示和描述了本发明的基本原理、主要特征及本发明的优点。本行业的技术 人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本 发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变 化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其 等效物界定。
【主权项】
1. 一种基于MPEG-2的增强型MODBUS通信协议,传输帧格式包括ADU应用数据单元,ADU 应用数据单元依次包括地址域、PDU协议数据单元和差错校验部分,PDU协议数据单元依次 包括功能码和数据域,其特征在于:对PDU协议数据单元进行编码格式设计,所述编码格式 设计为采用MPEG-2标准的DSM-CC段格式,引入到所述数据域。2. 如权利要求1所述的基于MPEG-2的增强型MODBUS通信协议,其特征在于:所述数据域 依次包括数据标识字段、数据长度字段、模块标识字段、版本号字段、段号字段、最大段号字 段和数据字段。3. 如权利要求2所述的基于MPEG-2的增强型MODBUS通信协议,其特征在于:所述数据标 识字段为lByte,数据类型包括遥测数据、遥信数据、遥空数据和遥调数据。4. 如权利要求2所述的基于MPEG-2的增强型MODBUS通信协议,其特征在于:所述数据长 度字段依次包括IBit的段语义指示位、IBit的私有指示位、2Bit的预留位和12Bit的有效数 据长度位;所述有效数据长度位存储的数据为模块标识字段、版本号字段、段号字段、最大 段号字段和数据字段的有效数据长度L。5. 如权利要求3所述的基于MPEG-2的增强型MODBUS通信协议,其特征在于:所述ADU应 用数据单元的总长度为有效数据长度L+7Byt e,L<1024Byte。6. 如权利要求2所述的基于MPEG-2的增强型MODBUS通信协议,其特征在于:所述模块标 识字段为2Byte。7. 如权利要求2所述的基于MPEG-2的增强型MODBUS通信协议,其特征在于:所述版本号 字段为lByte,依次包括2Bit的预留位、5Bit的版本号位和IBit的当前/后续指示位。8. 如权利要求2所述的基于MPEG-2的增强型MODBUS通信协议,其特征在于:所述段号字 段为lByte。9. 如权利要求2所述的基于MPEG-2的增强型MODBUS通信协议,其特征在于:所述最大段 号字段为lByte。10. 如权利要求1至9任一项所述的基于MPEG-2的增强型MODBUS通信协议,其特征在于: 所述差错校验部分采用CRC32差错校验方式。
【文档编号】H04L29/08GK106027686SQ201610629589
【公开日】2016年10月12日
【申请日】2016年8月2日
【发明人】许哲
【申请人】山东乐通达物联网科技有限公司