modbuspoll使用说明.pdf

上传人:l**** 文档编号:72023431 上传时间:2023-02-08 格式:PDF 页数:4 大小:284.56KB
返回 下载 相关 举报
modbuspoll使用说明.pdf_第1页
第1页 / 共4页
modbuspoll使用说明.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《modbuspoll使用说明.pdf》由会员分享,可在线阅读,更多相关《modbuspoll使用说明.pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

2、圈就是读课设中读线圈就是读 p2.0p2.3p2.0p2.3 的开关状态,的开关状态,写线圈就是控制写线圈就是控制 p2.4p2.7p2.4p2.7 的的 LedLed 的亮、的亮、灭。灭。包括功能功能包括功能功能 03 06 0*1003 06 0*10,量程上,下限,报警上下限,测量值是量程上,下限,报警上下限,测量值是5 5 个个 1616 位存放器。位存放器。1点击菜单 Setup-Poll Definition 出现如上图Slave:表示从机的地址。围 1-255,要与自己的从机的地址一致Function:功能码的选择。read coil 的功能码为 01Address:表示线圈的起

3、始地址。线圈的地址并不一定非要是物理地址即单片机中p2.0p2.7 的在单片机中的实际地址,可以使用逻辑地址,比方为07length:表示读取开关量的数量。Scan Rate:可以先不管,按照默认设置。Enable Poll 如图设置打上勾。点击 OK2点击菜单 Connection connect 出现如以下图选上 ASCII 选项,左边的 5 个选项和串口调试助手设置一样。port4即4其他选项按默认设置。点击 OK如果调试程序正确的话当然参数是按照上面设置的出现下面图T*=166:表示向主站发送数据帧次数,图中为166 次;Err=0:表示通讯错误次数,图中为0 次;ID=2:表示从机地

4、址 02,图中地址为 2;F=01:表示所使用的 Modbus 功能码,图中为 01 功能码;SR=1000ms:表示扫描周期。最下面的 4 行表示地址与对应线圈的状态,这是从从机获取的。ps:当然,刚开场调试的时候很有可能出现错误提示timeout error:超时,很可能是单片机没有发送数据响应帧。crcerror:校验出错,在 ascii 模式表示 lrc 校验出错writeerror,byte missing error 这些错误的原因都可在munication Traffic 中查到随便提一提菜单 Display 2 个功能1)最重要的功能是下面的munication Traffic

5、 可以查看通讯数据帧,对单片机的程序调试有很好的帮助。点击 Display-munication翻开T*:表示发送的数据帧主机电脑-从机单片机 R*:表示接收的数据帧 从机-主机如上图就是功能 01 下正常情况下的一种显示;ps:如果只有 T*,没有 R*说明单片机没有向主机发送响应帧。如果有 R*选上 stop onerr 即停顿,说明响应帧格式不对。.z.-000000-T*:3A 30 32 30 31 30 30 30 30 30 30 30 34 46 39 0D 0A表示发送的数据帧3A:是:的 ascii 码,在 ascii 模式中当起始位。30 32:分别是0,2对应的 asc

6、ii 码。30 31:分别是0,1的 ascii 码。30 30 30 30:表示被读线圈的起始地址(16 位),前2 个数高 8 位 后两个数表示低 8 位,因此起始地址是 0*0000;如果起始地址是 0*1234,主机发送的就是 31 32 33 34 了。30 30 30 34:表示读的线圈的个数length 16 位,同样 30 30 表示高 8 位,30 34 是低 8 位。ps:ps:以上设置与第以上设置与第 2 2 个图对应。个图对应。46 39:Lrc 校验8 位的对应 16 进制,高四位的 ascii 码,与低 4 位的 ascii 码。计算的方式:0*02+0*01+0*

7、00+0*00+0*00+0*04=0*07 取反 0*F8 加一 0*F9F 对应的 ascii码 0*46 9对应的ascii 码 0*39.大概就是除去起始位3a,从开场2 个一对组成一个 2 位 16进制,相加,取反,加一。然后转换成2 个 ascii 码。psps:这个软件中:这个软件中 lrclrc 校验的结果对应是校验的结果对应是 A,B,C,D,E,FA,B,C,D,E,F 大写大写 asciiascii 码,也就是说,比方算出的码,也就是说,比方算出的 lrclrc校验结果是校验结果是 0*F9,0*F9,问题是发送问题是发送 46 3946 39 对应的是对应的是F,9F,

8、9;还是发送;还是发送 0*66 0*09 f,90*66 0*09 f,9对应的对应的 asciiascii 码码.这这个调试软件选择是前者。所以在写单片机程序特别注意。个调试软件选择是前者。所以在写单片机程序特别注意。lrclrc 校验例可以参考校验例可以参考modbusmodbus 协议中文版协议中文版 附录附录 C C0d 0a:是回车换行符的 ascii 码。因此可根据 0*3a,0d,0a 判断 1 帧数据的开场与结尾。再根据协议的语法规则,也就知道了所有。000000-R*:3A 30 32 30 31 30 31 30 46 45 44 0D 0A表示响应帧,左边是先被承受到的

