基于MODBUS协议的通讯系统 - 图文

2019-03-29 15:18

基于MODBUS协议的通讯系统

【摘 要】 本设计研究如何通过MODBUS通讯协议,设计利用单片机,结合

NRF24L01无线收发芯片,实现了温度实时采集与主机(PC机)显示。用STC89C52单片机与DS18B20对温度采集显示于数码管,在通过无线模块发送到另一块单片机系统里通过1602液晶显示,成后,基于MODBUS通讯协议通过RS-485的物理层实现串口通信,发送实时数据给主机。经过一系列的处理后,温度得以实时在两个单片机系统中显示并准确显示在主机串口调试软件中。经检测,作品实现了基于MODBUS协议的通讯。

【关键词】 MODBUS NRF24L01 STC89C52 PC机

[Abstract] This design to study how through the MODBUS communication protocol

designed to use microcontroller, to combine NRF24L01 wireless transceiver chip temperature real-time acquisition with the host (PC) display. The STC89C52 SCM and DS18B20 temperature acquisition and display digital control, the 1602 LCD, after the completion of a microcontroller system via RS-485 physical layer communication protocol based on MODBUS serial communication through a wireless module to send to send real-time data to the host. After a series of treatments, the temperature can be shown in the two single-chip system in real time and accurately displayed on the host serial port debugging software. After testing, the works based on MODBUS protocol communication.

[Key words] The MODBUS nRF24L01 STC89C52 host computer

目 录

第1章 绪论 ............................................................ 1

1.1 Modbus 协议简介 ............................................... 1 1.2 Modbus 协议的应用 ............................................. 1 1.3、本论文的主要内容 ............................................. 1 第2章 设计总思路和法案选择 ........................................... 2

2.1、设计总体思路基本原理和框图 ................................... 2 2.2 MODBUS方案选择 ................................................. 2 2.3通讯接口选择 .................................................... 3 2.4无线模块的选择 .................................................. 4 2.5 本章小结 ...................................................... 4 第3章 通讯系统实现的理论原理 .......................................... 5

3.1 MODBUS-RTU通讯协议内容简介 .................................... 5 3.2 RS-485接口简介 ................................................. 7 3.3 NRF24L01无线模块内容简介 ....................................... 8 3.4 本章小结 ....................................................... 9 第4章 通讯系统实现的硬件设计 ......................................... 10

4.1硬件系统结构 ................................................... 10 4.2 单片机最小系统模块 ............................................ 10 4.3温度采集、独立按键、液晶和数码管显示模块 ....................... 10 4.4无线收发单元模块 ............................................... 11 4.5 RS-232转RS-485通讯接口模块 ................................... 11 4.6 本章小结 ...................................................... 12 第5章 通讯系统实现的软件设计 ......................................... 13

5.1 基于MODBUS协议处理报文的软件设计: ........................... 13 5.2 A机流程图和说明 ............................................... 16 5.3 B机流程图和说明 ............................................... 17 5.4 本章小结 ..................................................... 18 第6章 通讯系统的实现 ................................................. 19

6.1 实物整体外观 .................................................. 19 6.2串口主机(PC机)显示 .......................................... 20 6.3 结果评价 ...................................................... 21 6.4 不足和展望 .................................................... 22 参考文献 .......................................................... 23 致谢 .................................................................. 24 附录一: 系统总原理图和PCB图 ......................................... 25 附录二: 单片机A机程序 ............................................... 27 附录三: 单片机B机程序 ............................................... 40

第1章 绪论

1.1 Modbus 协议简介

Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。在中国,Modbus已经成为国家标准

GB/T19582-2008。据不完全统计:截止到2007年,Modbus的节点安装数量已经超过了1000万个。

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 1.2 Modbus 协议的应用

工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus 就是工业控制器的网络协议中的一种。

Modbus 协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

当在Modbus 网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus 协议发出。在其它网络上,包含了Modbus 协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误 测的方法。 1.3、本论文的主要内容

考虑到工业上常常要对一些移动性强的设备进行一些监控,本次设计了温度信号实时采集显示。在短距离利用无线模块与一些移动性强的设备进行数据交换克服有线通讯的弊端,再基于Modbus通讯协议将采集到的数据显示于上位机上实现远程通讯。

本论文的主要内容总由五章组成。第一章介绍Modus通讯协议与它的应用;第二章介绍设计的总思路和基本原理,对Mdodbus、通讯接口、无线模块的方案进行介绍和选择;第三章介绍modbus协议、RS485通讯接口、NRF24L01通讯模块的内容;第四章具体介绍硬件设计,最小系统、按键液晶数码管显示、电源电路、RS232—485模块、NRF24L01模块的硬件设计等;第五章介绍Modbus协议的软件设计、A机软件设计、B机软件设计等;第六章介绍整个作品的实现,对设计的整体外观、串口显示、对结果进行评价;说明了不足之处和设计的展望等。

