logo资料库

关于51单片机上实现modbus协议.pdf

【资料简介】
【资料截图】
关于51单片机上实现modbus协议.pdf-第1页.png
关于51单片机上实现modbus协议.pdf-第2页.png
关于51单片机上实现modbus协议.pdf-第3页.png
关于51单片机上实现modbus协议.pdf-第4页.png
关于51单片机上实现modbus协议.pdf-第5页.png
关于51单片机上实现modbus协议.pdf-第6页.png
关于51单片机上实现modbus协议.pdf-第7页.png
关于51单片机上实现modbus协议.pdf-第8页.png
【资料目录】
【资料预览】
www.plcworld.cn 关于 51单片机上实现modbus协议 你找一个 MODBUS的协议详细资料好好看看,就是一种通讯约定,你按照它规定的格式通 讯就可以了 协议发送给询问方。 Modbus协议包括 ASCII、RTU、TCP等,并没有规定物理层。此协 议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准 的 Modicon控制器使用 RS232C实现串行的 Modbus。 Modbus的 ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用 Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数 据到 Master端以响应请求;Master端也可以直接发消息修改 Slave端的数据,实现双向读 写。 Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用 LRC 校验,RTU模式采用 16位 CRC校验,但 TCP模式没有额外规定校验,因为 TCP协议是 一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果 某 Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络 又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对 于 Modbus的 ASCII、RTU和 TCP协议来说,其中 TCP和 RTU协议非常类似,我们只要 把 RTU协议的两个字节的校验码去掉,然后在 RTU协议的开始加上 5个 0和一个 6并通 过 TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下 Modbus的 ASCII和 RTU协 议。 下表是 ASCII协议和 RTU协议进行的比较: 协议 开始标记 结束标记 校验 传输效 率 程序处理 ASCII :(冒号) CR,LF LRC 低 直观,简单,易调试 RTU 无 无 CRC 高 不直观,稍复杂 通过比较可以看到,ASCII协议和 RTU协议相比拥有开始和结束标记,因此在进行程序处 理时能更加方便,而且由于传输的都是可见的 ASCII字符,所以进行调试时就更加的直观, 另外它的 LRC校验也比较容易。但是因为它传输的都是可见的 ASCII字符,RTU传输的数 据每一个字节 ASCII都要用两个字节来传输,比如 RTU传输一个十六进制数 0xF9,ASCII 就需要传输’F’’9’的 ASCII码 0x39和 0x46两个字节,这样它的传输的效率就比较低。所以 一般来说,如果所需要传输的数据量较小可以考虑使用 ASCII协议,如果所需传输的数据 量比较大,最好能使用 RTU协议。 下面对两种协议的校验进行一下介绍。 1、LRC校验 LRC域是一个包含一个 8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中, 接收设备在接收消息的过程中计算 LRC,并将它和接收到消息中 LRC域中的值比较,如果 两值不等,说明有错误。
分享到:
收藏