文档介绍:单片机与触摸屏基于MODBUS协议通信的应用
摘要:本文以自动温控鼓风机为例,介绍了触摸屏与单片机控制系统组成人机交换界面。重点讲述了基于MODBUS RTU协议的触摸屏与单片机的通信方法,并讲述应用程序设计方法,提供了通用的软件硬件设计方法。目前该系统已通过实践证明可以可靠稳定地运行。
本文采集自网络,本站发布的论文均是优质论文,版权和著作权归原作者所有。
关键词:触摸屏;单片机控制系统;MODBUS协议
中图分类号:TP393 文献标识码:A
自动控制系统经常需要观察运行状态或输入输出相关的参数,触摸屏能直观生动地显示运行参数和状态,具有良好的人机交互性。单片机广泛应用于工业控制中,与触摸屏配合使用可以构成良好的人机交互界面。但现有工控触摸屏都只支持与PLC的接口通信,没有支持与单片机的接口通信的工控触摸屏,故给单片机和工控触摸屏组成控制系统带来了很大的障碍。本文以自动温控鼓风机项目为例,以MODBUS协议为载体,搭建单片机与工控触摸屏通信的通用平台。
一、MODBUS通信协议介绍
1. MODBUS协议简述
Modbus协议是广泛应用于电子控制器上开放性通用语言。MODBUS协议在一根通信线上使用主从应答式连接,在一根单独的通信线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备,然后,终端设备发出的应答信号以相反的方向传输给主机。MODBUS协议只允许在主机和终端设备之间通信,而不允许独立的终端设备之间的数据交换,这样终端设备不会在它们初始化时占据通信线路,而仅限于响应到达本机的查询信号。
查询消息中的功能代码告之被选中的从设备要执行何种功能。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量及错误检测。
如果从设备产生正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:如寄存器值或状态。如有错误,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。
传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与MODBUS协议?CRTU方式相兼容的传输方式。
每个字节的位:
?1个起始位?8个数据位,最小的有效位先发送
?无奇偶校验位?1个停止位
错误检测(Error checking):CRC(循环冗余校验)
Modbus消息帧的组成
错误校验(CRC)域占用两个字节,包含了一个16位的二进制值。正常的通信过程中由于涉及了CRC校验问题,而这个校验过程是需要占用软件时间的,它将影响终端的应答速度。本设计采用了查表法计算CRC,速度非常快,能够满足高速通信的需要。
本系统触摸屏采用Easy Builder Pro组态软件实现人机界面的设计,单片机作为从机,触摸屏作为主机。触摸屏设置为:PLC类型为MODBUS_RTU Server,通信口?型设置为RS-232,站号为0,将波特率9600bit/s,数据位个数8,校验位0,停止1位。
二、系统构成
系统以自动温控鼓风机项目为例,用触摸屏与单片机控制