1

第2章 设计总思路和法案选择

2.1、设计总体思路基本原理和框图

本次设计了基于RS232-485为接口,双绞线为介质的MODBUS通讯协议来实现远距离、高稳定、高速率、抗干扰能力强的通讯系统,得以在远离现场进行监测。考虑到现场有时候设备移动性比较强时,比如物料输送时要监测移动的设备的温度时,有线方式通讯是受限的,所以设计中还结合了无线模块来避免这种弊端。

根据设计思路本次设计为A、B两个系统模块和PC机通讯模块;A机和B机可以通过无线模块双向传输信号;在Modbus通讯中B机作为从机,PC机作为主机,通过

RS232-485接口实现通讯。功能如图2-1所示:

液晶显示器 数码管显示 独立 键盘 MCU—A机 温度、时钟 无线收发模块A 电磁波 MCU—B机 无线收发模块B 上位机显示 温度、时钟 Modbus协议 图2-1 总体框图

RS232转485物理层 ⑴A机可以显示时钟和采集到的温度信息,可以向B机发送命令,使B机当前显示的是温度或时钟。

⑵B机可以按A机的命令显示时钟(与甲时钟需同步)或者温度信息,当B机接受了A机的命令时指示灯闪烁一次。

⑶B机的温度、时钟通过Modbus协议与主机通讯实现将温度值、时钟的时分信号读取显示于上位机串口调试软件上。

系统中主要有MCU、液晶显示、数码管显示、独立按键、温度采集、无线收发、RS232转485、上位机等单元。其中MCU为各单元的控制中心,无线收发模块是实现A机和B机通信的终端;主机、数码管和液晶显示部分用来观察系统工作状态及无线通信的成功与否。

2.2 MODBUS方案选择

在 Modbus 协议中,依数据在传输过程中的具体形式不同,分为两种模式:ASCII 模式和 RTU模式, 采用哪种模式由用户自己根据需要进行选择。在改变数据传输模式时,同一 Modbus 网络中的所有设备的数据传输模式必须一致。

2

方案一、ASCII(American Standard Code for Information Interchange),即美国信息交换标准代码。

在这种模式中,每个 8 比特的字节被转换为两个 ASCII 字符进行传送。这种模式的主要优点是传送中每相邻的两字节之间允许的最大时间间隔较长,可达1秒。

代码系统:十六进制,ASCII字符0?9,A?F,消息中的每个ASCII字符都是一个十六进制字符组成每个字节的位:

表2-1 ASCII模式

起始位 START 1字节 1 CHAR 地址代码 ADDRESS 2字节 2 CHARS 功能代码 FUNCTION 2字节 2 CHARS 数据位 DATA LRC校验码 LRC CHECK 2字节 2 CHARS 结束位 END 2字节 2 CHARS n字节 n CHARS 方案二、RTU(Remote Terminal Unit),即远程终端单元。

当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。

代码系统:8位二进制,十六进制数0...9,A...F,消息中的每个8位域都是一个两个十六进制字符组成每个字节的位:

表2-2 RTU模式

起始位 START 地址代码 ADDRESS 功能代码 FUNCTION 数据位 DATA CRC校验码 CRC CHECK 结束位 END T1-T2-T3-T4 8 BITS 8 BITS n * 8 BITS 16 BITS T1-T2-T3-T4 通过比较可以看到,ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII就需要传输’F’’9’的ASCII码0x39和0x46两个字节,这样它的传输的效率就比较低。综合各因素本次设计采用方案二即RTU模式。 2.3通讯接口选择

方案一、RS-232接口。由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:⑴ 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。⑵ 传输速率较低,在异步传输时,波特率为20Kbps。⑶ 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 ⑷ 传输距离有限,最大传输距离标准值为50英尺,实际上也只能 用在50米左右。

方案二、RS-485接口。针对RS-232-C的不足,于是就不断出现了一些新的接口标准,RS-485就是其中之一,它具有以下特点: ⑴ RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6) V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。⑵ RS-485的数据最高传输速率为

10Mbps ⑶ RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。⑷ RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米,另外RS-232-C接口在总线上只允许连接1个收发器, 即单站能力。而

3


基于MODBUS协议的通讯系统 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:神东煤炭集团公司外委工程安全管理办法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: