毕业设计类全套文件的下载平台

基于STM32的MODBUS协议分析仪

  • 文件大小:2575 (KB)
  • 文档格式:.docx

文档分类: 单片机

< / 44 >

还剩... 页未读,继续阅读

免费阅读已结束,点击付费阅读剩下 ...

阅读已结束,您可以下载文档离线阅读

关于本文

  • 本文标题:基于STM32的MODBUS协议分析仪.docx
  • 链接地址:https://wk.sbvv.cn/view/21243.html
  • 内容摘要:原创性声明本人郑重声明:所提交的学位论文是本人在导师指导下,独立进行研究取得的成果。除文中已经引用的内容外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得聊城大学或其他教育机构的学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均在文中以明确的方式表明。本人承担本声明的相应责任。学位论文作者签名:日期:指导教师签名:日期:目录前言11。绪论21。1概述21。2课题的意义31。2。1课题的研究和应用41。3研究内容和设计方法51。3。1研究方向和内容51。3。2设计的步骤61。3。3软硬件设计方案72。系统设计基础82。1通讯方案的选择82。2所用芯片的简单介绍92。2。1温湿度传感器92。2。2单片机92。2。3显示屏102。2。4与上位机的串行通讯及下载调试103。硬件电路设计113。1单片机模块113。2电源模块133。3OLED模块143。4程序调试下载模块143。5串口通信模块153。6温湿度模块164。软件设计174。1串口通信模块174。2数据帧处理模块185。系统调试215。1硬件调试215。1。1单片机电路板的调试215。2软件调试235。2。1调试平台235。2。2调试问题235。2。3调试结果246。总结与展望256。1结论256。2研究对象的未来发展期望26参考文献27致谢28附录29摘要随着社会的进步,互联网和通信技术的发展将传感器、嵌入式设备和智能控制系统紧密地联系在了一起,另一方面,工业现场协议也被广泛地应用。其中MODBUS协议被越来越广泛地接受和应用。它具有简单便携的远程监控操作,在工业现场中具备适用于多种通讯设备之间、多种传播介质之上的网络连接能力。而本论文将在STM32F103C8T6单片机平台上,通过载入了MODBUS协议的温湿度传感器,来实现温度湿度数据的采集,最终通过OLED显示屏显示出来当前环境下的温湿度。同时利用MODBUSRTU通信接口实现与上位机的通信,其中使用到组态王软件进行PC端模拟,将测量出的温湿度数据通过串口上传到PC端,进行数据的界面显示和曲线分析。关键词:MODBUS协议;485;STM32F103C8T6单片机;温湿度数据;通信AbstractInmoderocietyontheonehandthedevelopmentofInteetandcommunicationtechnologyhascloselylinkedseoembeddeddevicesandintelligentcontrolsystems。Ontheotherhandindustrialfieldprotocolsarealsowidelyused。AmongthemMODBUSprotocolismoreandmorewidelyacceptedandappliedbecauseofitssimpleandportableremotemonitoringcontroloperationandnetworkconnectioncapabilitythatisapplicabletoavarietyofcommunicationdevicesandoveravarietyoftramissionmediainindustrialfield。ThispaperwillbeontheSTM32F103C8T6microcontrollerplatformthroughtheloadoftheMODBUSprotocoltemperatureandhumidityseortoachievethetemperatureandhumiditydatacollectionandfinallythroughtheOLEDdisplayscreentodisplaythetemperatureandhumidityunderthecurrentenvironment。Atthesametimethemodbusrtucommunicationinterfaceisusedtorealizethecommunicationwiththeuppercomputer。AmongthemthekingviewsoftwareisusedforPCterminalsimulationandthemeasuredtemperatureandhumiditydataisuploadedtothePCterminalthroughtheserialportfordatainterfacedisplayandcurveanalysis。Keywords:MODBUSprotocol;485;STM32F103C8T6SCM;temperatureandhumiditydata;communication基于STM32的MODBUS协议分析仪的设计与实现前言现如今,在国家政策的大力支持下,电子信息技术和网络通信得到了极大的发展,集成硬件的开发和传感遥控的使用使得远程监控运用起来更加方便。渐渐地,很多工业协议也开始应用于各种工业设备中,在计算机、物联网等控制领域取得了突破性成果。但是,由于需要监控的设备及其相关的信息也越来越多,使得自动化监控和远程控制变得具有挑战性。目前工业远程控制系统有待完善,人们更多地希望能通过网络发送设备控制命令实现对现场环境及设备的参数远程监控,采集设备数据信息并进行实时处理。Modbus协议因为其协议结构简单、适应多种传播媒介的特点得到工业上的广泛推广。同时,单片机在工业自动化领域已经有较大的发展,STM32单片机功耗低、片上资源丰富、下载和移植方便、驱动代码简单、经济实用,是能更加便携的应用到协议分析仪上的不二之选,所以本课题研究是通过单片机与协议的结合实现对数据的分析与监控。1。绪论1。1概述本文的数据协议分析仪是基于MODBUS通讯协议,而且比较可靠,在整个传输通讯过程中就体现了它高效利用通讯设备、实时控制数据的特点,并且凭借它操作简单和开源免费的强大优势在工厂自动化的领域应用十分普遍。该协议是在1979年创建的,现在它可以称作上是全球排名第一的被广泛应用于工业的现场总线协议。MODBUS协议大多是被应用在各种电子控制器上起到操控不同设备之间通讯的作用。通过这个协议,控制器和控制器之间,控制器和其它外围设备之间都可以获得高效的通讯。这样,不同的工业生产商之间只需要调试控制一个由无数个操控器设备组建的网络,就可以使得数据进行跨空间的传输,还可以将数据进行集中分析和监控管理。[1]运用MODBUS协议进行网络间的通讯时,该协议内容中就定义了消息域和公共格式,还规定了接收端通过读取到的消息采取什么样相应的行为。通讯时,发送端通过协议发送给接收端其设备地址,接收端获取接收到的发送端地址,进而识别消息类型、读取消息内容、而后如果需要回复消息则再次通过MODBUS协议发送回反馈消息至发送端。由此也可以看出,在这个协议中,规定了主机请求访问其他从机设备的过程。比如,主机如何向从机发送请求,从机如何回应来自主机的请求,以及怎样侦测通讯过程中的错误并显示记录下来。[2]MODBUS具有以下几个特点:(1)MODBUS协议的使用无关乎知识产权纠纷问题,所以可以不用上交许可证费用,使用这种通信协议,相对来说放心安全又节约成本和时间。(2)和MODBUS相关联的PC端接口及线路可以采用232或者是485,此外,MODBUS协议还几乎支持在各种介质上进行高速的信号传输,例如双绞线、光纤、WIFI等。(3)生产商在开发该协议时的过程十分简单,所以该协议使用的帧格式也简单易懂。随着MODBUS现场总线系统被大量使用,该协议也被发展的越来越完善。MODBUS主要是被应用于各生产电子厂,通过这个通讯协议将不同生产商的设备连接起来构成大型网络,然后通过后台操作,对收集到的产品数据进行整合、分析,而且也可以对数据实行监控网络化。协议分析仪就是被使用到这里的一种数据流,在监视数据通信系统中,它是一种专用测试工具,能够用来检验数据交换是否正确地按照此协议的规定进行,现在是主要被用在通信协议的开发、评价以及分析中。便携式MODBUS协议分析仪能帮助工程技术人员进行MODBUS现场总线系统的安装和配置,在实现数据的监测分析和网络故障诊断上具有很大的实际应用价值。[3]经过了41年的发展,MODBUS协议已经成为了一种通用工业标准并于2004年正式作为国家标准,现在正一直为中国工业通信做出巨大的贡献。1。2课题的意义一方面,在现代社会的工业生产中,因为被控制对象以及检测控制装备等设备位置的分散,再加上控制和监控等一些工作的要求,设备和设备之间的现场信息交互和传递也越来越多。由于传统的工业控制软件存在着不开放、每个部分联系紧密、系统复杂程度高等问题,使得系统在进行维护、扩展和更新的时候变得较为困难,系统任何一部分的修改都可能对其他部分产生很大的影响,再次修改可能需要大幅度地调整软件和硬件。如果调整软件,就是重复编写代码,但是软件不能重复的利用和修改,即使是使用了高级语言的函数库,也只能对源代码进行重复使用,不可能对可执行的工程文件进行重复使用。如果修改电路硬件,也容易造成人力和物力的浪费。无论是在家庭生活中还是现代工业生产中,温湿度的监测在各个领域都有着极其重要的作用,所以就需要创造这样一种监控系统,本课题就是采用计算机科学技术和工业现场总线技术集成了一个温湿度监测系统。在这样的系统里面,温度和湿度的变化情况是上位机通过智能节点来监测的,上位机会把监测到的温度和湿度数据传输到对应的智能节点,然后利用界面显示温度和湿度。在工厂里面,可以通过增加驱动设备来监测环境中的温度和湿度的数据,然后根据需求,对环境中的温度和湿度进行调控。另一方面,现在工业现场控制领域广泛的运用现场总线控制技术和网状网络监控技术,而MODBUS协议分析仪就是这样一个可以应用在工业领域内的数据分析仪。协议分析仪实质上就是一种专用的测试在数据通信的过程中数据流的流量和使用、检验数据的交换过程是否按照MODBUS协议规定执行的工具。便捷的MODBUS分析仪在通信的开发和检测过程中起到了重要的作用。为广大工业工程技术监管人员的现场总线分析、数据交换通信、进行网络互连故障诊断提供很大的实际应用价值。[4]因此,如果不同的生产设备之间相互连接构成一个大的网络结构,更能实现集中的控制管理。因此,可以在组网连接时,将工业现场设备连接到中枢总控制系统或者总的计算机操作系统、PLC系统,将传统的采用双绞线或者电缆直接连接控制换成更高效便捷的MODBUS网络方式。通过这样来实现工业生产设备中的数据采集和信息传输,也方便控制系统进行统一的数据调度、保存、管理,还能实时地监控设备生产状况。[5]所以本课题设计基于MODBUS协议的对温湿度数据分析的仪器,能远程监控室内温湿度的变化,这不但解决了人们的日常焦点关注问题,也在一定程度上满足了工业生产线上的需要。1。2。1课题的研究和应用(1)协议的研究和问题首先,MODBUS协议是由Modicon公司在1971年首次提出的,此后就又发展产生了MODBUSRTU和MODBUSASCII。后来,Modicon公司被施耐德公司收购。为了更好地在以太网上的分布式普及和推动MODBUS使用,随后,施耐德公司建立了MODBUSIDA组织,将MODBUS协议的所有权分离出去。[6]现在MODBUS协议的所有使用权已经全部移交给了IDA组织进行系统化的管理,但是这种工控网协议仍然有很多的安全性问题,在诸多安全防护机制方面有很多不足,如认证、授权缺失,功能码滥用,加密有风险等。MODBUS协议系统在涉及安全时出现的功能实现问题很少被充分考虑,这造成了缓冲区溢出,再加上TCPIP协议的自身存在安全问题,容易受到非法网络数据获取,病毒木马,IP欺骗等攻击。(2)协议分析仪的研究和应用MODBUS分析仪现在已经有很成熟的研究,比如:英国比克科技公司推出的Picoscope示波器能够针对MODBUS(232485)信号进行解码和分析。在2017年7月,该公司又发布了针对MODBUSASCII和MODBUSRTU的解码软件,这进一步增强了Picoscope的分析能力。这样使工业总线上的调试更加理想化,使协议分析仪能更普遍的应用在程序自动化、工业自动化、智能家居、移动通讯等方面。[7]随着MODBUS和单片机技术的大量使用,MODBUS协议分析仪被广泛应用到三大市场能源与基础设施、工业以及建筑行业中。并且,能源与基础设施市场、机场、隧道、数字通讯、电信、水处理、油气、能源等行业也大大得益于单片机的远程控制能力。现如今在建筑市场,医疗机构、公用建筑、民用住宅、船舶等行业中,使用他们原有的单片机网络,极大程度上降低了实施的费用。另外,工业市场,食品与饮料、微电子、制药、汽车等行业则高度的受益于单片机,已经从IT系统贯通到车间层单片机的统一全局网络架构中。(3)温湿度监控的应用现状对于温湿度的监控,现如今主要被应用于农业生产监控并分析农作物的生长环境因素,在食品行业掌握温湿度变换便于保存食物,避免食物降低口感和品质;在文物资料馆中合理控制温度便于保存纸质文档资料和书籍;在建筑材料方面,如混凝土的干燥过程是评价产品指标的重要因素;在道路的维护中,空气流通湿度是造成管道发霉破坏的重要因素。[8]1。3研究内容和设计方法1。3。1研究方向和内容在自动化控制系统中,完成信息的下达、数据的上传和组态的开发是最重要的三个步骤。因此设定研究方向如下:(1)首先需要研究MODBUS协议MODBUS协议通讯时由两个模块组成,主机和从机。两个从站之间是不能相互通信,总线上只允许有一个主机,并且MODBUS协议对事务进行处理时,在同一个时间段内,主站只能同时处理一个事务。通讯就是首先由该主机发出信息,传输到从机,可允许的从机有多个,实际生产应用中,从机最多可达到247个。MODBUS协议采用主从方式传输数据,当断开连接时,能检测出现网络故障并开始自动修复故障,当网络再次连通后,通讯就可以恢复,重新发起请求。从站若未收到主站发出的请求,就不会作出应答响应,结果就是通讯失败,不能收到主站发送的数据。所以,主站和从站之间没有成功通信。另外,当发送一些重复数据时,主站不需要发送请求,直接由从站开始发送数据,这样不但降低了数据流量,还提高了数据传输能力。所以,MODBUS协议的可靠性和数据传输能力都是较好的。MODBUS协议支持的通讯方式有两种串行模式:RTU和ASCII。在ASCII模式下,一个字节只能传输两个字符,校验数据的方式采用的LRC校验;在RTU模式下,报文包含有八个字节,其中传输的是两个四位的十六进制字符,采用的是十六位的CRC校验。综合上述特点,采用RTU模式,能有较高的传输效率和较简单精准的数据校验。(2)研究温湿度传感器的工作原理和在整个电路中起到的作用温湿度传感器工作原理就是将采集到的物理信号转换为数字信号,通过串口服务器输入到电脑端,方式是通过485总线传给上位机;并且能够以以太网的形式,将收集到的数据在OLED上显示出来。(3)研究好单片机的最小系统电路构造,进行硬件电路的相关设计(4)研究好OLED显示设置(5)研究好通过串口进行上下位机间的通讯(6)研究好组态王的程序编写组态王是一种被广泛应用于工业自动化控制中的一款监控系统开发软件,不过由于组态王运行速度快而且稳定,十分方便、经济适用、开发周期短的特点而主要适用于低端的自动化操作系统中。本项目研究过程中使用的监控模拟就比较简单,因此使用组态王模拟合适,故用组态王来模拟PC端进行温湿度数据的监控。在设计监控界面时,需要考虑三方面问题:友好的画面感、数据显示直观、动画链接丰富。组态软件就为开发者提供了方便的可视化监控界面,是通过利用Windows的图形编辑功能,进行实时趋势曲线分析。组态王中有丰富的、方便操作的配置界面,提供了很多图库精灵,方便进行运行系统的开机界面、数据显示界面的设计。使用组态王的基本方法:(1)进行图形界面设计(2)创建数据库(3)建立动画链接(4)建立串口链接(5)链接程序,运行和调试系统监控和画面1。3。2设计的步骤(1)查找资料,理解MODBUS通讯协议。(2)了解所选用的STM32F103C8T6单片机的最小系统结构及各管脚,参照单片机使用手册和模拟电路的基础原理,进行硬件单片机外围电路的的初步设计。设计好滤波电路、复位电路、时钟电路和下载调试电路。(3)运用微处理器理论原理和编程语言C语言,完成MODBUS协议通讯采集的温湿度传感器的程序的编写。(4)理解485通信电路,使用该通信电路实现单片机向PC端的通信。(5)确定该分析仪可以基于检测数据为温湿度的传感器,购买元器件并焊接,制作分析仪。(6)按照开题报告中设计的各模块功能,连接起来各模块,利用AltiumDesigner软件画出完整的电子原理图。(7)编写组态程序和协议相关程序。(8)利用组态王模拟电脑端,设计好组态王开机画面及分析数据分析显示界面,配置好组态王相关硬件。(9)将PC和硬件电路连接,将代码下载到开发板上,在Keil5中进行软件调试。1。3。3软硬件设计方案本次课题是基于STM32F103C8T6单片机和MODBUS协议的温湿度数据测量分析仪的设计,主要研究的方法步骤如下:(1)对整个MODBUS通讯协议的传输方式、通讯条件和要求、协议的应用范围和实例等进行大概的了解,确定好所要采集的数据,可以为温湿度,则所需要硬件就应该借助温湿度传感器。明确课题的定位,所要解决的问题是基于MODBUS通信协议,实现室内温湿度的测量,一方面借助温湿度传感器并使用OLED显示所采集到的数据,另一方面使用组态王模拟PC端,实现对所采集的数据通过485通信电路上传到PC端的功能。(2)对单片机程序编程的理论和MODBUS通信协议以及涉及到的相关知识界面设计和电路通讯系统的学习。使用的MODBUSRTU协议通讯,编程时,相关配置有:查询回应周期,传输方式配置,地址域和功能域、数据域、错误校验方法、寄存器收发数据、相应数据帧格式。(3)选择单片机的型号为STM32F103C8T6,通过对keil5编译软件相关建立工程的过程的熟悉,结合对基础电路、模拟电路、单片机、编程软件、串口调试软件等的理论学习和对开发板的使用了解,以及参考大量文献后总结到的经验,初步设计到方案如下:选用单片机STM32F103C8T6作为主机,0。96寸OLED显示屏做温湿度采集显示界面,通过USB串口上传到PC,设计从机端显示界面,有数值和曲线显示,显示实现协议分析的功能。(4)搭建硬件调试环境,将选定的单片机STM32F103C8T6对应的最小系统以及电源电路、稳压电路、传感器电路在洞洞板上等焊接起来,并使用软件作出实际的电路图。(5)将编码下载到开发板上,进行软件调试,测试温湿度传感器显示屏测量值与电脑端数据传输显示分析图是否正常工作,确保软硬件完美结合。2。系统设计基础2。1通讯方案的选择使用STM32F103C8T6模块作为MCU,温湿度传感器通过MODBUS协议采集环境中的温湿度,OLED显示屏显示当前状态下的环境温湿度,同时温湿度传感器也利用MODBUS协议进行数据的初步采集到的数据的显示,通过485通讯线路与上位机相连,电脑端作为主站向单片机作为的从站发送请求,从站接收后然后将数据返回给主机。PC通过串口助手读取串口,配置组态王模拟软件。其中利用组态王仿真PC上位机端的运用,主机就可以操控监控界面,通过显示屏实时查看更新的数据,进行温湿度数据的监控分析;最终完成MODBUS分析仪的显示和简单曲线分析功能。一方面,该方案的编码过程简单,只要是开发单片机模块,使其与电脑上位机进行通讯,编写温湿度数据采集的基于MODBUS通讯协议的通讯代码即可。另一方面,方案线路连接简单。故采用本方案。系统的通信结构图如图2。1所示:图2。1系统的通讯结构图2。2所用芯片的简单介绍2。2。1温湿度传感器SD123T10温湿度传感器是一种将温度和湿度集成起来的高精度的温湿度传感器。它使用的是MO内核单片机,而且还是低功耗的,可以采集温度、湿度的数据信息,相对于传统模式温度和湿度传感器比较稳定、误差小、不易受干扰。[8]输出给单片机的信号为数字信号,可以方便和其它的主机或者是从机来进行联网,温度和湿度数值可以通过485通讯传输出来,具有数据准确、使用稳定、使用寿命长等特点。其技术参数指标如表2。1所示:表2。1技术参数指标参数指标供电电压6~28V直流功率0。1W湿度测量精度2%温度测量精度0。2°C湿度测量范围0~100%温度测量范围40~125°C长期稳定性湿度:1%y温度:0。1°Cy响应时间8S通讯方式485ModbusRTU设备地址默认1通讯波特率默认96002。2。2单片机本系统选择的单片机是一个增强型的中等容量的单片机STM32F103C8T6,它是一个32位的微型单片机,是基于ARMCortexM内核STM32系列的单片机。在设计方面,其具有以下几个重要的符合设计条件的特点:(1)该单片机工作的最高频率是72MHZ,内部有闪速存储器,FLASH型程序存储器。有许多的增强型IO端口以及外设和外部连接的总线。(2)单片机里面有1个12bit的ADC、2个比较器、2个16bit通用定时器、2个32bit通用定时器、2个16bit基本定时器、2个16bit高级定时器。它的通信接口是标准的有1个USB接口、1个CAN接口、、2个IIC接口、3个SPI接口以及8个UART接口。[。。。
  • 版权声明:知知范文网 本站所有内容的版权归相应内容作者或权利人所有,本站不对涉及的版权问题负法律责任。
  • 内容来源:本站所有内容均有网络公开等合法途径整理而来,该资料仅作为交流学习使用,并无任何商业目的,任何访问,浏览本站,购买或者未购买的人,就代表已阅读,理解本条声明
  • 免责声明:内容所标价格,是对本站搜集、整理资料以及本站运营必须费用支付的适当补偿,资料索取者尊重版权方的知识产权,谢谢!

关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@长治毕知网络科技有限公司
ICP备案号:晋ICP备2022002585号