【资料简介】
【资料截图】








【资料目录】
【资料预览】
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域中的值比较,如果 两值不等,说明有错误。
【资料截图】








【资料目录】
【资料预览】
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域中的值比较,如果 两值不等,说明有错误。