一种基于MODBUS‑RTU协议实现微处理器与触摸屏通讯的方法技术

技术编号:15187165 阅读:92 留言:0更新日期:2017-04-19 04:38
本发明专利技术公开一种基于MODBUS‑RTU协议实现微处理器与触摸屏通讯的方法,其包括步骤:S1:微处理器收集传感器系统检测到的数据;S2:微处理器通过MODBUS‑RTU协议将数据传输至触摸屏。本发明专利技术通过特定的MODBUS‑RTU传输数据帧和传输方式,使得微处理器与触摸屏之间的通讯更为顺畅;同时由于微处理器接收到的所有的数据均转换为MODBUS‑RTU所需的传输格式,使得本申请的扩展性和可移植性更佳。

【技术实现步骤摘要】

本专利技术涉及通讯
,尤其涉及一种基于MODBUS-RTU协议实现微处理器与触摸屏通讯的方法
技术介绍
目前,各种工业现场总线被广泛应用于各类工业现场过程控制中,提高了工业的数据采集系统的实时性和可靠性。MODBUS-RTU协议以其简单、高效、开放性、免费、可靠性以及与时俱进等优点,在工厂自动化领域,被各厂家广泛使用,显示出其强大的生命力和活力。同时为了实现触摸屏对主控电路实时监控、显示和同一管理,需要将不同厂商生产的数据采集设备互联形成网络,实现对数据监控、显示的网络化。公开号为CN104656604A的中国专利,公开一种“利用MODBUS通信协议实现人机交互的电网安全稳定控制装置及其方法”,其将人机界面设置为支持串口MODBUS通信协议的触摸屏,数据传输采用串行链路MODBUS传输方式,但是其设置多个定时中断导致传输数据慢、不利于数据顺利传输。
技术实现思路
本专利技术所要解决的技术问题在于,针对现有技术的上述不足,提出一种数据传输快捷,可实现不同厂商数据采集设备形成网络且具有较好扩展性和可移植性的基于MODBUS-RTU协议实现微处理器与触摸屏通讯的方法。本专利技术解决其技术问题采用的技术方案是,提出一种基于MODBUS-RTU协议实现微处理器与触摸屏通讯的方法,其包括步骤:S1:微处理器收集传感器系统检测到的数据;S2:微处理器通过MODBUS-RTU协议将数据传输至触摸屏。进一步地,所述传感器系统包括:电压传感器、电流传感器、温度传感器和/或烟雾传感器。进一步地,所述微处理器将接收到的数据格式转换为一帧数据由地址域、功能码、数据段和校验码构成的数据格式。进一步地,步骤S2还包括如下步骤:S21:初始化;S22:检测是否有串口中断发生,若无则清除中断接收标志位,若有则终止数据发送;S23:处理接收到的数据,判断站号是否为1,数据长度是否超出范围;若站号不为1或者数据长度超出范围则清空收到的数据并提示错误;若站号为1且数据长度未超出范围,则继续接收直至收够一帧数据;S24:检测发送的CRC校验位是否等于计算的CRC校验位,若不等于,则清空收到的数据并提示错误;S25:判断为读取保持寄存器命令还是预置单寄存器命令;S26:发送数据;S27:检测是否发完,若没有发完,则返回步骤S22。进一步地,所述传感器系统将检测到的模拟信号通过AD转换系统转换为数字信号并存储于微处理器中。进一步地,所述微处理器为STM32F103微处理器。进一步地,所述地址域为1个字节,功能码为1个字节,数据段为0-252个字节,校验码为1个字节。进一步地,所述每帧数据之间间隔至少3.5字节的传输时间;所述每帧数据内每个字节之间间隔不超过1.5字节的传输时间。本专利技术通过特定的MODBUS-RTU传输数据帧和传输方式,使得微处理器与触摸屏之间的通讯更为顺畅;同时由于微处理器接收到的所有的数据均转换为MODBUS-RTU所需的传输格式,使得本申请的扩展性和可移植性更佳。附图说明图1为本申请的总体结构框图;图2为本申请数据传输流程图。具体实施方式以下是本专利技术的具体实施例并结合附图,对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。请参照图1,本申请的基于MODBUS-RTU协议实现微处理器与触摸屏通讯的系统主要由微处理器、由多个传感器构成的传感器系统以及触摸屏三部分构成。传感器系统中包括有温度传感器、烟雾传感器、电压传感器、电流传感器,当然还可以设置其他传感器。该些传感器主要用于采集现场环境中的各项参数。该些传感器采集到的电流信号经过AD转换后转换成数字信号并存储于微处理器的内部FLASH中。微处理器还可接收其他数据,例如本申请实际应用过程中,储能系统通过CAN总线发来的数据,以及各继电器的IO通断信号。微处理器与触摸屏之间双向通信,微处理器即可将接收到的数据发送给触摸屏,也可接收由触摸屏发来的控制指令。本实施例中,微处理器与触摸屏之间通过MODBUS-RTU协议双向通信。本实施例中,微处理器优选采用STM32F103微处理器。在通信之前,需要将微处理器内部的数据转换为MODBUS-RTU所需的数据格式。本实施例中,将每帧数据转换为由地址域、功能码、数据段和校验码构成的数据格式。其中地址域为1个字节、功能码为1个字节、数据段为0-252个字节、检验码为1个字节。为了便于后续数据传输,防止数据帧与数据帧之间出现传输错误,本申请中还限定了数据帧与数据帧之间,以及数据帧内部各字节之间的传输时间。本实施例中,数据帧与数据帧之间的传输时间应至少大于3.5个字节的传输时间,帧内各字节之间的传输时间应小于1.5个字节的传输时间。上述传输时间的限制,为申请人结合传感器的类型以及MODBUS-RTU协议传输特性经过大量创造性劳动所得。通过上述传输时间的限定可以使得系统既能具有较好的传输速率又可防止数据错认、数据串扰等问题的发生。微处理器与触摸屏之间的通讯方法具体见图2所示:其包括如下步骤:初始化;使用MODBUS_init()初始化函数,对系统参数初始化、通信串口初始化以及通信串口中断初始化。检测是否有串口中断发生,若无则清除中断接收标志位,若有则终止数据发送;通过USART2_IRQHandler()函数实现上述功能,防止系统一直处于中断过程中。处理接收到的数据,判断站号是否为1,数据长度是否超出范围;若站号不为1或者数据长度超出范围则清空收到的数据并提示错误;若站号为1且数据长度未超出范围,则继续接收直至收够一帧数据;通过MODBUS-RCV()函数开始处理接收的数据。在接收数据的过程中,还可通过上述数据帧与数据帧,数据帧之间字节的传输时间来不断校验数据传输是否中断以及数据的完整性。收够一帧数据后,检测接收到的数据帧中的CRC校验位是否等于计算的CRC校验位,若不等于,则清空收到的数据并提示错误;根据数据帧判断为读取保持寄存器命令还是预置单寄存器命令;发送数据;检测是否发完,若没有发完,则返回检测是否有串口中断发生。本实施例中,通过MODBUS-RTU协议实现微处理器与人机界面通讯,在保证程序功能实现同时,充分考虑程序的扩展性和移植性。在其他设计中做适当修改就可以使用上述方法。解决了现有技术中开发工作量大,代码维护复杂的问题。本文中所描述的具体实施例仅仅是对本专利技术精神作举例说明。本专利技术所属
的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本专利技术的精神或者超越所附权利要求书所定义的范围。本文档来自技高网
...
一种基于MODBUS‑RTU协议实现微处理器与触摸屏通讯的方法

