基于Cortex-M3的MODBUS协议实现及其应用3

基于Cortex-M3的MODBUS协议实现及其应用3

ID:45580420

大小:160.60 KB

页数:7页

时间:2019-11-15

基于Cortex-M3的MODBUS协议实现及其应用3_第1页
基于Cortex-M3的MODBUS协议实现及其应用3_第2页
基于Cortex-M3的MODBUS协议实现及其应用3_第3页
基于Cortex-M3的MODBUS协议实现及其应用3_第4页
基于Cortex-M3的MODBUS协议实现及其应用3_第5页
资源描述:

《基于Cortex-M3的MODBUS协议实现及其应用3》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Cortex-M3的MODBUS协议实现及其应用漏磁探伤作为非接触式的无损探伤技术,其具有检测速度快、灵敏度高、无需耦合剂、易于实现口动化等特点,是钢轨探伤技术的重点硏究方向。为解决漏磁探伤研究中的实验仿真问题,研制了基于嵌入式系统的无损探伤试验仪,通过实现MODBUS协议与变频器通信,以此驱动交流电机与机械试验装置,完成运动控制并进行无损探伤试验。针对无损探伤试验仪小变频器通信问题,依据MODBUS协议规定,利用RealViewMDK开发了基于ARMCortex-M3微控制器的嵌入式软件,实现了

2、与变频器的MODBUS通信,完成变频调速的运动控制功能。1MODBUS协议1.1MODBOS协议简介MODBUS是Gouldlne注册的通讯协议商标,该协议具有纠错能力强、数据传输量人、实时性好等特点,是工业B动控制领域使用较广泛的通讯语言,目前己成为我国工业白动化领域的一种国家标准。MODBUS协议左义了一个控制器能识别的消息结构,它描述了控制器请求访问和应答回应英他设备的过程,以及错谋检测和记录的规范,制定了报文字段和内容的公共格式oMODBUS属于应用层报文传输协议,其通信结构为一对多的主从查询

3、模式,即主从Master-Slave模式。MODBUS网络上可以冇多个从节点,但冇只能冇一个主节点,主节点按照通信协议对从节点发出请求操作,从设备收到主节点的请求后,做出相应的响应再向主节点回复应答消息。1.2MODBOS协议组成MODBUS协议具有两种传输模式:ASCII模式和RTU模式。ASCII模式屮数据以ASCH字符码表示,通过冒号、回车字符判定数据帧的起始和结束,采用IRC数据检验;RTU模式中数据以非压缩BCD码表示,通过时间标记实现数据帧起始判定,釆用CRC数据校验,具有数据吞吐量高、传

4、输稳定、通信效率高的优点。由于变频调速系统的安全性能要求较高,所以选择通信效率高、时间管理严格的RTU传输模式。在协议帧组成上,MODBUS定义了一个基本的,与通信层无关数据协议单元PDU(ProtocolDataUnit),并通过在PDU上添加地址、校验等附加域定义了应用数据单元ADU(ApplicationDataUnit),形成完整的数据帧,MODBUSRTU数据帧组成如衣1所示。«1MODBUSRTU成起始标志应用数据車元ADU结束标志if・■数据协议单元PDU地址码功能码数据码较验码1Byt

5、e1ByteNByte2Fie在数据帧起始判定上,MODBUSRTU采用了如图1所示的时间标记方法,即相邻的两帧Z间必须间隔至少为总线发送3.5个字符的时I'可,该时间称为T3.5。4.5个字符图1MODBUSRTU协议帧对闾刮隔帧1祯2.

6、71□□1~"

7、..:.•{k至少3.5个字符至少3.5个字符在MODBUS数据帧中,功能码是指主节点对•从节点的请求操作类型,常用的MODBUS功能码及其功能如表2所示。舉2當用的MODBUS功能码功能硏名称功能01读线Hi状态读取一组逻辑线圈的当前状态02读取

8、输人状态取得一组开关输人的当前状杰03渎取保持奇存器读取保持奇存器中当前二进制值04读取输入寄存器读取綸入寄存器中当前二进制值05置线圈•位一个逵辑线IB的通斷状杰06写输入帚存器将二进制值耳入自r采持荷存聒MODBUSRTU釆用循坏兀余校验码CRC(CyclicRedundancyCheck)是一种被广泛采川的多项式编码,编码简单R误判概率很低,在串行通信、以太网、MPEG解码等通信领域中得到了广泛应用。在通信过程中,发送方用待发送数据除以一个收发双方约定的生成多项式,将得到余数作为CRC校验多项式

9、,附加在待发送数据尾部作为一个整体发送给接收方。接收方将收到的数据同样除以生成多项式,若余数为零刚传输止常,若余数不为零则传输出错。2电路连接及硬件参数在无损探伤试验仪中,选用基于ARMCortex-M3内核的STM32F103ZET6微控制器作为处理核心,而变频器采川了烟台惠丰公司的F2000-G矢量变频酪。STM32F103ZET6通过基于MAX3485的RS485链路与F2000-G相连,按照MODBUS协议与Z通信,实现变频调速的控制功能。RS485接口电路如图2所示,STM32F103ZET

10、6的USART3的Uart3Rx、Uart3Tx连接到MAX3485的RO、DI以进行RS232的数据收发;STM32F103ZET6的GPI01以I/0模式与MAX3485的接收使能端RE、发送使能端DE和连,対RS485半双工总线的通信方向进行统一控制;而MAX3485的差分信号端A、B则通过插座与F2000-G相连,同时为保证通信质量,消除总线上的信号反射,需在RS485网络终端的差分总线间串联50Q的电阻R1。>33VUart3Rx1ROnrVc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。