Modbus基础知识
1个回答
展开全部
RS485是一个接口,是ModBus协议支持的多种接口之一,如RS-232是其支持的另一种接口。RS485一般是2线制的,即由485A、485B两条接线进行数据传输。由两条线间的电压差不同分别表示0和1(正2-6伏特表示逻辑0,负2-6伏特表示逻辑1)。
Modbus是一个协议。是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。它可应用于各种数据采集和过程监控。
所谓的协议是什么?就是不同实体间,为了相互通讯而进行的一种约定。比如点头表示同意,摇头表示不同意就可以看成一种通讯协议。没有约定好的协议,便无法交流。
任何人都可以使用国际通用的摩尔斯电码救难信号S.O.S(...---...)进行求救,因为全球都接受这个约定。在夜晚可以用手电筒三短三长三短的发光进行求救。
报文(message)是网络中交换与传输的数据单元,即数据交换过程中一次性要发送的数据块。也称为数据帧, 一个报文就是一帧数据,一个数据帧就一个报文。由协议约定,对报文中的数据进行解释,赋予报文以意义,使得通讯各方都能够理解报文,从而能够交流。
先来简单分析一条MODBUS-RTU报文,例如:01 06 00 01 00 17 98 04
01 06 0001 0017 9804
从机地址 功能号 数据地址 数据 CRC校验
这一串数据的意思是:把数据 0x0017(十进制23) 写入 1号从机地址 0x0001数据地址。
数据在传输过程中可能受到干扰或者丢失,为了保证数据的正确性,人们通过CRC校验,来判断报文是否正确,从而决定是接受还是放弃报文。
上面报文最后面的9804就是校验码。他是前面的有效数据 01 06 00 01 00 17通过一系列算法计算出来的。报文接收方通过同样的算法多数据部分进行计算,得到一个CRC校验码。如果接收方计算出的CRC和发送方的CRC不同,则认为报文在发生过程中发生了错误,就拒绝接受报文。
Modbus是一个协议。是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。它可应用于各种数据采集和过程监控。
所谓的协议是什么?就是不同实体间,为了相互通讯而进行的一种约定。比如点头表示同意,摇头表示不同意就可以看成一种通讯协议。没有约定好的协议,便无法交流。
任何人都可以使用国际通用的摩尔斯电码救难信号S.O.S(...---...)进行求救,因为全球都接受这个约定。在夜晚可以用手电筒三短三长三短的发光进行求救。
报文(message)是网络中交换与传输的数据单元,即数据交换过程中一次性要发送的数据块。也称为数据帧, 一个报文就是一帧数据,一个数据帧就一个报文。由协议约定,对报文中的数据进行解释,赋予报文以意义,使得通讯各方都能够理解报文,从而能够交流。
先来简单分析一条MODBUS-RTU报文,例如:01 06 00 01 00 17 98 04
01 06 0001 0017 9804
从机地址 功能号 数据地址 数据 CRC校验
这一串数据的意思是:把数据 0x0017(十进制23) 写入 1号从机地址 0x0001数据地址。
数据在传输过程中可能受到干扰或者丢失,为了保证数据的正确性,人们通过CRC校验,来判断报文是否正确,从而决定是接受还是放弃报文。
上面报文最后面的9804就是校验码。他是前面的有效数据 01 06 00 01 00 17通过一系列算法计算出来的。报文接收方通过同样的算法多数据部分进行计算,得到一个CRC校验码。如果接收方计算出的CRC和发送方的CRC不同,则认为报文在发生过程中发生了错误,就拒绝接受报文。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
晓网科技
2024-10-17 广告
2024-10-17 广告
ZigBee协议适应无线传感器的低花费、低能量、高容错性等的要求。ZigBee是基于IEEE802.15.4标准的低功耗局域网协议。但IEEE仅处理低级MAC层和物理层协议,因此Zigbee联盟扩展了IEEE,对其网络层协议和API进行了标...
点击进入详情页
本回答由晓网科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询