[发明专利]一种SCPI命令定义、解析、执行和测试的方法有效
| 申请号: | 201510735655.8 | 申请日: | 2015-10-27 |
| 公开(公告)号: | CN105260223B | 公开(公告)日: | 2018-10-16 |
| 发明(设计)人: | 徐达旺;刘宝东;赵立军 | 申请(专利权)人: | 中国电子科技集团公司第四十一研究所 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F11/36 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 266555 山东省*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 scpi 命令 定义 解析 执行 测试 方法 | ||
1.一种SCPI命令定义、解析、执行和测试的方法,其特征在于,包括以下步骤:
步骤(1)、设计SCPI命令定义规则,定义命令的命令码、主体、参数、命令选项;
步骤(2)、预处理规则文件,包括以下步骤:
步骤(21)检查规则是否有效,无效时定位错误位置,并给出错误信息;
步骤(22)如果规则文件有效,则产生加密后的SCPI格式化命令数组;
步骤(3)、根据SCPI数组,在内存中动态创建经过排序的命令树;
步骤(4)、将用户输入的命令解析成内部可识别的命令码,并根据命令码执行预定义的命令函数,对于无效命令,给 出符合SCPI规范的错误码和错误信息,包括:预处理、命令解析、命令执行;
预处理:对命令单元进行词法分析,将满足SCPI规范的命令单元存入命令缓冲区,对于不满足规范的命令单元进行错误处理;
命令解析:执行命令的解析,将解析结果存入解析结果缓冲区;
命令执行:根据命令解析产生的解析结果,执行预定义的命令函数;
步骤(5)、将规则文件定义的命令分解成相应形式,对每种形式进行解析,包括创建SCPI数组、创建命令树、解析执行;
创建SCPI数组:在内存中动态创建格式化的命令数组,用于创建命令树;
创建命令树:在内存中动态创建命令树;
解析执行:对待测试的命令进行解析,统计解析用时;
步骤(6)、根据规则文件创建SCPI数组,产生可集成到仪器软件中的全部命令执行代码框架和SCPI状态管理代码。
2.如权利要求1所述的SCPI命令定义、解析、执行和测试的方法,其特征在于,所述步骤(1)中,命令码是唯一标识命令的整数,按命令的升序从1开始递增;
命令主体由以分号隔开的命令关键字组成;对于每个关键字,定义其长格式规范、短格式规范、数值后缀规范、缺省规范、等价规范;
参数定义命令的参数清单,包括参数类型、参数单位、参数范围;
命令选项包括命令的操作选项、用户选项。
3.如权利要求1所述的SCPI命令定义、解析、执行和测试的方法,其特征在于,所述步骤(3)具体包括:预处理、规则解析与处理、命令树的管理;
预处理:对SCPI数组进行解密操作;
规则解析与处理:包括命令解析、参数解析与单位解析;
命令树的管理:包括创建、插入、删除、拷贝和查询操作;其中,
创建操作:创建新的命令树节点,将新命令树节点信息存储到关键字结构数组中;
插入操作:在指定位置插入新的节点,插入位置是通过查询命令树获取;
删除操作:删除指定节点及其子节点;
拷贝操作:拷贝一个节点的所有信息到另一个节点,节点的短格式首先加入命令树,长格式直接拷贝短格式节点;
查询操作:从命令树的指定位置查找用户指定节点,如果存在,则返回找到的节点,否则返回查找前的节点。
4.如权利要求1所述的SCPI命令定义、解析、执行和测试的方法,其特征在于,所述步骤(6)具体包括:
生成器产生框架代码的初始源代码,该代码可直接与仪器软件一起编译;
通过SCPI库封装的程控命令函数指针设置函数将函数列表传给SCPI库,SCPI库在完成用户命令的解析后,直接根据命令码,索引该列表,并执行;
通过SCPI库封装的SCPI库装载函数将SCPI数组传给SCPI库,SCPI库进行用户命令树的动态创建;
仪器编程人员将接收到的命令信息存入命令接收缓冲区,调用执行框架中的函数进行解析执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第四十一研究所,未经中国电子科技集团公司第四十一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510735655.8/1.html,转载请声明来源钻瓜专利网。





