[发明专利]一种智能测量仪器通用语法分析的实现方法有效
申请号: | 201110362641.8 | 申请日: | 2011-11-16 |
公开(公告)号: | CN102521250A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 郭永瑞;井涛;李树彪;孙朋德;刘丹;李明太;赵学强;赵立军 | 申请(专利权)人: | 中国电子科技集团公司第四十一研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266000 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 测量 仪器 通用 语法分析 实现 方法 | ||
技术领域
本发明涉及一种测量仪器语法分析方法,尤其涉及一种智能测量仪器通用语法分析的实现方法,属于程控测量仪器技术领域。
背景技术
目前智能型测量仪器门类繁多,例如功率计、频谱仪、网络仪、信号源、噪声仪、频率计、示波器等。这些智能测量仪器具有一个共同特点:可以通过任何可与之通讯的控制器进行系统集成。这些控制器可能是个人电脑、小型计算机或者卡槽上的插卡,乃至一些人工智能的设备。由控制器通过相应的测试总线,GP-IB、网络等向测量仪器发送程控命令,实现对测量仪器的程控操作(如附图1所示)。但是如何正确输入有效命令、测量仪器如何获取正确指令、如何正确解析在发送过程中可能会出现的发送错误例如:关键字错误、参数个数、参数数据类型不匹配、参数超界等,却是本领域所面临的常见问题。如果测量仪器不能很好地识别这些错误,将无法实现指定功能,甚至可能会造成测量仪器的崩溃。因此,必须对通过通讯接口所接收到的数据和程控命令信息进行解析,判断其合法性,提取有效指令和相应的参数。
语法分析是一项繁琐、复杂的工作,但针对测量仪器又不可或缺。由于用户的输入可能错综复杂,所以稍有考虑不周,就可能出现误判、漏判,从而出现意想不到的情况。由于不同的测量仪器具有不同的测试功能,所以每种测量仪器的生产厂商都要针对自身仪器进行包括语法分析在内的程控的重复开发。这无疑会造成大量、重复的劳动,造成极大的人力、物力浪费。而经多方查阅,到目前为止还没有一套完整的、完善的、针对不同测量仪器通用的语法分析方法。
因此,能否针对不同门类的智能测量仪器,搭建出一套完善的通用语法分析平台以同时满足其各自程控的要求,成为本领域技术人员亟待解决的技术难题。
发明内容
为了解决上述技术问题,提出本发明。本发明旨在提供一种智能测量仪器通用语法分析的实现方法,其基于SCPI(Standard Commands for Programmable Instruments——可程控设备的标准命令,一个基于标准IEEE488.2建立的、适合所有仪器的命令集),针对多种智能测量仪器开发的。用于使不同测量仪器相同功能具有相同的程控命令,以实现程控命令的通用性。其采用的技术方案如下:
该种智能测量仪器通用语法分析的实现方法包括以下步骤:
1)生成命令树:利用二叉树的方式来构建数据结构,将整个语法分析的过程分成生成树过程和遍历树过程;
2)语法分析:与接口相应的线程接收来自接口的命令和数据,并送语法分析先进先出队列,激活语法分析;逐个分离出用户输入命令的关键字,依据生成树中的数据结构,判断输入的整条命令在每个具体部位是否存在问题,然后对正确的分析进行解析解码,把相应的命令和参数分别送入命令队列,激活命令处理线程进行相应的命令处理;对错误的命令予以抛弃,并进行示警和错误定位。
优选地,所述命令树包括如下五个数据结构:命令和关键字结构、节点结构、叶子节点结构、参数链表结构以及C参数链表。
优选地,在所述语法分析步骤中,还使用命令结构和参数结构,在语法分析完成某条命令之后,这两个结构分别写入命令处理线程。
优选地,在遍历树的过程中,如果在同级的目录中没有找到,在下级中查找乃至一直找到叶子节点;如果在叶子节点还没有找到,回溯到之前正确的解析部位,在其兄弟节点乃至兄弟节点的子节点中继续查找。
优选地,所述用户输入命令包括大数据块命令。
优选地,所述用户输入命令中还包括关联命令,在语法分析步骤中关联命令出现问题时,把前面判断正确的命令包括命令码和参数送给命令处理,而出错之后的命令包括本条进行清除。
优选地,其特征在于,所述接口为GPIB或网络。
优选地,对于大数据块关联命令还包括如下处理步骤:分析到大数据块参数时,把所有滞留命令全部一并写入命令先进先出队列中,然后等待;命令处理到这条命令时,发消息给语法分析,并给语法分析一个缓冲区的指针,然后命令处理处于等待状态;语法分析直接从语法先进先出队列中按当前的数据格式进行读取,然后写入到对应的内存中;如果在处理大数据的过程中出现错误,则发送消息给命令处理线程,结束该命令的处理,同时设置该条命令的关联码为最后一个;如果没有出错,就要看是否是关联命令的中间一条,要等到下一条命令处理完毕,得到正确的关联码之后才给命令处理发消息;如果不是中间一条,则在处理完之后给命令处理发消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第四十一研究所,未经中国电子科技集团公司第四十一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110362641.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:裙板锁闭失效保护装置及动车
- 下一篇:一种处理应用程序的方法及无线手持设备