- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Modbus_Poll_使用说明讲述
Modbus Poll 使用说明:
破解
按照 文件中注册过程.GIF显示的方式即可完成注册。调试的时候,只需要使用mbpoll,因此只需完成mbpoll的注册。
2.破解后,点击mbpoll图标,显示下面主窗口。如果没有没有子窗口,点击file-New
note:No Connection表示未和串口连接。
3.建立,设置
下面针对演示modbus poll怎样调试ascii模式下 功能01:read coil (读线圈)
ps:线圈(coil)是一个专业名称,我们可以把一个线圈为一位开关量,比如这次的课设中读线圈就是读p2.0~p2.3的开关状态,写线圈就是控制p2.4~p2.7的Led的亮、灭。包括功能功能03 06 0x10, 量程上,下限,报警上下限,测量值是5个16位寄存器。
1)点击菜单Setup-Poll Definition 出现如上图
Slave :表示从机的地址。(范围1-255,要与自己的从机的地址一致)
Function:功能码的选择。(read coil 的功能码为 01)
Address:表示线圈的起始地址。(线圈的地址并不一定非要是物理地址(即单片机中p2.0~p2.7的在单片机中的实际地址),可以使用逻辑地址,比如为0~7
length :表示读取开关量的数量。
Scan Rate:可以先不管,按照默认设置。
Enable Poll 如图设置(打上勾)。
点击OK
2)点击菜单Connection –connect 出现如下图
选上ASCII 选项,左边的5个选项和“串口调试助手”设置一样。‘port4’即‘com4’
其他选项按默认设置。
点击OK
如果调试程序正确的话(当然参数是按照上面设置的)出现下面图
Tx = 166:表示向主站发送数据帧次数,图中为次;Err = 0:表示通讯错误次数,图中为0次; 9 b/ I8 B* [. ~9 {3 m; {, C- vID = :表示,图中地址为; / z( \( v! c, b( \, @: X8 ]F = 0:表示所使用的Modbus功能码,图中为0功能码;SR = 1000ms:表示扫描周期
最下面的4行表示地址与对应线圈的状态,这是从从机获取的。
ps:当然,刚开始调试的时候很有可能出现错误提示
timeout error:超时,很可能是单片机没有发送数据(响应帧)。
crc error :校验出错,在ascii 模式表示lrc校验出错
write error,byte missing error 这些错误的原因都可在Communication Traffic 中查到
随便提一提菜单 Display 2个功能
最重要的功能是下面的Communication Traffic 可以查看通讯数据帧,对单片机的程序调试有很好的帮助。
点击 Display-communication打开
Tx:表示发送的数据帧(主机(电脑)-从机(单片机))
Rx:表示接收的数据帧 (从机-主机)
如上图就是功能01下正常情况下的一种显示;
ps:如果只有Tx,没有Rx说明单片机没有向主机发送响应帧。如果有 RX选上stop on
err即停止,说明响应帧格式不对。
000000-Tx:3A 30 32 30 31 30 30 30 30 30 30 30 34 46 39 0D 0A
表示发送的数据帧
3A:是‘:’的ascii码,在ascii模式中当起始位。
30 32:分别是‘0’,‘2’对应的ascii码。
30 31:分别是‘0’,‘1’的ascii码。
30 30 30 30:表示被读线圈的起始地址(16位),前2个数高8位 后两个数表示低8位,因此起始地址是0X0000;如果起始地址是0x1234,主机发送的就是31 32 33 34了。
30 30 30 34:表示读的线圈的个数(length 16位),同样30 30表示高8位,30 34 是低8位。
ps:以上设置与第2个图对应。
46 39:Lrc校验(8位)的对应16进制,高四位的ascii码,与低4位的ascii码。
计算的方式:0x02+0x01+0x00+0x00+0x00+0x04=0x07 取反0xF8 加一 0xF9 ‘F’对应的ascii码0x46 ‘9’对应的ascii码0x39.大概就是除去起始位3a,从开始2个一对组成一个2位16进制,相加,取反,加一。然后转换成2个ascii码。
ps:这个软件中lrc校验的结果对应是A,B,C,D,E,F大写ascii码,也就是说,比如算出的lrc校验结果是0xF9,问题是发送46 39对应的是F,9;还是发送0x66 0x09 f,9对应的ascii码?这个调试软件选择是前者。所以在写
文档评论(0)