完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
一、RS485通信
RS485 是半双工通信(2 线制),可以一点对多点进行组网,而且 RS485 是用缆线两端的电压差值来表示传递信号,这与 RS232 电气特性大不一样。RS485 仅仅规定了接收端和发送端的电气特性,并没有规定或推荐任何数据协议 RS485 采用两根通信线,通常用 A 和 B 或者 D+和 D-来表示。逻辑“1”以两线之间的电压差为+(0.2~6)V 表示,逻辑“0”以两线间的电压差为-(0.2~6)V 来表示,是一种典型的差分通信, 电平与 TTL 电平兼容,可方便与 TTL 电路连接。 优点:
RS-232与RS-422及RS-485三者之间的特性与区别 二、ModBus-RTU通信协议 modbus协议已经成为通用工业标准,通过协议,控制器与控制器、控制器通过网络(以太网)与其他设备之间可以实现串行通信。RTU即远程终端单元,消息中每8位包含两个十六进制字符。在相同的波特率下,这种方法比ASCII方式传送的数据量大。 2.1.1 图解区 2.2 ModBus-RTU详解
01 06 00 01 00 17 98 04 从机地址 功能号 数据地址 数据 CRC校验 这一串数据的意思是:把数据 0x0017(十进制23) 写入 1号从机地址 0x0001数据地址 2.1.1 图解报文格式 1、主机对从机写数据操作如果单片机接收到一个报文那么就对报文进行解析执行相应的处理,如上面报文: 01 06 00 01 00 17 98 04 从机地址 功能号 数据地址 数据 CRC校验假如本机地址是 1 ,那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是: HoldDataReg[1] = 0x0017;MODBUS主机就完成了一次对从机数据的写操作,实现了通讯。2、主机对从机读数据操作主机进行读HoldDataReg[1] 操作,则报文是: 01 03 00 01 00 01 D5 CA 从机地址 功能号 数据地址 读取数据个数 CRC校验那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是:返回信息给主机,返回的信息也是有格式的:返回内容: 01 03 02 0017 F8 4A 从机地址 功能号 数据字节个数 两个字节数据 CRC校验MODBUS主机就完成了一次对从机数据的读操作,实现了通讯。 2.1.2 CRC校验 意义:例如上面的 98 04 是它前面的数据(01 06 00 01 00 17)通过一算法(见附录2,很简单的)计算出来的结果,其实就像是计算累加和那样。(累加和:就是010600010017加起来的值,然后它的算法就是加法)。 作用:在数据传输过程中可能数据会发生错误,CRC检验检测接收的数据是否正确。比如主机发出01 06 00 01 00 17 98 04,那么从机接收到后要根据01 06 00 01 00 17 再计算CRC校验值,从机判断自己计算出来的CRC校验是否与接收的CRC校验(98 04主机计算的)相等,如果不相等那么说明数据传输有错误这些数据不能要。 2.1.3 功能码
|
|
|
|
只有小组成员才能发言,加入小组>>
2434 浏览 0 评论
9096 浏览 4 评论
36765 浏览 19 评论
5025 浏览 0 评论
24737 浏览 34 评论
1526浏览 2评论
1741浏览 1评论
2191浏览 1评论
1551浏览 0评论
522浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:37 , Processed in 1.360631 second(s), Total 89, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号