【技术保护点】
一种基于MODBUS‑RTU协议实现微处理器与触摸屏通讯的方法,其特征在于:包括步骤:S1:微处理器收集传感器系统检测到的数据;S2:微处理器通过MODBUS‑RTU协议将数据传输至触摸屏。

【技术特征摘要】
1.一种基于MODBUS-RTU协议实现微处理器与触摸屏通讯的方法,其特征在于:包括步骤:S1:微处理器收集传感器系统检测到的数据;S2:微处理器通过MODBUS-RTU协议将数据传输至触摸屏。2.根据权利要求1所述的基于MODBUS-RTU协议实现微处理器与触摸屏通讯的方法,其特征在于:所述传感器系统包括:电压传感器、电流传感器、温度传感器和/或烟雾传感器。3.根据权利要求1所述的基于MODBUS-RTU协议实现微处理器与触摸屏通讯的方法,其特征在于:所述微处理器将接收到的数据格式转换为一帧数据由地址域、功能码、数据段和校验码构成的数据格式。4.根据权利要求1或3所述的基于MODBUS-RTU协议实现微处理器与触摸屏通讯的方法,其特征在于:步骤S2还包括如下步骤:S21:初始化;S22:检测是否有串口中断发生,若无则清除中断接收标志位,若有则终止数据发送;S23:处理接收到的数据,判断站号是否为1,数据长度是否超出范围;若站号不为1或者数据长度超出范围则清空收到的数据并提示错误;若站号为1且数据长度未超出范围,则继续接收...

【专利技术属性】
技术研发人员:马新甜傅冠生何啸月
申请(专利权)人:宁波中车新能源科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1