《毕业设计:The design of MODBUS communicator based on MCU》由会员分享,可在线阅读,更多相关《毕业设计:The design of MODBUS communicator based on MCU(64页珍藏版)》请在金锄头文库上搜索。
1、The design of MODBUS communicator based on MCUAbstract : With the fieldbus using in the industrial application widely and popularly, modbus is more welcomed as one of its simple agreement. According to the RTU schema of modbus in modbus agreement, the paper mainly achieves the function of reading re
2、gister, writing single register and multiple registers etc. The slave of system uses the STC12C5A60S2 as the basic platform and RS232 to realize the communication with the Host computer. The system will use the register of internal ram in mcu to simulate the register in agreement , and according to
3、the value of register it can adjust the mcu output of PWM, change the brightness of LED, and acquire the real time temperature. The Host computer of system uses STM32F103RBT6 as platform, by the 4.3 inches touching screen, it will realize the function of querying slave ,setting parameter of the slav
4、e, displaying the communication status of slave and the value of register and temperature measured. Besides, the system also has preservation of power down and temperature alarm functions.Keywords: Modbus、LED、Register、RS232、STC12C5A60S2、Temperature Alarm、STM32F103基于单片机的MODBUS通讯器的设计摘 要:随着现场总线在工业应用中的越
5、来越广泛,越来越普及,Modbus作为其中的一种简单协议也受到不少的欢迎。本论文根据Modbus协议中RTU模式实现读寄存器、写单个寄存器、写多个寄存器等多个功能。本系统从机以STC12C5A60S2为基本平台,利用RS232串口实现与上位机通讯,用单片机的内部RAM寄存器模拟协议中的寄存器,根据寄存器的值调节单片机PWM输出,改变LED灯的亮度,单片机读取实时温度。本系统上位机以STM32F103RBT6为平台,通过4.3寸TFT触摸屏实现查询从机、设置从机参数等功能,实时显示从机的通讯状态、寄存器的值、温度测量值。另外本系统还具有掉电保存、温度报警功能。关键词: Modbus、LED、寄存
6、器、RS232、STC12C5A60S2、温度报警、STM32F103目 录摘 要IABSTRACTII第1章 绪 论11.1 概述11.2 目的与意义21.3 发展现状和前景展望31.4 研究的主要内容和步骤41.4.1 主要内容41.4.2 设计的步骤4第2章 系统设计方案62.1设计方案选择62.2 芯片选择62.3 软件方案设计7第3章 硬件电路设计83.1 主机CPU模块83.2 电源模块93.3 液晶显示模块103.4 存储模块113.5 程序调试下载模块123.6 串口通讯模块133.7 从机主控模块143.8 LED灯显示模块153.9 温度检测模块15第4章 软件设计174.
7、1串口通信模块174.2数据帧处理模块174.3参数保存模块194.4液晶显示模块20第5章 系统调试235.1硬件调试235.1.1 主机电路板调试235.1.2 从机电路板调试245.2软件件调试245.2.1调试平台245.2.2调试问题255.3调试结果26参考文献28致 谢29附录1 主机硬件原理图30附录2 从机硬件原理图3161附录3 主机PCB实物图32附录4 从机PCB实物图33附录5 主机通讯程序代码34附录6 从机通讯程序代码38第1章 绪 论1.1 概述Modbus是由Modicon在1979年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动Modbu
8、s在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间通讯。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通讯的。它描述了控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在Modbus网络上通信时
9、,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。Modbus具有以下几个特点:1、标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。2、Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。3、Modbus的帧格式简单、紧凑、通俗易懂。用户使用容易,厂商开发简单。在大多数工厂里,现场仪表采用单独的控制室直连对绞线电
10、缆连接到控制系统。当仪表设备被连接到一种分散式I/O系统的时候,可以增加更多的现场设备,但是仅仅需要一根对绞线电缆就可以把所有数据传送到MODBUS主站。以MODBUS网络的方式组网连接的时候,把现场设备连接到一个过程控制系统、PLC或是工业计算机系统,整个工厂的连接都能够从对绞线电缆控制室直连的方式转变成为MODBUS连接方式。到目前为止,我们仅仅涉及到了简单的MODBUS数据采集系统。还有一种方案也是可能的,那就是把控制设备安装在现场,然后通过MODBUS使其与中央控制系统进行通讯。它也可以被编程用来执行控制功能,例如PID控制、ON/OFF控制、现场报警、诊断以及报警监视等。另一种“智能
11、化”并且具有控制能力的MODBUS设备是来自于Moore Industries公司的MDS方程站。这是一种多功能控制器,它能够执行很多种类型的控制功能和运算。有了MDS方程站,在实现简单控制任务、多变量控制任务(例如监视和控制一个蒸煮器里的纸浆液位或者使用来自多个流量、温度和压力变送器的输入信号实现质量流量计算)时就不再需要PLC或者大型控制器了。最多可以有127个MDS模件被安装在一个MODBUS网络上面来实现对工厂的控制或是采集整个工厂的信号。PID(比例、积分和微分)控制器最初都是单机独立运行的无通讯控制器。由于PLC和DCS都已经智能化,因此现在PID控制器也智能化了。今天,许多终端用
12、户依然青睐那些直接读出和编程简单的单回路控制器。诸如MODBUS等数字化通讯协议能够给这些一直单机运行的仪表注入一些新的活力。通过对这些控制器进行多分支网络连接,可以创造一个自己的小型分散控制系统。现代的控制领域持续不断的产生和应用诸如现场总线和网状网络等先进概念,MODBUS的简单性以及它的便于在许多通讯媒介上实施应用的特点一直使它受到最广泛的支持,并且成为全球应用最广泛的工业协议。当使用现有老式控制系统的用户发现自己需要扩充现场仪表或者增加远程控制器的时候,他们都会采用MODBUS作为一个能够解决复杂问题的简单解决方案。用户试图把一个外来设备连接到控制系统里面,使用这个设备的MODBUS接
13、口被证明是最为容易的办法。虽然MODBUS已经是最为古老的通讯方法之一,由于非常多的原因它也是最普及的通讯方法。MODBUS便于使用、非常可靠、价格低廉并且可以连接到控制工业领域几乎所有的传感器和控制设备。MODBUS广泛的应用于程序自动化、工业自动化、智能建筑、 输配电通讯协议、智能电表、车用通讯。1.2 目的与意义在现代化工业控制中, 由于被控对象、测控装置等物理设备的地域分散性, 以及控制与监控等任务对实时性的要求, 不同设备之间现场交互性信息的传递越来越多。但传统的工业控制系统软件存在着一些问题。不具备开放性,各个部分的联系过于紧密,使系统过于复杂。这样使系统的更新、扩展和升级变得非常
14、困难,对系统任何一部分的修改都有可能对其它部分造成影响,从而导致大量且烦琐的软件和硬件的修改。传统的工业控制软件开发中出现的另一个主要问题是软件的重复开发,软件不能够复用,资源不能共享,造成大量的人力与物力资源的浪费。虽然使用高级语言函数库让我们可以利用面向对象的继承等方法大量重用源代码,但这些复用只是对源代码级的复用而不是对可执行文件级的复用。由于传统工业控制系统的带来的不便,造成形成了大量的“信息孤岛”,但是,对于工业控制而言,各站点之间不是孤立的,它们必须互相配合、协调才能保证产品质量和实现连续生产,这就需要各站点能互通讯息。另外,上级管理网也需要与子站交互数据,以实现全局的监控和优化。
15、然而,子站是采用不同开发平台、不同通讯协议组成的结构系统,可能由不同的厂家和个体开发。要为每种协议写一个转换接口或驱动是比较繁琐的,特别是在站点和协议较多的时候。因此,怎样有效集成数据,避免信息孤岛的出现,是工业控制领域中常遇到难点问题之一。比较好的方法是各站点都采用标准协议进行数据通讯,而不必为每一种协议开发一个通讯接口。目前这方面的协议比较多,MODBUS 就是其中的一种。MODBUS是一种全开放, 免费提供,非常容易理解和实施的协议, 从70 年代诞生以来,在制造业、电力、水电、冶金、矿山、交通、基础设施的工业领域中的数据采集和过程控制得到了广泛应用, 形成了一种事实上的工业标准。同时, 随着单片机技术的迅速发展, 单片机技术已逐步进入工业自动化领域, 单片机以体积小、质量轻、价格便宜、应用方便等优势。它允许MODBUS协议与单片机232接口结合, 在单片机串口中嵌入MODBUS信息帧, 成为MODBUS/RTU或MODBUS/ASCII, 在工业自动化领域中, 具有很高的性能价格比, 是一种真正开放的理想解决方案。1.3 发展现状和前景展望目前在全球范围内已经安装了MODBUS串行设备,基于MODBUS和单片机技术的“透明就绪”的广泛应用可以被归类到三大市