9、。同样 3A 0D 0A 分别表示的是开场与结尾的标志。30 32:从机地址。30 31:功能码30 31:字节数,这是有 length 决定的。具体参考modbus 中文协议书30 46:对应的十六进制 0*0F,不读的位 0 来填补。0000Coil31Coil21Coil11Coil01lrc 计算:0*02+0*01+0*01+0*0F=0*13 取反 0*EC 加 1 0*ED 转换为对应 ascii 码 0*45 0*44这个响应帧意味着在单片机要向SBUF 先后写入0*3A 0*30 0*32 0*30 0*31 0*30 0*31 0*30 0*46 0*45 0*44 0*0

10、D 0*0A2)PLC Addresses(Base 1)protocol Addresses(Base 0)选择。地址格式设置:Modbus poll 默认使用 PLC 地址,Display菜单中PLC Addresses(Base 1)为默认选中状态,默认存放器的起始地址为1 开场,如果测试时需要设置起始地址为0 开场,可选择ProtocolAddresses(Base0).z.-LRCLRC 校验校验 testtest 工具使用工具使用点击 Function-test center 翻开如下窗口:test center使用说明:选 LRC 选项。比方要计算 30 32 30 31 30

11、31 30 46的 lrc 校验结果,如图输入3A 30 32 30 31 30 31 30 46 下面就可显示结果ps:一定要加 3A,但注意 LRC 校验在 ascii 模式中开场位 0*3A,与完毕位 0*0D 0*0A,不参与校验。但在使用这个工具时一定要加在开场位加3A,不加 0d 0a。功能功能 0303 功能调试功能调试read Holding registersread Holding registers读保持存放器(多个)Setup-poll definition-Function-03 read Holding registers 如以下图其他和 slave address

12、 length选项和 01 的设置相似。各自的具体含义可以参考modbus 协议 中文版一以下图是 modus 程序的显示:存放器地址是从 0 开场编的,5 个存放器。0,1,2,3,4,也可以只读其中的一局部连续的存放器,比方读 2,3,4 存放器时,设置 address 为 2,length 为 3.第二幅图是对应地址与其数据,图上的显示采用的是16 进制显示,也可选其他的方式。如图 3,Display 的又一个功能。0505 功能调试功能调试 write single coilwrite single coil两种方式翻开或直接点击工具栏上的 05.z.-功能 06 15 16 的翻开方

13、式与之一样。在 ascii 模式中,FF00 值请求线圈的处于 ON 状态,0000H 值规定线圈处于 OFF 状态。具体可看协议。响应正确 会出现 Response ok 框。出错的话也有对应的对话框,错误的原因可以从 munication Traffic 中找到。munication Traffic是一个很好的查错工具。psps:上面的显示要最先翻开:上面的显示要最先翻开 munication Trafficmunication Traffic 对话框。对话框。0606 功能的调试功能的调试 write single registerwrite single register翻开方式与 0

14、5 功能的一样。发送前:设置 value 的值,psps:valuevalue 以什么形式输入,可点击以什么形式输入,可点击 DisplayDisplay 选择,比方选上选择,比方选上 he*he*即以即以 1616 进制输入。进制输入。点击 send 如以下图很容易看出 00000 对应的 0*1234 改变为 FFFF。以下图是munication Traffic 显示的发送帧与响应帧。对照协议书,可确证帧是否符合规则。psps:modbus pollmodbus poll 读和写可以同时工作。读和写可以同时工作。读存放器和写存放器可以同时工作。如果写存放器的时候,取消读的功能读存放器和写

15、存放器可以同时工作。如果写存放器的时候,取消读的功能翻开翻开 poll definitionpoll definition翻开方式上面以说明翻开方式上面以说明,Set up,Set up去掉去掉 Enable pollEnable poll 勾选项。然后点击勾选项。然后点击 okok06 功能帧的格式具体见modbus 协议中文版1515 号功能的调试号功能的调试 write multiple coilswrite multiple coils翻开方式不再赘述写多个线圈,再看一例再看一例:上面分别是对应线圈发送0000,0110,1001 的两种图示。打钩表示 1,否则 0.帧格式见modbu

16、s 协议中文版1616 号功能,号功能,write multiple registerswrite multiple registers写多个存放器。发送前,设置要发送的数左键双击要设置的数点击 send 如以下图psps:如果有错,可以查看一下看:如果有错,可以查看一下看 municationmunication TrafficTraffic 的显示,不过要在翻开的显示,不过要在翻开 1616 功能窗口之前功能窗口之前就要翻开就要翻开 munication Trafficmunication Traffic 窗口,才能实时看到对应的数据帧。窗口,才能实时看到对应的数据帧。再看一个例子send 前设置点击 send可以看出对应的存放器的值已经改变,modbus poll 同时工作在读存放器与写存放器状态。psps:写:写 modbusmodbus,由于程序较大,要用破解版的,由于程序较大,要用破解版的keilkeil。.z.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com