1 / 21
文档名称:

计算机集散控制modbus课程报告.doc

格式:doc   大小:882KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机集散控制modbus课程报告.doc

上传人:w447750 2017/10/21 文件大小:882 KB

下载得到文件列表

计算机集散控制modbus课程报告.doc

文档介绍

文档介绍:基于单片机的MODBUS协议实现

学生姓名: 陈一鸣
学生学号: **********
指导教师: 刘大铭
专业名称: 电子与通信工程
所在学院: 物理电气信息学院
论文完成日期: 2016年3月
目录
第1章目的和要求 1
第2章总体设计 1
MODBUS协议概述 1
MODBUS数据单元 2
MODBUS通信原理 2
ASCII模式 3
ASCII帧 3
地址域与数据域 4
字符的连续传输 4
错误检测方法 5
奇偶校验 5
LRC检测 5
CRC检测 6
第3章硬件设计及测试结果 7
第4章 MODBUS协议的软件实现 9
系统程序流程软件设计 9
源代码 9
结论与心得 18

第1章目的和要求
现场总线(Fieldbus)是近年来迅速发展起来的一种工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题。现场总线具有简单、可靠、经济实用等一系列突出的优点,因而受到了许多标准团体和计算机厂商的高度重视。
课题要求是利用单片来实现MODBUS协议,主要以三个4851单片机作为接受方,。用keil软件实现代码,形成HEX文件,导入protues仿真图中。用protus实现布线。然后用串口助手,调试串口编号,设置相应的波特率,通过串口助手与protus相连,在串口助手上输入相应指令,接收的单片机在仿真图上有相应的接收到的指令显示。仿真应用的异步串口RS232,RS232与串口助手相连。
第2章总体设计
MODBUS协议概述
MODBUS协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一MODBUS网络上通信时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用MODBUS协议发出。在其它网络上,包含了MODBUS协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
MODBUS协议包括ASCII、RTU、TCP等协议,标准的MODBUS采集器使用RS232实现串行通讯。MODBUS的ASCII、RTU协议规定了消息、命令和应答的方式,数据通讯采用Master/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求,Master端也可以直接发信息修改Slave端的数据,实现双向读写。MODBUS协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式主要采用LRC校验,RTU模式主要采用16位CRC校验。MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接不同类型网络的设备之间提供数据的通信,如图2-1所示。
图2-1 MODBUS通信线路
目前,可以通过下列三种方式实现MODBUS通信。
(1)以太网上的TCP/IP。
(2)各种介质上的异步串行传输。
(3)MODBUS PLUS,一种高速令牌传递网络。
MODBUS数据单元
MODBUS协议定义了一个与基础层无关的简单协议数据单元(Protocol Data Unit, PDU),特定总线或网络上的MODBUS协议映射能够在应用数据单元(Additional Data Unit, ADU)上引入一些附加域,通用MODBUS帧如图2-2所示。启动MODBUS事务处理的客户机创建MODBUS PDU,其中的功能码向服务器指示将执行哪种操作,功能码后面是含有请求和响应参数的数据域。
图2-2 通用MODBUS帧
MODBUS通信原理
MODBUS是一种简单的仿“客户机/服务器”型应用协议,其实质就是主/从模式,不过主机是客户机,从机是服务器。其通信遵循以下的过程:
(1)客户端准备请求并向服务器发送请求;
(2)服务器分析并处理客服端的请求,然后向客户端发送结果;
(3)如果出现任何差错,服务器将返回一个异常功能码。
在无差错和异常响应下的通信过程分别如图2-3和2-4所示。
图2-3 MODBUS事务处理(无差错)