1、 毕 业 设 计题 目: 基于单片机的 MODBUS 通讯器设计 学院: 电气信息学院 专业: 电子信息工程 班级: 0902 学号: 38 学生姓名: 导师姓名: 完成日期: 2013 年 05 月 31 日 诚 信 声 明本人声明:1、本人所呈交的毕业设计是在老师指导下进行的研究工作及取得的研究成果;2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;3、我承诺,本人提交的毕业设计中的所有内容均真实、可信。作者签名: 日期: 年 月 日毕业设计(论文)任务书题目: 基于单片机的 MODBUS
2、 通讯器设计 姓名 系 电气信息学院 专业 电子信息工程 班级 0902 学号 200901030238 指导老师 职称 讲师 教研室主任 刘望军 一、 基本任务及要求:1、查找资料,熟悉单片机的基本结构及功能,熟悉利用 52 单片机进行通讯 器的硬件设计。2、掌握 C51 语言,并完成 MODBUS 通讯程序的编写3、利用 Altium designer 软件画原理图及 PCB。4、购买元器件并焊接,制作通讯器。5、通信器软硬件调试。二、 进度安排及完成时间:(1)第一周至第三周:查阅资料、撰写文献综述和开题报告 ; (2)第四周至第五周:利用 Altium designer 软件画原理图及
3、 PCB; (3)第六周至第十一周;编写代码并完成调试工作; (4)第十二周至第十三周:撰写设计说明书; (5)第十四周:毕业设计答辩; 目 录摘 要 .IABSTRACT.II第 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 章 硬件电路设计 .93.1 主机 CPU 模块 .93.2 电源模块 .103.3 液晶显示模块 .103.4 存储模块
4、.123.5 程序调试下载模块 .123.6 串口通讯模块 .133.7 从机主控模块 .143.8 LED 灯显示模块 .153.9 温度检测模块 .15第 4 章 软件设计 .174.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 从机
5、硬件原理图 .31附录 3 主机 PCB 实物图 .32附录 4 从机 PCB 实物图 .33附录 5 主机通讯程序代码 .34附录 6 从机通讯程序代码 .38基于单片机的 MODBUS 通讯器的设计摘 要:随着现场总线在工业应用中的越来越广泛,越来越普及,Modbus 作为其中的一种简单协议也受到不少的欢迎。本论文根据 Modbus 协议中 RTU 模式实现读寄存器、写单个寄存器、写多个寄存器等多个功能。本系统从机以STC12C5A60S2 为基本平台,利用 RS232 串口实现与上位机通讯,用单片机的内部 RAM 寄存器模拟协议中的寄存器,根据寄存器的值调节单片机 PWM 输出,改变 L
6、ED 灯的亮度,单片机读取实时温度。本系统上位机以 STM32F103RBT6 为平台,通过 4.3 寸 TFT 触摸屏实现查询从机、设置从机参数等功能,实时显示从机的通讯状态、寄存器的值、温度测量值。另外本系统还具有掉电保存、温度报警功能。关键词: Modbus、LED、寄存器、RS232、STC12C5A60S2、温度报警、STM32F103The design of MODBUS communicator based on MCUAbstract : With the fieldbus using in the industrial application widely and popu
7、larly, 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 register, writing single register and multiple registers etc. The slave of system uses the STC12C5A60S2 as the basic platform an
8、d 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 the value of register it can adjust the mcu output of PWM, change the brightness of LED, and acquire the real time temperature
9、. 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 slave, displaying the communication status of slave and the value of register and temperature measured. Besides, the system also h
10、as preservation of power down and temperature alarm functions.Keywords: Modbus、LED、Register、RS232 、STC12C5A60S2、Temperature Alarm、STM32F103基于单片机的 MODBUS 通讯器设计0第 1 章 绪 论1.1 概述Modbus 是由 Modicon 在 1979 年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动 Modbus 在基于以太网上的分布式应用,目前施耐德公司已将 Modbus 协议 的所有权移交给 IDA 组织,并成立了 Modbu
11、s-IDA 组织,为 Modbus 今后的发展奠定了基础。Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间通讯。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通讯的。它描述了控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在 Modbus 网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要
12、回应,控制器将生成反馈信息并用 Modbus 协议发出。Modbus 具有以下几个特点:1、标准、开放,用户可以免费、放心地使用 Modbus 协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持 Modbus 的厂家超过 400 家,支持 Modbus 的产品超过 600 种。2、Modbus 可以支持多种电气接口,如 RS-232、RS-485 等,还可以在各种介质上传送,如双绞线、光纤、无线等。3、Modbus 的帧格式简单、紧凑、通俗易懂。用户使用容易,厂商开发简单。在大多数工厂里,现场仪表采用单独的控制室直连对绞线电缆连接到控制系统。当仪表设备被连接到一种分散式 I/O 系统的时
13、候,可以增加更多的现场设备,但是仅仅需要一根对绞线电缆就可以把所有数据传送到 MODBUS 主站。以 MODBUS 网络的方式组网连接的时候,把现场设备连接到一个过程控制系统、PLC 或是工业计算机系统,整个工厂的连接都能够从对绞线电缆控制室直连的方式转变成为 MODBUS 连接方式。到目前为止,我们仅仅涉及到了简单的 MODBUS 数据采集系统。还有一种方案也基于单片机的 MODBUS 通讯器设计1是可能的,那就是把控制设备安装在现场,然后通过 MODBUS 使其与中央控制系统进行通讯。它也可以被编程用来执行控制功能,例如 PID 控制、ON/OFF 控制、现场报警、诊断以及报警监视等。另一
14、种“智能化 ”并且具有控制能力的 MODBUS 设备是来自于 Moore Industries 公司的 MDS 方程站。这是一种多功能控制器,它能够执行很多种类型的控制功能和运算。有了 MDS 方程站,在实现简单控制任务、多变量控制任务(例如监视和控制一个蒸煮器里的纸浆液位或者使用来自多个流量、温度和压力变送器的输入信号实现质量流量计算)时就不再需要 PLC 或者大型控制器了。最多可以有 127 个 MDS 模件被安装在一个 MODBUS 网络上面来实现对工厂的控制或是采集整个工厂的信号。PID(比例、积分和微分)控制器最初都是单机独立运行的无通讯控制器。由于PLC 和 DCS 都已经智能化,
15、因此现在 PID 控制器也智能化了。今天,许多终端用户依然青睐那些直接读出和编程简单的单回路控制器。诸如 MODBUS 等数字化通讯协议能够给这些一直单机运行的仪表注入一些新的活力。通过对这些控制器进行多分支网络连接,可以创造一个自己的小型分散控制系统。现代的控制领域持续不断的产生和应用诸如现场总线和网状网络等先进概念,MODBUS 的简单性以及它的便于在许多通讯媒介上实施应用的特点一直使它受到最广泛的支持,并且成为全球应用最广泛的工业协议。当使用现有老式控制系统的用户发现自己需要扩充现场仪表或者增加远程控制器的时候,他们都会采用 MODBUS 作为一个能够解决复杂问题的简单解决方案。用户试图
16、把一个外来设备连接到控制系统里面,使用这个设备的 MODBUS 接口被证明是最为容易的办法。虽然 MODBUS 已经是最为古老的通讯方法之一,由于非常多的原因它也是最普及的通讯方法。MODBUS 便于使用、非常可靠、价格低廉并且可以连接到控制工业领域几乎所有的传感器和控制设备。MODBUS 广 泛 的 应 用 于 程 序 自 动 化 、 工 业 自 动 化 、 智 能 建 筑 、 输 配 电 通 讯协 议 、 智 能 电 表 、 车 用 通 讯 。1.2 目的与意义在现代化工业控制中, 由于被控对象、测控装置等物理设备的地域分散性, 以及控制与监控等任务对实时性的要求, 不同设备之间现场交互性
17、信息的传递越来越多。但传统的工业控制系统软件存在着一些问题。不具备开放性,各个部分的联系过于紧密,基于单片机的 MODBUS 通讯器设计2使系统过于复杂。这样使系统的更新、扩展和升级变得非常困难,对系统任何一部分的修改都有可能对其它部分造成影响,从而导致大量且烦琐的软件和硬件的修改。传统的工业控制软件开发中出现的另一个主要问题是软件的重复开发,软件不能够复用,资源不能共享,造成大量的人力与物力资源的浪费。虽然使用高级语言函数库让我们可以利用面向对象的继承等方法大量重用源代码,但这些复用只是对源代码级的复用而不是对可执行文件级的复用。由于传统工业控制系统的带来的不便,造成形成了大量的“信息孤岛”
18、 ,但是,对于工业控制而言,各站点之间不是孤立的,它们必须互相配合、协调才能保证产品质量和实现连续生产,这就需要各站点能互通讯息。另外,上级管理网也需要与子站交互数据,以实现全局的监控和优化。然而,子站是采用不同开发平台、不同通讯协议组成的结构系统,可能由不同的厂家和个体开发。要为每种协议写一个转换接口或驱动是比较繁琐的,特别是在站点和协议较多的时候。因此,怎样有效集成数据,避免信息孤岛的出现,是工业控制领域中常遇到难点问题之一。比较好的方法是各站点都采用标准协议进行数据通讯,而不必为每一种协议开发一个通讯接口。目前这方面的协议比较多,MODBUS 就是其中的一种。MODBUS 是一种全开放,
19、 免费提供,非常容易理解和实施的协议 , 从 70 年代诞生以来,在制造业、电力、水电、冶金、矿山、交通、基础设施的工业领域中的数据采集和过程控制得到了广泛应用, 形成了一种事实上的工业标准。同时, 随着单片机技术的迅速发展, 单片机技术已逐步进入工业自动化领域, 单片机以体积小、质量轻、价格便宜、应用方便等优势。它允许 MODBUS 协议与单片机 232 接口结合 , 在单片机串口中嵌入 MODBUS信息帧, 成为 MODBUS/RTU 或 MODBUS/ASCII, 在工业自动化领域中, 具有很高的性能价格比, 是一种真正开放的理想解决方案。1.3 发展现状和前景展望目前在全球范围内已经安装了 MODBUS 串行设备,基于 MODBUS 和单片机技术的“透明就绪 ”的广泛应用可以被归类到三大市场:能源与基础设施,工业,以及建筑行业。 在能源与基础设施市场,机场、隧道、数字通讯、电信、水处理、油气、能源等行业大大得益于“ 透明就绪 ”的远程控制能力 。