ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:591.16KB ,
资源ID:8350340      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8350340.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Modbus_Poll_使用说明.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Modbus_Poll_使用说明.doc

1、Modbus Poll 使用说明:1. 破解按照 文件中“注册过程.GIF“显示的方式即可完成注册。调试的时候,只需要使用mbpoll,因此只需完成 mbpoll的注册。2破解后,点击 mbpoll图标,显示下面主窗口。如果没有没有子窗口,点击 file-Newnote:No Connection 表示未和串口连接。3.建立,设置下面针对演示 modbus poll怎样调试 ascii模式下 功能 01:read coil (读线圈)ps:线圈(coil)是一个专业名称,我们可以把一个线圈为一位开关量,比如这次的课设中读线圈就是读 p2.0p2.3的开关状态,写线圈就是控制 p2.4p2.7的

2、 Led的亮、灭。包括功能功能 03 06 0x10, 量程上,下限,报警上下限,测量值是 5个16位寄存器。1)点击菜单 Setup-Poll Definition 出现如上图Slave :表示从机的地址。 (范围 1-255,要与自己的从机的地址一致)Function:功能码的选择。 (read coil 的功能码为 01)Address:表示线圈的起始地址。 (线圈的地址并不一定非要是物理地址(即单片机中p2.0p2.7的在单片机中的实际地址) ,可以使用逻辑地址,比如为 07length :表示读取开关量的数量。Scan Rate:可以先不管,按照默认设置。Enable Poll 如图

3、设置(打上勾) 。点击 OK2)点击菜单 Connection connect 出现如下图选上 ASCII 选项,左边的 5个选项和“串口调试助手”设置一样。 port4即com4其他选项按默认设置。点击 OK如果调试程序正确的话(当然参数是按照上面设置的)出现下面图Tx = 166:表示向主站发送数据帧次数,图中为 166次;Err = 0:表示通讯错误次数,图中为 0次; ID = 2:表示从机地址 02,图中地址为 2; F = 01:表示所使用的 Modbus功能码,图中为 01功能码;SR = 1000ms:表示扫描周期。最下面的 4行表示地址与对应线圈的状态,这是从从机获取的。ps

4、:当然,刚开始调试的时候很有可能出现错误提示timeout error:超时,很可能是单片机没有发送数据(响应帧) 。crc error :校验出错,在 ascii 模式表示 lrc校验出错write error,byte missing error 这些错误的原因都可在 Communication Traffic 中查到随便提一提菜单 Display 2 个功能1) 最重要的功能是下面的 Communication Traffic 可以查看通讯数据帧,对单片机的程序调试有很好的帮助。点击 Display-communication 打开Tx:表示发送的数据帧(主机(电脑)-从机(单片机) )

5、Rx:表示接收的数据帧 (从机-主机)如上图就是功能 01下正常情况下的一种显示;ps:如果只有 Tx,没有 Rx说明单片机没有向主机发送响应帧。如果有 RX 选上 stop onerr即停止,说明响应帧格式不对。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位 后两个数表示低

6、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个一对组成一个

7、2位 16进制,相加,取反,加一。然后转换成 2个 ascii码。ps:这个软件中 lrc校验的结果对应是 A,B,C,D,E,F大写 ascii码,也就是说,比如算出的 lrc校验结果是 0xF9,问题是发送 46 39对应的是F,9;还是发送 0x66 0x09 f,9对应的 ascii码?这个调试软件选择是前者。所以在写单片机程序特别注意。lrc校验范例可以参考modbus 协议中文版附录 C0d 0a :是回车换行符的 ascii码。因此可根据 0x3a,0d,0a 判断 1帧数据的开始与结尾。再根据协议的语法规则,也就知道了所有。000000-Rx:3A 30 32 30 31 30

