MODBUS学习笔记

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Modbus学习笔记-20150414一、MODBUS学习参考资料:1、参考了阳光光伏逆变器,科诺伟业,上能的MODBUS通信协议,并学习了他们的通信例程介绍。2、MODBUS的ModScan32调试助手功能学习应用。3、网上搜索例程和学习资料,参考了ModbusRTUSlave例程。二、MODBUS简介:Modbus协议是由莫迪康提出的一种串口驱动通信协议。Modbus协议是主从结构,即主机发送请求给从机,从机收到请求后根据要求返回主机需要的数据或状态。Modbus协议有两种数据格式:RTU和ASCII模式,在相同的波特率下,RTU的能够传输的数据量比较大。目前应用较多的是ModbusRTU和ModbusTCP/IP两种协议。最常用的Modbus通信调试工具就是ModScan32和ModSim32。通过调试工具可以模拟主从收发协议通信状态。同时可以更改发送数据内容。MODBUS通过CRC校验方式(待续)。这里所说的寄存器信息地址是存放于控制器中的地址,不一定是PLC地址,可以是任意控制器中的地址,一般用10进制描述。具体见MODSAN32使用说明。在ModbusPointType就是要读取的寄存器区:“01:COILSTATUS”指1号命令DO读线圈状态寄存器“02:INPUTSTATUS”指2号命令DI读开关输入状态寄存器“03:HOLDINGREGUSTER”指3号命令AO读保存寄存器“04:INPUTREGISTER”指4号命令AI读输入寄存器在Connection中选择PC中的COM口,和协议格式,需要保持一致。Address表示的是寄存器的起始地址,DeviceId表示设备地址,Length表示寄存器的数据长度。ModbusPointType表示的是命令类型,以上几点必须和ModScan32设置保持一致。串口监控抓到的数据。010300000010440601:从机地址。03:控制命令字。0000:寄存器起始地址,高位在前,地位在后。0010:寄存器数据长度,高位在前,地位在后。4406:CRC校验值,低位在前,高位在后。CRC的计算:CRC计算是通过查表获得CRC校验值和传输过来的CRC值进行比较,来验证。CRC计算方式代码如下:传递数据去除最后两位CRC位获取CRC值,CRC计算值低位在前,高位在后。CRC表入下图:一帧数据的判断方式:按帧间隔时间来判断。(100ms以上)

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功