[发明专利]一种提高PC通过ModBus协议监控单片机的速度的方法有效
| 申请号: | 200910263075.8 | 申请日: | 2009-12-16 |
| 公开(公告)号: | CN101739328A | 公开(公告)日: | 2010-06-16 |
| 发明(设计)人: | 沈斌;陈志明 | 申请(专利权)人: | 台安科技(无锡)有限公司 |
| 主分类号: | G06F11/30 | 分类号: | G06F11/30;H04L29/06 |
| 代理公司: | 无锡华源专利事务所 32228 | 代理人: | 聂汉钦 |
| 地址: | 214028 江苏省无锡*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提高 pc 通过 modbus 协议 监控 单片机 速度 方法 | ||
技术领域
本发明涉及通过调整ModBus通讯命令来提高PC监控单片机的速度的方 法。
背景技术
PC通过ModBus协议监控单片机的速度受两大条件限制:一是通讯次数; 二是单次通讯的时间。随着技术的发展,PC通过按照现有方法编写的ModBus 通讯命令来监控单片机的速度已跟不上要求,行业内迫切需要对现有ModBus 通讯命令进行调整,以实现更快速的监控。
发明的内容
针对上述问题,申请人进行了研究改进,提供一种提高PC通过ModBus 协议监控单片机的速度的方法,不但可以减少通讯次数,而且可以缩短单次通 讯的时间。
本发明的技术方案如下:
一种提高PC通过ModBus协议监控单片机的速度的方法,把所有需要监 控的元件列出来并按顺序排列,将第一个元件的地址作为所要读取的元件的起 始地址,将第一个元件到最后一个元件的连续的地址的总数作为从起始地址开 始共要读取的元件的数量,在通讯长度最大的允许范围内一次性读取所有需要 监控的元件,发送一条ModBus通讯命令。
若所述需要监控的元件为位元件,则将第一个位元件所在字节的最低位的 地址作为所要读取的元件的起始地址,将第一个元件所在字节的最低位到最后 一个元件所在字节的最高位的连续的地址的总数作为从起始地址开始共要读 取的元件的数量。
本发明的有益技术效果是:
本发明在通讯长度最大的允许范围内尽可能一次性多读几个需要监控的 元件,以减少发送的通讯命令条数,来达到在传输速度确定的前提下提高监控 的速度的目的。在读取位元件时尽量整个字节一起读,而不只读其中的某几个 位,使单片机可以少处理大量的移位指令,减少单片机通讯处理上的时间消耗, 从而大大缩短单次通讯所需的时间。
具体实施方式
实施例以寄存器以及线圈作为需要监控的元件,其中线圈作为需要监控的 位元件。ModBus指令有读单个寄存器与读多个寄存器的通讯命令,也有读单 个线圈与多个线圈的通讯命令。下面分别通过读多个寄存器以及读多个线圈两 种情况,对本发明的具体实施方式做进一步说明。
实施例1:读多个寄存器
例如,需要读取地址分别为0x1A32和0x1A36的两个寄存器。按现有方 法,PC将分别发送以下2条ModBus通讯命令来读取这两个寄存器的值:
01 03 1A32 00 01 CRCLow CRCHi
01 03 1A36 00 01 CRCLow CRCHi
上述ModBus通讯命令的格式,即其从左到右的每组数据分别代表:设备 地址、功能码、起始寄存器地址的高位、起始寄存器地址的低位、读取的寄存 器数量的高位、读取的寄存器数量的低位、CRC校验的低位、CRC校验的高 位。
如第一条通讯命令表示:设备地址为01,当前命令的功能为读取寄存器 (03),所要读取的寄存器的起始地址为1A 32,从起始地址开始共要读取00 01 个数量的寄存器,最后是CRC校验码。第二条通讯命令表示:设备地址为01, 当前命令的功能为读取寄存器(03),所要读取的寄存器的起始地址为1A 36, 从起始地址开始共要读取00 01个数量的寄存器,最后是CRC校验码。
本发明则是把上述两条ModBus通讯命令合并成一条ModBus通讯命令来 发送。应用本发明的方法,在整合通讯命令前,需要把所有需要监控的元件列 出来并按顺序排列,排列结果为0x1A32、0x1A36。然后只要发送一条ModBus 通讯命令,即可把两个寄存器值都读取出来。该ModBus通讯命令如下:
01 03 1A 32 00 05 CRCLow CRCHi
经过本发明方法整合后的上述通讯命令表示:设备地址为01,当前命令的 功能为读取寄存器(03),所要读取的寄存器的起始地址为1A 32,从起始地址 开始共要读取00 05个数量的寄存器,最后是CRC校验码。这样的通讯命令一 次性读取了5个连续的寄存器,其中包含了2个需要监控的寄存器,将原本两 条命令才实现的功能的用一条命令就涵盖了,减少了通讯的次数,大大缩短了 监控所需的时间。
实施例2:读多个线圈
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于台安科技(无锡)有限公司,未经台安科技(无锡)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910263075.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:底面全开式螺带混合机
- 下一篇:一种卧式塑胶加热搅拌机





