通信电源故障手机报软件设计毕业论文
2020-02-25 22:45:24
摘 要
二十世纪下半叶,第三次工业革命拉开了帷幕。在此期间,计算机技术飞速发展,由此极大地促进的工业自动化技术,各种总线技术相继诞生,例如Modbus、CAN、Profibus等等。其中Modbus作为第一个应用于工业现场的总线协议,已被广泛应用到各大生产工业中。通过Modbus通信协议,工厂内各大设备之间能够实现互相通信,从而实现自动化管理。
本文通过主机与从机之间的通讯模拟控制台对工厂设备的监控。单片机选用AT89S51,硬件检测选用A/D模数转换器(用于检测电流电压);总线协议选用Modbus;单片机与手机间通信选用GSM模块;报警系统选用发光二极管闪烁。
本文主要分析通信电源故障手机报错的软件设计,主要采用单片机程序常用编译软件Keil进行软件编译。
关键词:MODBUS;GSM;Keil;单片机
Abstract
The third industrial revolution began in the second half of the 20th century.During this period, the rapid development of computer technology has greatly promoted the industrial automation technology, and various bus technologies have been born successively, such as Modbus, CAN, Profibus and so on.Modbus, as the first bus protocol applied in industrial field, has been widely used in various manufacturing industries.Through Modbus communication protocol, the major equipment in the factory can communicate with each other, thus realizing automatic management.
This paper uses the communication simulation console between the host and slave single-chip microcomputer to monitor the factory equipment.The single-chip microcomputer is AT89S51, and A/D converter (for detecting current voltage) are selected for hardware detection.Modbus protocol is selected.GSM module which is used for communication between single-chip microcomputer and mobile phone.The alarm system is led flashing.
This paper mainly analyzes the software design of the communication power failure mobile phone error reporting.
Key words :MODBUS;GSM;Keil;single-chip microcomputer
目 录
第1章 绪论 1
1.1 选题的意义及目的 1
1.2 工业控制现场总线 1
1.3 国内外工业控制现场总线的发展概况 2
1.4 本论文的主要内容 3
第2章 MODBUS通信协议研究 4
2.1 开放式系统互连(OSI)模型 4
2.2 MODBUS简介 4
2.3 MODBUS协议规范 5
2.3.1 MODBUS数据模型 5
2.3.2 MODBUS事务处理 5
2.3.3 MODBUS功能码 6
2.3.4 MODBUS异常响应 7
2.4 MODBUS报文传输在串行链路上的实现指南 7
2.4.1 MODBUS串行链路协议介绍 7
2.4.2 MODBUS地址规则 7
2.4.3 MODBUS串行传输模式 8
2.4.4 MODBUS数据帧 9
2.4.5 差错检验方式 10
2.5 本章小结 11
第3章 系统方案硬件选型 12
3.1 风光柴储通信电源 12
3.2 监测模块 12
3.3 主从机之间的通信模块 13
3.4 主机与手机之间的通信模块 14
3.5 报警模块 15
3.6 本章小结 15
第4章 系统软件设计 16
4.1 主机的软件程序设计 16
4.2 从机的软件程序设计 17
4.3 串口初始化和中断程序 18
4.4 数据发送程序 19
4.5 CRC算法程序和检查uart0数据程序设计 20
4.6 Modbus功能码程序 22
4.7 GMS模块程序 25
4.8 本章小结 26
第5章 总结和展望 27
5.1 总结 27
5.2 展望 27
参考文献 28
致 谢 29
第1章 绪论
1.1 选题的意义及目的
本文的研究课题是通信电源故障手机报的软件设计,所以研究对象是通信电源。而通信电源在通信系统中是能量来源之处,是整个通信系统运转的基础。作为关键设备,它的安全运行必须得到保障,因此需要对其进行监测并及时报错,以防止故障扩散而造成重大损失。
电源系统故障大致分为两类:
一般性故障:这类故障一般不会导致整个通信系统的大面积故障,影响小且对其他模块无影响,例如防雷器损坏;监控系统故障等等。
紧急性故障:这类故障一般可能会导致整个通信系统的大面积故障,影响大且对其他模块也会造成影响,例如交流输入电路损坏、直流采样电路损坏等等。
出现故障就应即时处理,但是若出现多种故障时则应按照其优先级来处理。紧急性故障若不能得到及时的有效处理,整个通信系统可能会出现大面积故障,由此造成的影响和损失无法想象[2]。
目前通信系统在使用与管理方面有着如下几种问题:
(1)机房环境与基础设施较差
通信电源能够长期良好运行的条件之一是在一个良好的运行环境中工作,通信机房的湿度温度不够达标都可能导致设备的故障。
(2)维护人员的研究不够
许多电源维护人员对于通信电源的特点、故障问题、维护方法研究不够深入,多有实践经验而缺乏系统理论,如此便难以第一时间判断故障地点、类型以及处理方法。
(3)电源管理规范性不够
缺乏电源的规范性管理章程,大多数管理工作无章可循,由此造成被动维护管理的现象,无法做到防患于未然。若出现紧急性故障,工作人员未能及时处理的话则会造成重大损失[3]。
如今自动化领域日新月异,也逐步进入各个工厂车间,我们完全可以通过自动化设备来时刻监管通信电源的工作状态,做到及时发现、及时处理。而本论文设计的目的就是实现单片机系统与通信电源的变换和控制单元间实现基于MODBUS的通信,当软件判断出硬件故障后,能将故障信息短信发送给维护管理人员这一功能。
1.2 工业控制现场总线
工业总线发展到现今阶段,虽不算百花齐放,但也是各有千秋,应用较为广泛的有Modbus、CAN以及Profibus等,下面对上述三种协议一一进行介绍。
(1)MODBUS通讯协议
Modbus于1979年由Modicon发明,是一种通过主从机构建自身网络的通信协议。作为第一个应用于工业现场的总线协议,Modbus能够满足各种工业需求,实现工业自动化。
Modbus的主从机架构只允许有一台主机,而从机数量则可多达247个。通过Modbus通信协议,工厂可以通过一台机器来监测控制整个工厂的设备状态[1]。
特点:①免费开放给各大用户
②支持多种电气接口,诸如RS232、RS485等
③数据帧格式简单易懂 等等
(2)CAN通信协议
CAN全称为Controller Area Network,于1986年由德国博世研发而成,现今作为串行通信协议中的国际标准。CAN通信协议更多是应用于汽车行业中各电子元件之间的相互通信,例如车钥匙远程解锁,无钥匙启动等需要加密解密的动作,因此CAN通信协议较之于其他协议,其安全可靠性首屈一指。
特点:①网络各节点之间的数据通信实时性强
②开发周期短,安全高效
③已形成国际标准 等等
(3)PROFIBUS通信协议
Profibus是由德国的多家集团联合研发而成的总线协议,现今作为国际标准而广泛应用于各大自动化设备厂商。
特点:①最大传输信息长度为255B,最大数据长度为244B,典型长度为120B
②网络拓扑为线型、树型或总线型,两端带有有源的总线终端电阻
③传输速率从9.6Kb/s到12Mb/s不等,造成差异的因素有两个:网络拓扑和总线长度[7]。
1.3 国内外工业控制现场总线的发展概况
20世纪70年代,这个世界见证了现场总线的诞生。此时的总线技术并没有统一的标准、各自采用各自的方法控制管理生产设备,致使各大厂家的工业控制仪表互不兼容。因此,国际电工技术委员会(IEC)于1985年开始制定现场总线标准,但由于种种原因而无法达成统一标准协议。后来处于各自的经济效益的考虑,各大公司纷纷研发自己的产品从而向市场推广,于是各种总线现已相继诞生。
1986年,Profibus在德国研发而成。1990年,LonWorks在美国研发而成。1992年,ISP宣布成立,这是由80家公司联合统一的总线标准。1993年,WorldFIP协会宣布成立。1994年ISP与WorldFIP联立而成FF(Fieldbus Foundation)。2000年,IEC—61158在通过IFC的投票后成为了现场总线的国际标准[6]。
虽然在2000年国际标准诞生出炉,但实际上许多生产商仍然用着各自的总线协议,因此并未实现完全的统一。IEC—61158包含着8种互不兼容的现场总线协议,但这无疑是现场总线发展史上迈出的一大步。
而今二十一世纪,在互联网的大浪潮之下,世界各国大力发展工业4.0——提高各大制造业的智能化建设,打造出互联网下集需求、生产、供销等于一体的智能产业。在此背景下,一个统一的现场总线协议更是为大家所需求。
总而言之,现场总线技术是先由国外研发出来,发展飞快,现今已较为成熟。经过几次相互之间的市场争夺、协商,已突出各大主流总线技术的优劣。而国内起步晚,但发展迅速,通过对国外主流总线技术产品的使用和学习,国内的技术也在蓬勃发展。但相较于国外而言还是研究时间短,研发力量偏弱。
1.4 本论文的主要内容
本文第一章是绪论,先是介绍了课题研究的实际背景、目的及其意义;然后介绍了几种现今主流的工业控制现场总线技术,列出了各自的优点;最后概述了现场总线的发展历史,对国内外的总线技术现况做了下简短的分析。
- 是研究Modbus通信协议,对Modbus手册的三部分一一进行介绍。
- 是系统方案设计的选型部分,对设计所需要用到的硬件进行选型及其介绍。
- 是通信系统软件程序,介绍了主从机之间的通信程序和主机与手机之间的通信程序
- 是对本次设计的总结以及期望。
第2章 MODBUS通信协议研究
2.1 开放式系统互连(OSI)模型
OSI模型是由国际标准化组织建立的标准。它是一个分层模型,从下至上依次分为七个层次[8]。
1.物理层
物理层作为OSI模型的最底层,是整个模型的基石,它为数据在各个设备中的传输建立了相应的标准,提供了通道的基础。此层中数据的单位是比特(bit)。
2.数据链路层
数据链路层是在物理层建立好通道后,通过通道在各个节点之间进行数据传输,并利用差错控制来验证电路动作的控制。
此层中数据的单位是帧(frame)。
3.网络层
网络层是用以确定网件路由与交换节点。通过网络层,数据帧将会被打包,成为数据包,而打包的内容则是根据所用协议的要求来定的。
此层中数据的单位是数据包(packet)。
4.传输层
传输层是用以取得传递的信息,避免可能发生的诸如数据丢失等的危害。
5.会话层
会话层是用以建立并维护应用与应用之间互相通信。
6.表示层
表示层是用以提供将数据转化服务。
7.应用层
应用层是用以为应用程序直接提供一般的网络服务。
2.2 MODBUS简介
当各个设备都在同一Modbus上进行通信时,此传输协议规定了每个控制器需要知道它们的地址,然后通过识别各地址发来的信息,来决定进行何种动作。需要对发送来的信息进行回应时,控制器则会根据规定生成报文,然后通过Modbus通信协议以数据帧的形式发出[9]。
Modbus共分为三部分:
1.Modbus协议规范
2.Modbus报文传输在串行链路上的实现指南
3.Modbus报文传输在TCP/IP上的实现指南
本文主要介绍分析前两个部分,第三部分因没有用到而不做介绍,感兴趣的同学可以自行参阅Modbus中文手册。
2.3 MODBUS协议规范
2.3.1 MODBUS数据模型
表2.1 Modbus的四个基本数据模型
基本表格 | 对象类型 | 访问类型 | 内存 |
离散量输入 | 1bit | 只读 | I/O系统提供这种类型数据 |
线圈 | 1bit | 读写 | 通过应用程序改变这种类型数据 |
输入寄存器 | 16bit | 只读 | I/O系统提供这种类型数据 |
保持寄存器 | 16bit | 读写 | 通过应用程序改变这种类型数据 |
2.3.2 MODBUS事务处理
当有请求发出时,Modbus对其会进行响应,响应有两种:
(1)正常的Modbus响应;此时响应功能码等于请求功能码;
(2)异常的Modbus响应;反馈数据解析中的异常,然后返回响应功能码,其值为请求功能码与十六进制的80之和,再根据设定返回异常码。(详见2.2.4)
图2.1 Modbus事务处理状态图
2.3.3 MODBUS功能码
Modbus一共有三种功能码:
公共功能码:是公司公开使用、单独的且可更改的被定义过的功能码。
用户定义功能码:用户可以选择但具有定义的范围限制的功能代码。功能代码的使用不能保证是唯一的,并且重置时必须启动RFC。
保留功能码:一些公司有着自己产品的特殊功能码,但对其他产品是无效的。
公共功能码的具体定义如下:
01:读线圈; 02读输入离散量; 03读多个寄存器; 04:读输入寄存器
05:读单个线圈; 06写单个寄存器; 15:读多个线圈; 16:写多个寄存器
2.3.4 MODBUS异常响应
异常响应可能是由于下列三种情况而出现:
(1)由于出现了通信错误,服务器未接收到请求,因此无法返回响应功能码。最终客户机将会处理请求超时。
(2)服务器接收到了请求,但因检测到有如CRC等的通信错误,由是无法进行正常地返回响应。最终客户机将会处理请求超时。
(3)服务器接收到了请求且请求无通信错误,但由于请求无法处理(如请求读取一个不存在的寄存器等),服务器因此将根据请求的错误类型返回相应的异常码。
部分异常码的列表如下:
01:非法功能,即对于服务器(或从站)来说,询问中接收到的功能码是不可允许的操作。
02:非法数据地址:对于服务器(或从站)来说,询问中接收到的数据地址是不可允许的地址。
03:非法数据值:对于服务器(或从站来说,询问中包括的值是不可允许的值。
08:奇偶校验错误:指示扩展文件区不能通过一致性校验。
2.4 MODBUS报文传输在串行链路上的实现指南
2.4.1 MODBUS串行链路协议介绍
MODBUS串行链路协议是主/从协议。在此协议中,子节点在未收到主节点的请求的情况下不会主动向主节点发送数据,并且子节点与子节点之间不会相互通信。
请求的模式有两种:
(1)单播模式:主节点单独请求子节点,子节点收到后进行处理,完成后返回响应。
(2)广播模式:主节点访问所有的子节点并发出请求,子节点处理请求而无需返回响应。
2.4.2 MODBUS地址规则
Modbus的物理地址一共有256个。在Modbus协议中,主节点是没有地址的,而子节点必须得有自己单独唯一的地址。0是广播地址,因为广播模式下所有子节点都需要接收从主节点发送而来的数据,因此子节点都需要认识地址0。
表2.2 Modbus地址规则
0 | 1~47 | 55~248 |
广播地址 | 子节点单独地址 | 保留 |
2.4.3 MODBUS串行传输模式
Modbus的串行传输方式⸻ RTU模式、ASCII模式各自规定了各自报文中的位内容以及将信息的加密解密方式。
作为默认设置的RTU模式,所有设备必须能够实现。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: