[发明专利]Modbus RTU帧内与帧间字符间隔时间设置和检测显示系统及方法无效
申请号: | 200710072521.8 | 申请日: | 2007-07-18 |
公开(公告)号: | CN101094110A | 公开(公告)日: | 2007-12-26 |
发明(设计)人: | 佟为明;赵志衡;陈培友;刘勇;潘悦;李中伟 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/24 |
代理公司: | 哈尔滨市松花江专利商标事务所 | 代理人: | 朱永林 |
地址: | 150001黑龙江*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | modbus rtu 字符 间隔时间 设置 检测 显示 系统 方法 | ||
1、Modbus RTU帧内与帧间字符间隔时间设置和检测显示系统,其特征在于它由主节点(1)、从节点(2)、Modbus总线(3)组成;
所述主节点(1)由第一键盘(1-1)、第一微处理器单元(1-2)、第一显示单元(1-3)、第一通信单元(1-4)、启动发送按钮(1-5)组成;第一键盘(1-1)的控制数据输出总线端、启动发送按钮(1-5)的控制数据输出总线端分别连接第一微处理器单元(1-2)的一个控制数据输入总线端,第一通信单元(1-4)的通信数据输出输入总线端连接第一微处理器单元(1-2)的通信数据输出输入总线端,第一微处理器单元(1-2)的显示数据输出总线端连接第一显示单元(1-3)的数据输入总线端;
从节点(2)由第二键盘(2-1)、第二微处理器单元(2-2)、第二显示单元(2-3)、第二通信单元(2-4)组成;第二键盘(2-1)的控制数据输出总线端连接第二微处理器单元(2-2)的控制数据输入总线端,第二通信单元(2-4)的通信数据输出输入总线端连接第二微处理器单元(2-2)的通信数据输出输入总线端,第二微处理器单元(2-2)的显示数据输出总线端连接第二显示单元(2-3)的数据输入总线端;
主节点(1)的第一通信单元(1-4)的Modbus总线接口、从节点(2)的第二通信单元(2-4)的Modbus总线接口都依次连接在Modbus总线(3)上。
2、Modbus RTU帧内与帧间字符间隔时间设置和检测显示方法,其特征在于它的方法步骤为:
步骤一、启动系统,初始化主节点(1)、从节点(2),初始化内容包括设置各处理器单元的定时器和串口工作模式、初始化各显示单元,并设置从节点(2)的地址为01h、定义计数器变量TCOUNT并将其初值设置为0;
步骤二、通过主节点(1)的第一键盘(1-1)对第一微处理器单元(1-2)的字符间隔时间进行设置,设置的3个字符间隔时间分别为:t1≤1.5倍字符时间,1.5倍字符时间<t2<3.5倍字符时间,t3≥3.5倍字符时间;
步骤三、通过主节点(1)中的第一键盘(1-1)输入两帧请求报文,分别为:报文1为01h,08h,00h,00h,AAh,55h,CRCL1,CRCH1;报文2为01h,06h,11h,22h,CCh,33h,CRCL2,CRCH2;
步骤四、设置主节点(1)的发送报文为正确的报文,即帧内与帧间字符间隔时间符合Modbus协议;按下主节点(1)中的启动发送按钮(1-5),主节点(1)发送报文中字符的发送顺序及时间间隔为:发送01h,发送完成后延迟t1立即发送08h,发送完成后延迟t1立即发送00h,发送完成后延迟t1立即发送00h,发送完成后延迟t1立即发送AAh,发送完成后延迟t1立即发送55h,发送完成后延迟t1立即发送CRCL1,发送完成后延迟t1立即发送CRCH1,发送完成后延迟t3立即发送01h,发送完成后延迟t1立即发送06h,发送完成后延迟t1立即发送11h,发送完成后延迟t1立即发送22h,发送完成后延迟t1立即发送CCh,发送完成后延迟t1立即发送33h,发送完成后延迟t1立即发送CRCL2,发送完成后延迟t1立即发送CRCH2;
步骤五、设置主节点(1)的发送报文的字符间隔时间为错误类型1,即将一帧报文拆分成两帧;按下主节点(1)中的启动发送按钮(1-5),主节点(1)发送报文中字符的发送顺序及时间间隔为:发送01h,发送完成后延迟t1立即发送08h,发送完成后延迟t1立即发送00h,发送完成后延迟t1立即发送00h,发送完成后延迟t3立即发送AAh,发送完成后延迟t1立即发送55h,发送完成后延迟t1立即发送CRCL1,发送完成后延迟t1立即发送CRCH1,发送完成后延迟t3立即发送01h,发送完成后延迟t1立即发送06h,发送完成后延迟t1立即发送11h,发送完成后延迟t1立即发送22h,发送完成后延迟t3立即发送CCh,发送完成后延迟t1立即发送33h,发送完成后延迟t1立即发送CRCL2,发送完成后延迟t1立即发送CRCH2;
步骤六、设置主节点(1)的发送报文的字符间隔时间为错误类型2,即将两帧报文合并成一帧;按下主节点(1)中的启动发送按钮(1-5),主节点(1)发送报文中字符的发送顺序及时间间隔为:发送01h,发送完成后延迟t1立即发送08h,发送完成后延迟t1立即发送00h,发送完成后延迟t1立即发送00h,发送完成后延迟t1立即发送AAh,发送完成后延迟t1立即发送55h,发送完成后延迟t1立即发送CRCL1,发送完成后延迟t1立即发送CRCH1,发送完成后延迟t1立即发送01h,发送完成后延迟t1立即发送06h,发送完成后延迟t1立即发送11h,发送完成后延迟t1立即发送22h,发送完成后延迟t1立即发送CCh,发送完成后延迟t1立即发送33h,发送完成后延迟t1立即发送CRCL2,发送完成后延迟t1立即发送CRCH2;
步骤七、设置主节点(1)的发送报文的字符间隔时间为错误类型3,即因发送报文的相邻字符的间隔时间不符合Modbus协议而导致产生错误字符;按下主节点(1)中的启动发送按钮(1-5),主节点(1)发送报文中字符的发送顺序及时间间隔为:发送01h,发送完成后延迟t1立即发送08h,发送完成后延迟t1立即发送00h,发送完成后延迟t1立即发送00h,发送完成后延迟t2立即发送AAh,发送完成后延迟t1立即发送55h,发送完成后延迟t1立即发送CRCL1,发送完成后延迟t1立即发送CRCH1,发送完成后延迟t3立即发送01h,发送完成后延迟t1立即发送06h,发送完成后延迟t1立即发送11h,发送完成后延迟t1立即发送22h,发送完成后延迟t2立即发送CCh,发送完成后延迟t1立即发送33h,发送完成后延迟t1立即发送CRCL2,发送完成后延迟t1立即发送CRCH2;
步骤八、从节点(2)通过串口接收中断和定时器溢出中断来检测相邻两个字符之间的间隔时间;定时器工作在自动重载入模式,当定时时间达到0.5倍字符时间时,产生溢出中断;从节点(2)每接收到一个字符,即产生一个串口中断,在串口接收中断服务程序中对定时器和TCOUNT清零,定时器和TCOUNT立即重新开始计数;定时器每溢出一次,即对计数器变量TCOUNT做加1运算;根据TCOUNT的值解析报文:当TCOUNT≤5时,认为一帧报文尚未结束;当5≤TCOUNT<9时,认为上次接收到的字符为一帧报文的最末字符,而若在下次定时器中断之前接收到新的字符,则认为该字符为错误字符;当TCOUNT≥9时,认为其后接收到的字符为新一帧报文的首字符;
步骤九、从节点(2)根据接收到的字符和检测到的相邻字符之间的间隔时间,按照所解析的报文帧的组成来,通过第二显示单元(2-3)显示报文,依次为:
“报文1:01h,08h,00h,00h,AAh,55h,CRCL1,CRCH1;
“报文2:01h,06h,11h,22h,CCh,33h,CRCL2,CRCH2;
“报文3:01h,08h,00h,00h;
“报文4:AAh,55h,CRCL1,CRCH1;
“报文5:01h,06h,11h,22h;
“报文6:CCh,33h,CRCL2,CRCH2;
“报文7:01h,08h,00h,00h,AAh,55h,CRCL1,CRCH1,01h,06h,11h,22h,CCh,33h,CRCL2,CRCH2;
“报文8:01h,08h,00h,00h;
“报文9:错误字符: AAh,55h,CRCL1,CRCH1;
“报文10:01h,06h,11h,22h;
“报文11:错误字符:CCh,33h,CRCL2,CRCH2”。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710072521.8/1.html,转载请声明来源钻瓜专利网。