modbus 入门篇,详细介绍 值得收藏
很多朋友对modbus,入门篇,详细介绍,值得收藏不是很了解,艾巴小编刚好整理了这方面的知识,今天就来带大家一探究竟。
下面简单分析一个MODBUS-RTU报文,例如: 01 06 00 01 00 17 98 0401 06 00 01 00 17 98 04 从机地址功能号数据地址数据CRC校验这串数据的意思是:数据0x0017(十进制23)写1 号从机地址0x0001 的数据地址。先搞清楚以下几点。
Message 消息就是一帧数据,数据帧就是一条消息: 指的是一串完整的命令数据,就像上面的一串数据。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上位机计算)相等,如果不相等,说明数据传输有错误,无法请求到数据。3、功能号含义:modbus定义。
见附录1。 功能:表示具体操作。
MODBUS-RTU一、一条消息分析首先声明我们的目的,我们要让两个设备进行通信,使用MODBUS协议。以上简单介绍了:“消息”、“CRC校验”和“功能号”。
取出单片机中的一部分内存(RAM),实现两个设备的通信,例如:数组后面的注释表示OX[20]表示一个输出线圈,用功能码0x00x05、0x0F访问,起始地址为0(这个后续解释) IX[20]表示一个输入线圈,用功能码0x02,开头地址为1(这个后续说明),其他两个相同。注意:所谓“线圈”和“寄存器”分别是“位变量”和“16位变量”,不要混淆。
之所以叫“线圈”我想应该是针对应用设备而言,MODBUS协议是专门为485总线设备(如PLC)开发的。主机向从机写入数据。
如果MCU收到报文,就会对报文进行分析,并进行相应的处理,比如上面的报文: 01 06 00 01 00 17 98 04 从机地址Function number data address data CRC check 如果本地地址为1,那么MCU收到这串数据,计算CRC校验,判断数据是否正确。如果判断数据正确,则结果为: HoldDataReg[1]=0x0017;MODBUS 主机完成对从机数据的写操作,实现通信。
2、主机从从机读取HoldDataReg[1],报文为:01 03 00 01 00 01 D5 CA 从机地址功能号数据地址读取数据号CRC 然后MCU收到这串数据并根据数据计算CRC校验,判断数据是否正确。如果判断数据正确,则结果为:向主机返回信息,返回信息也有格式:返回内容:01 03 02 0017 F8 4A 从机地址,功能号,数据字节数,二-字节数据CRC校验,MODBUS主站完成一次从站数据的读取操作,实现通信。
二、MODBUS报文模型以上了解了MODBUS的帧报文是如何进行通信的。其实每条消息的格式基本都是一样的。
以前不知道这里的两个缩写词,现在需要明白它们指的是什么,“ADU”和“PDU” ADU:Application Data Unit PDU:Protocol Data Unit三、MODBUS数据模型四、MODBUS事务处理下面的状态图描述了服务器端MODBUS事务处理的一般处理过程。五、MODBUS请求和响应见MODBUS协议手册,中文从第10页开始,英文从第24页开始。
手册详细说明了MODBUS协议各功能号的请求和响应。 modbus协议在单片机上实现进程MODBUS任务处理功能函数中RcvBuf为串口接收缓冲区。
如果收到报文,RcvBuf[0]为从机地址,RcvBuf[0]为MODBUS功能号。根据函数号进行响应,根据函数号在各自的函数中执行具体的操作,相当于对接收到的数据进行解析。
附录一:MODBUS-RTU功能码最常用的功能码:下面的“线圈”和“寄存器”其实是“位变量”和“16位变量” 01(0x01)读线圈02(0x02)读离散输入03 (0x03) 读取保持寄存器04 (0x04) 读取输入寄存器05 (0x05) 写入单个线圈06 (0x06) 写入单个寄存器15 (0x0F) 写入多个线圈16 (0x10) 写入多个寄存器附录2:CRC 生成。
以上就是关于modbus,入门篇,详细介绍,值得收藏的知识,希望能够帮助到大家!
推荐阅读
- alfa romeo车标含义?(阿尔法罗密欧车标)
- 华为鸿蒙os如何操作 华为鸿蒙os2.0系统官网报名入口
- 14款沃尔沃s60l二手车能买吗?(沃尔沃s60为什么贬值厉害)
- power mp3 wma converter(mp3格式转换器)软件介绍(power mp3 wma converter(mp3格式转换器))
- 42岁李贞贤宣布平安生女,网友:歌声击退山贼的那个
- 热火朝天的高铁WiFi迟迟未到(5G能否破局)
- 华为手机性价比最高是哪几款2022? 华为哪款手机性价比高最值得入手
- 进口捷豹全部车型报价?(捷豹报价大全价格表)
- 韩庚江铠同疑相恋,两人同游马尔代夫遭曝光
- 八卦格字帖软件介绍(八卦格字帖)
- 虚拟机 操作系统(操作系统整合:虚拟机管理程序的下一步)
- 比亚迪f6参数配置?(比亚迪f6)
- 奥沙利文获世锦冠军,奥沙利文得了几次世锦赛冠军
- Evel Knievel手游游戏介绍(Evel Knievel手游)
- 索尼wi1000x拆解(SONYNZW-X1000系列高清拆解图集)
- 4座硬顶敞篷跑车都有哪几款?(4门4座硬顶敞篷车推荐)
- 艺术体操团体全能决赛,艺术体操团体全能决赛中国
- 工人物语6通用修改器游戏介绍(工人物语6通用修改器)
- 简述电机换向器的工作原理图(简述电机换向器的工作原理)
- Atheros-AR5007EG无线网卡驱动软件介绍(Atheros-AR5007EG无线网卡驱动)