芯片资讯
- 发布日期:2024-11-22 07:13 点击次数:193
Modbus协议由于其具有开放性、透明性、本钱低、易于开发等特性,已成为当今工业范畴通讯协议的首选。
本文引见了一种基于Modbus通讯协议的eView触摸屏与常用的51单片机的通讯办法。该办法经过C51编程完成Modbus通讯,在51系列单片机上具有通用性,有一定的自创作用。
工业控制中经常需求察看系统的运转状态或者修正运转参数。触摸屏可以直观、生动地显现运转参数和运转状态,而且经过触摸屏画面能够直接修正系统运转参数,人机交互性好。单片机普遍应用于工控范畴中,与触摸屏配合,可组成良好的人机交互环境。
触摸屏与单片机通讯,需求依据触摸屏采用的通讯协议为单片机编写相应的通讯程序。Modbus协议是美国Modicon公司推出的,一种有效支持控制器之间以及控制器经由网络(如以太网)与其他设备之间停止通讯的协议。本文以STC89C51单片机和人机电子有限公司的eView触摸屏为例,引见其通讯程序的开发过程。
1 系统构造
完成触摸屏与单片机的通讯,主要是处理通讯协议的问题。本文运用开放的Modbus通讯协议,以触摸屏作主站,单片机作从站。eView触摸屏自身支持Modbus通讯协议,假如单片机也支持Modbus协议,就能够停止通讯了。eview触摸屏支持RS-232和RS-485两种通讯接口。在工业控制范畴,由于RS-485具有牢靠性高、传输间隔远、抗干扰才能强等优点,所以在本系统中触摸屏与单片机通讯采用RS-485衔接,传输速率设置为 9600 kbps。RS-485信号传输是一种半双工的传输方式,单片机经过一个RS-232/RS-485无源转换器把232信号转换成485信号,衔接到 eView触摸屏上。图l为该系统的原理图。
单片机控制系统采用STC89C51系列单片机,其内部集成MAX810/STC810专用复位电路(原有外部复位可继续保存,与Intel 8051引脚兼容),具有抗干扰才能强、加密性强、高抗静电(ESD)、超低功耗等特性,而且价钱低廉。在本系统中,触摸屏是上位机,单片机是下位机。
2 Modbus协议
2.1 Modbus协议简介
Modbus协议是应用于电子控制器上的一种通用言语。经过此协议,控制器互相之间、控制器经由网络(如以太网)与其他设备之间能够通讯。它曾经成为一种通用工业规范。不同厂商消费的控制设备能够经过它连成工业网络,集中监控。
Modbus协议定义了一个控制器能认识运用的音讯构造,而不论它们是经过何种网络停止通讯的。它描绘了一控制器恳求访问其他设备的过程。如何回应来自其他设备的恳求,以及怎样侦测错误并记载;制定了音讯域格局和内容的公共格式。
当在某一Modbus网络上通讯时,此协议决议了每个控制器需求晓得它们的设备地址,辨认按地址发来的音讯, 亿配芯城 以及决议要产生何种行动。假如需求回应,则控制器将生成反应信息并用Modbus协议发出。在其他网络上,包含了M0dhus协议的音讯转换为在此网络上运用的帧或包构造。
2.2 Modbus RTU通讯数据传输形式
当控制器设备基于Modbus协议以RTU形式通讯时,音讯中的每个字节包含2个4位的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。
编码采用8位二进制,十六进制数0~9和A~F;音讯中每个8位域都是由2个十六进制字符组成。组织构造如下:
2.3 Modbus RTU音讯帧构造
Modbus RTU音讯帧构造如下:
(1)地址码
地址码为通讯传送的第一个字节。这个宁节标明,由用户设定地址码的从机将接纳由主机发送来的信息。每个从机都有具有独一的地址码,只要契合地址码的从机才干响应回送,且响应回送均以各自的地址码开端。主机发送的地址码则标明将发送到的从机地址,而从机发送的地址码标明回送的从机地址。地址0用作播送地址,以使一切的从设备都能认识。
(2)功用代码
功用代码为通讯传送的第二个字节。Modbus通讯规商定义可能的代码范围是十进制的1~255。当然,有些代码适用于一切控制器,有些仅适用于某种控制器,还有些保存以备后用。主机发送恳求,经过功用码通知从机执行什么动作;从机响应恳求,从机发送的功用码与从主机发送来的功用码一样,标明从机已响应主机停止操作。假如从机发送的功用码的最高位为1,则标明从机没有响应操作或发送出错,主设备应用程序得到异议的回应后,典型的处置是重发音讯。表l列出了常用Modbus支持的局部功用码。
以读取线圈状态为例阐明。主站发送命令:[设备地址][命令号01][起始存放器地址高8位][低8位][读取的存放器数高8位][低8位] [CRC校验的低8位][高8位]。从站响应:[设备地址][命令号01][返回的字节个数][数据1][数据2]…[数据n][CRC校验的低8位] [高8位]。
(3)数据区
数据区依据功用码的不同而不同。数据区包含需求从机执行什么动作,或由从机采集的返送信息。这些信息能够是实践数值、设置点、主机发送给从机或从机发送给主机的地址等。例如,功用码通知从机读取存放器的值,则数据区必需包含要读取存放器的起始地址及读取长度。关于不同的从机,地址和数据信息都不相同。
(4)错误校验码
主机或从机可用校验码判别接纳信息能否出错。错误检测域包含一个16位的值(用2个8位的字符来完成)。错误检测域的内容是经过抵消息内容停止 “循环冗余检测”得出的。CRC域附加在音讯的最后,添加时先是低字节然后是高字节,故CRC的高位字节是发送音讯的最后一个宁节。错误校验采用CRC- 16校验办法。
3 软件编程
下面是采用C5l编写的软件,主要包括CRC校验和终端接纳及波特率设置等。由于篇幅有限,其他程序略。
4 总 结
由于Modhus协议具有开放性和透明性等特性,而51系列单片机技术成熟、开发本钱低,二者的分离将继续成为各类通讯系统设计的首选。本设计办法曾经应用于触摸屏与单片机通讯设计,并获得了较好效果。这种办法关于编制相似的通讯软件有一定的自创作用,局部程序能够直接移植。
- 基于MAX7219芯片的大尺寸LED数码显示驱动电路设计2024-11-20
- 基于MLX90615与STM32的多点红外温度测量系统设计2024-11-10
- ADI:轻松实现隔离式SPI通信2024-11-05
- 基于总线接口芯片SN74LVTH245A实现长距离数据传输系统的设计2024-09-27
- 中国电子元器件网:康家特最新的SMARC模块配备基于ARM架构的恩智浦iMX8M纳米处理器2024-07-13
- 康佳特扩展基于恩智浦(NXP) i.MX 8处理器系列的嵌入式视觉产品阵容2024-06-26