当前位置:主页 > 科技论文 > 网络通信论文 >

面向物联网的Modbus协议栈设计与应用

发布时间:2020-06-29 18:46
【摘要】:随着互联网和通信技术的发展,将传统电子设备融入互联网成为互联网的另一个扩展方向,即物联网。物联网的发展离不开可靠性高,语义简明,扩展性强的物联网协议,具体来说在物联网所面临的物体的识别,物体的连接和物体的数据交换三个主要问题中均面临着协议规范。物体的识别和物体的链接均依赖于底层硬件支持,如RFID、NFC物体识别技术和LPWAN和3GPP连接技术。在物联网情形下,传感器、嵌入式设备、智能控制系统和远程服务器都需要紧密地联系在一起,形成一个物与物、物与人通信的智能网络。在这个网络中各个数据源差异性非常大,各种设备之间的网络结构也多种多样,因此设计一种适用于物联网场景的通信协议需要考虑到如下几个问题:首先,需要选择一种开放性高、应用广泛的标准协议作为协议栈实现参考。其次,针对复杂的物联网应用场景,需要协议兼容各类物理链路和物理设备的可扩展。再次,为提高开发者效率,能灵活提供远程、进场通信和透明传输的各种API,特别在物联网场景下远程和近场数据转换应具有透明传输的能力。针对标准协议选择问题,文章分析了几大流行的物联网协议的优缺点,最终选择了基于公开的ModBus协议来实现协议栈。ModBus协议在工业自动化领域的广泛应用和协议本身具备的远程和现场网络的连接能力,并且由于工业以太网与物联网之间存在极大的相似性,在普世的物联网应用场景中也能很好扩展。因此,参考ModBus协议标准,设计一种运用在物联网应用层的Modbus协议栈,以适应如今分层的物联网架构。该协议栈能同时提供远程TCP连接,本地串行链路连接,TCP与设备间数据透传等功能。针对兼容性和可扩展性的问题,文章基于低耦合的思想提出三层协议栈架构。应用层和设备相关层各自维护操作结构体及其操作函数,并使用中间的核心层来进行耦合,这样使得应用层屏蔽了设备相关层的差异性,使得设备相关层则可以按需求扩展或删除对某种设备的支持,具有很好的兼容性和可扩展性。针对远程、近场和透传通过能力支持的问题,文章基于所提出的三层协议栈架构,抽象了各个层的接口函数。设备相关层针对不同的物理设备,实现串行链路上的ModBus-RTU通信接口和TCP/IP协议下ModBus-TCP通信接口,前者提供了进场通信能力,后者提供了远程通信能力。在进行应用层的API设计,应用层基于四个基本通信函数来实现12种功能码,体现出协议栈面向功能的服务架构思想。在透传能力支持方面,也是基于应用层四个基本通信函数实现了ModBus-RTU协议向ModBus-TCP协议相互转换的API接口。在协议栈应用方面,文章设计了一种简单的智能家居系统来对本课题所实现的协议栈加以应用,从而验证协议栈性能。所设计的智能家居系统由家庭网关和传感控制子节点两部分。家庭网关基于AM335X处理器+Linux操作系统,实现ModBus-TCP远程连接和ModBus-RTU本地控制及两协议数据相互转换的功能。传感控制子节点作为ModBus-RTU协议子设备,它基于STM32单片机实现室内环境监测和家电控制功能。通过系统测试可以看出,本文针对物联网应用设计了一种与底层链路无关的ModBus协议的协议栈。实验结果表明该协议栈在功能上符合ModBus标准协议的规范,性能上每个指令的通信延时小于540us,并且帧出错了几乎为0,保证了协议栈的可靠性。此外协议栈的设计基于分层抽象思想,面向应用层的接口是统一的,可以很好的屏蔽物理层的多样性,在扩展性和可移植方面有一定的优势。此外本协议栈可用于嵌入式网关中用于RTU和TCP协议的转换,也可单独用作主站或者从站,基于本协议栈设计的接口可很好的面向各种物联网应用场景及与某些物联网开放平台互联。
【学位授予单位】:成都理工大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP391.44;TN915.04
【图文】:

字节,报文


一个完整的ModBus-RTU报文帧,有连续的上述字节组成,并且在帧与帧之充恰当的延时,时间帧间的同步,如图2-14。图2-14 ModBus-RTU报文帧此外为了更严格定义字节是否为某一帧的数据,规定当字节与字节之间延时3.5个字符,表明前面接收的数据为一个完整的数据帧。此外如果两个字符之间间隔大于1.5个字符且小于3.5个字符,则表明报文帧为不完整的数据帧,将之前的数据抛弃,如图2-15。起始>=3.5字符地址8位功能代码8位数据N*8位CRC校验16位结束>=3.5字符ModBus报文

预置长度,功能码,分配数,字节


3.2.1 常量类型定义设计核心层定义的常量类型包括11个功能码、12种异常码、基本结构长度信息和超时相关的定义。如图3-6为11种功能码。图3-6 功能码定义协议栈中通过请求和相应帧的预置长度,提前分配数据帧头部空间,TCP协议:地址域(7字节)+功能码(1字节)+操作地址(2字节)+操作数量(2字节)= 预置长度(12字节)。RTU协议:地址域(1字节)+功能码(1字节)+操作地址(2字节)+操作数量(2字节)+校验域(2字节)= 预置长度(8字节) ,如图3-7定义了功能码基本结构长度。图3-7 基本结构长度定义

【参考文献】

相关期刊论文 前10条

1 韩松;李奎;王丽丽;陈思敏;;基于Modbus/TCP协议的远程控制网关[J];仪表技术与传感器;2014年10期

2 左卫;程永新;;Modbus协议原理及安全性分析[J];通信技术;2013年12期

3 汤春明;张荧;吴宇平;;无线物联网中CoAP协议的研究与实现[J];现代电子技术;2013年01期

4 石希;陈震;汪东升;闵二龙;;物联网汇聚安全网关关键技术研究[J];信息网络安全;2012年06期

5 刘举涛;陈华杰;金文;孟晨光;;基于Modbus通讯协议的远程测控设计[J];导弹与航天运载技术;2012年02期

6 朱永纯;;通信协议的选择与配置[J];科学之友;2011年18期

7 李向军;;物联网安全及解决措施[J];农业网络信息;2010年12期

8 刘振华;朱明富;;UDP/IP协议下Modbus协议的研究与实现[J];微计算机应用;2010年12期

9 彭道刚;张浩;李辉;周凯;;基于Modbus协议的ARM嵌入式监测平台设计与实现[J];电力自动化设备;2009年01期

10 任会峰;阳春华;程朋胜;;基于Modbus/TCP的嵌入式系统网络通信设计实现[J];计算机测量与控制;2007年09期

相关硕士学位论文 前8条

1 刘晓剑;基于Onenet的物联网监控系统[D];郑州大学;2016年

2 彭亮;面向移动设备的XMPP协议的研究与应用[D];中南大学;2014年

3 高晓婷;基于AMQP的信息发布与订阅[D];浙江工业大学;2013年

4 刘一泽;DeviceNet-Modbus现场总线协议模块开发[D];北方工业大学;2013年

5 俞野秋;基于Modbus和Modbus-TCP协议的远程监控技术研究[D];上海交通大学;2012年

6 陈鑫;基于GPRS的数据集中器设计[D];西安科技大学;2012年

7 李晶;基于Modbus TCP协议的远程监控系统应用设计[D];浙江工业大学;2012年

8 潘悦;Modbus协议研究及其实验系统的设计[D];哈尔滨工业大学;2007年



本文编号:2734206

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/wltx/2734206.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户d738a***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com