8、 31 30 46 45 44 0D 0A表示响应帧,左边是先被接受到的。同样 3A 0D 0A分别表示的是开始与结尾的标志。30 32:从机地址。30 31:功能码30 31:字节数,这是有 length决定的。具体参考modbus 中文协议书30 46:对应的十六进制 0x0F,不读的位 0来填补。Coil3 Coil2 Coil1 Coil00 0 0 0 1 1 1 1lrc计算:0x02+0x01+0x01+0x0F=0x13 取反 0xEC 加 1 0xED转换为对应 ascii码 0x45 0x44这个响应帧意味着在单片机要向 SBUF先后写入0x3A 0x30 0x32 0x3

9、0 0x31 0x30 0x31 0x30 0x46 0x45 0x44 0x0D 0x0A2)PLC Addresses (Base 1) protocol Addresses (Base 0)选择。地址格式设置: Modbus poll默认使用 PLC地址, “Display”菜单中“PLC Addresses(Base 1)”为默认选中状态,默认寄存器的起始地址为 1开始,如果测试时需要设置起始地址为 0开始,可选择“Protocol Addresses(Base0).bLRC校验 test工具使用点击 Function-test center打开如下窗口:test center使用说明

10、:选 LRC 选项。比如要计算 30 32 30 31 30 31 30 46 的 lrc校验结果,如图输入3A 30 32 30 31 30 31 30 46 下面就可显示结果ps:一定要加 3A,但注意 LRC校验在 ascii模式中开始位 0x3A,与结束位 0X0D 0X0A,不参与校验。但在使用这个工具时一定要加在开始位加 3A,不加 0d 0a。功能 03 功能调试 read Holding registers 读保持寄存器(多个)Setup-poll definition-Function-03 read Holding registers 如下图其他和 slave addres

11、s length选项和 01的设置相似。各自的具体含义可以参考modbus协议 中文版一下图是 modus程序的显示:寄存器地址是从 0开始编的,5 个寄存器。0 ,1 ,2,3,4,也可以只读其中的一部分连续的寄存器,比如读 2,3,4寄存器时,设置 address为 2,length 为 3.第二幅图是对应地址与其数据,图上的显示采用的是 16进制显示,也可选其他的方式。如图 3 ,Display 的又一个功能。05功能调试 write single coil两种方式打开或直接点击工具栏上的 05 功能 06 15 16 的打开方式与之一样。在 ascii模式中,FF00 值请求线圈的处于

12、 ON状态,0000H 值规定线圈处于 OFF状态。具体可看协议。响应正确 会出现 Response ok框。出错的话也有对应的对话框,错误的原因可以从 Communication Traffic中找到。Communication Traffic是一个很好的查错工具。ps:上面的显示要最先打开 Communication Traffic对话框。06功能的调试 write single register打开方式与 05功能的一样。发送前:设置 value的值,ps:value 以什么形式输入,可点击 Display选择,比如选上 hex即以 16进制输入。点击 send如下图很容易看出 0000

13、0对应的 0x1234 改变为 FFFF。下图是 Communication Traffic显示的发送帧与响应帧。对照协议书,可确证帧是否符合规则。ps:modbus poll 读和写可以同时工作。读寄存器和写寄存器可以同时工作。如果写寄存器的时候,取消读的功能打开 poll definition(打开方式上面以说明,Set up)去掉 Enable poll勾选项。然后点击 ok06功能帧的格式具体见modbus 协议中文版15号功能的调试 write multiple coils打开方式不再赘述写多个线圈,再看一例再看一例:上面分别是对应线圈发送 0000,0110,1001的两种图示。打钩表示 1,否则 0.帧格式见modbus 协议中文版16号功能,write multiple registers写多个寄存器。发送前,设置要发送的数(左键双击要设置的数)点击 send如下图ps:如果有错,可以查看一下看 Communication Traffic的显示,不过要在打开 16功能窗口之前就要打开 Communication Traffic窗口,才能实时看到对应的数据帧。再看一个例子send前设置点击 send可以看出对应的寄存器的值已经改变,modbus poll 同时工作在读寄存器与写寄存器状态。ps:写 modbus,由于程序较大,要用破解版的 keil。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报