一种应用于测量仪器的语音控制系统及方法

文档序号:9782 发布日期:2021-09-17 浏览:39次 英文

一种应用于测量仪器的语音控制系统及方法

技术领域

本发明属于测量

技术领域

,具体涉及一种应用于测量仪器的语音控制系统及方法。

背景技术

为了实现对测量仪器的远程控制,目前大多数测量仪器都提供远程控制接口,以便用户可以通过编程实现对测量仪器的远程操作,而且绝大多数测量仪器都提供符合SCPI命令规范的编程接口。

用户通常需要通过学习《IEEE Standard 488.1-1987,IEEE Standard DigitalInterface for Programmable Instrumentation.New York,NY,1998》和《IEEE Standard488.2-1992,IEEE Standard Codes,Formats,Protocols and Command Commands for Usewith ANSI/IEEE Standard 488.1-1987.New York,NY,1998.》来掌握SCPI命令的基础知识,然后再查阅测量仪器提供的《编程手册》,了解每条SCPI命令的功能及参数设置,并筛选出跟自己测量任务相关命令,最后通过终端提供的命令输入工具向远程测量仪器发送控制命令,或者由编程人员编制专用程序来完成对远程测量仪器的控制。

现有技术都是通过远程控制命令也即SCPI命令,来完成对远程测量仪器的操作。

首先,SCPI命令规范相当严谨、其内容晦涩难懂,需要用户花费一定的时间才能掌握,如设置测量仪器“外部中止触发源”的命令“[:SOURce]:STReam:ABORt:TRIGger:EXTernal:SOURceTRIGger[1]|TRIGger2|…|TRIGger14|STRobe”就是按照SCPI命令规范定义的。SCPI命令规范定义了命令类型、命令语法、命令树、命令参数及命令响应等一系列内容,对普通用户来说学习成本太大。

其次,随着测量仪器功能的不断增强,测量仪器提供的编程接口也就是SCPI命令呈爆炸式增长,提供给用户的编程手册动辄就几百页,用户除了掌握SCPI命令规范外,还需要学习测量仪器厂商提供的编程手册,另外,完成同一功能的不同测量仪器,可能由不同的厂商提供,不同厂商的SCPI命令通常情况又不兼容,这就给用户使用带来了极大的不便,同时也不利于测量仪器的推广使用。

以现有的技术要想完成对远程测量仪器的操作,用户需要先掌握SCPI命令规范,因为仪器提供的远程编程接口都是基于SCPI命令规范,而SCPI命令规范的学习对用户要求很高并且相关知识也很多;其次用户需要学习测量仪器提供的《编程手册》,掌握每条命令的功能及相关参数的配置;最后用户从众多SCPI命令中找出符合自己需要的相关命令及配置参数,然后通过终端提供的命令输入工具向远程测量仪器发送控制命令,或者由编程人员编制专用程序来完成对远程测量仪器的控制。现有的技术要求用户投入大量的人力及时间去学习SCPI命令规范和测量仪器提供的《编程手册》,这无疑增加了用户的使用成本。

发明内容

针对现有技术中存在的上述技术问题,本发明提出了一种应用于测量仪器的语音控制系统及方法,设计合理,克服了现有技术的不足,具有良好的效果。

为了实现上述目的,本发明采用如下技术方案:

一种应用于测量仪器的语音控制系统,包括语音数据处理模块、语音命令解析模块、参数处理模块和远控发送模块;

语音数据处理模块,被配置为用于将语音信息转换成文本信息,借助第三方语音服务先将语音信息转换成原生的文本信息,再对原生的文本信息进行处理,包括提取数值字符、剔除标点符号以及转换谓词,将原生文本信息拆分处理成便于语音命令解析的文本信息,包括命令信息和数值信息;

语音命令解析模块,被配置为用于将输入的文本信息,逐个与映射表中语音关键词信息匹配,一般会找到匹配度较高的多个选项,这里只保留前三个选项,并输出这三个选项的参数ID;若找不到任何匹配项,返回出错并提示用户不可识别重新输入;

参数处理模块,被配置为用于依据参数ID对应的参数信息,从语音数据处理模块输出的文本信息中提取命令参数;

对于整型参数和浮点参数,参数信息对应文本信息中的数值信息,只需要将数值信息转换成对应的整数和浮点数即可;对于离散参数,需要从离散取值映射表逐个与文本信息匹配找到合适的离散字符信息,然后再将离散字符信息转换为离散值;对于事件参数,不需要做任何处理,因为此类参数只用来触发,不携带数据,经过对参数数据的处理,参数处理模块最终会输出一条完整的SCPI命令;

远控发送模块,被配置为用于将完整的SCPI命令发送到目标仪器,既能够采用网络套接字SOCKET发送,也能够调用现成的VISA库接口发送。

优选地,针对仪器参数资源需求,将仪器参数资源分成整型参数、浮点参数、离散参数、字符串参数和事件参数五大类;并为不同类型仪器参数定义一套数据资源逻辑结构:

整型参数,用于表示测量仪器对外开放的整型控制接口;

浮点参数,用于表示测量仪器对外开放的浮点型接口;

离散参数,用于表示测量仪器对外开放的开关类和多选一类接口;

字符串参数,用于表示测量仪器对外开放的字符串型接口;

事件参数,用于表示测量仪器对外开放的触发或执行类接口。

优选地,整型参数数据结构包括1)默认值:用于存储接口数据的默认值;2)最小值:用于存储接口数据的最小值;3)最大值:用于存储接口数据的最大值;4)SCPI命令:用于存储与此参数关联的SCPI命令;5)语音关键词:用于存储与此参数关联的语音关键词。

优选地,浮点型参数数据结构包括1)默认值:用于存储接口数据的默认值;2)最小值:用于存储接口数据的最小值;3)最大值:用于存储接口数据的最大值;4)SCPI命令:用于存储与此参数关联的SCPI命令;5)语音关键词:用于存储与此参数关联的语音关键词。

优选地,离散型参数数据结构包括1)默认值:用于存储接口数据的默认值;2)最小值:用于存储接口数据的最小值;3)最大值:用于存储接口数据的最大值;4)取值映射表:对于离散数据的取值能够是像0、1的数值,也能够是包括关、开、ON、OFF、内部、外部、手动和自动在内的有意义的字符串,取值映射表存储的正是有意义的字符串到实际数值的映射;5)SCPI命令:用于存储与此参数关联的SCPI命令;6)语音关键词:用于存储与此参数关联的语音关键词。

优选地,事件型参数数据结构包括1)SCPI命令:用于存储与此参数关联的SCPI命令;2)语音关键词:用于存储与此参数关联的语音关键词。

此外,本发明还提到一种应用于测量仪器的语音控制方法,该方法采用如上所述的应用于测量仪器的语音控制系统,具体包括如下步骤:

步骤1:通过语音数据模块,对语音信息进行语音数据处理,转换成文本信息;

步骤2:通过语音命令解析模块,对文本信息进行语音命令解析,输出语音命令对应的参数ID;

步骤3:参数处理模块,依据参数信息提取语音命令中的参数部分并进行处理,输出完整的SCPI命令;

步骤4:远控发送模块将完整的SCPI命令发送到目标机,完成对目标仪器的控制。

优选地,文本信息也称为语音命令,它包含命令部分和参数部分。

优选地,在步骤3中,具体包括如下步骤:

步骤3.1:利用语音关键词词库从语音命令中截取出头部区域的命令部分;

步骤3.2:通过语音命令关键词与SCPI命令的映射表,查找出跟语音命令关联的SCPI命令,再依据与SCPI命令关联的仪器参数资源类型提取语音命令中的参数部分;语音命令中参数部分的提取依赖于命令部分;

步骤3.3:将SCPI命令与经过处理的参数部分拼装成一条完整的SCPI命令

优选地,

本发明所带来的有益技术效果:

本发明针对仪器参数资源需求,将仪器参数资源分类并定义了一套资源逻辑结构,奠定了语音转换的基础;

本发明提出的语音信息到SCPI命令的转换方法,不依赖任何操作系统平台,所以可应用于多种类型的终端,并且有利于于测量仪器的推广使用。

附图说明

图1为本发明方法的流程图。

图2为扩展示意图。

具体实施方式

下面结合附图以及具体实施方式对本发明作进一步详细说明:

本发明通过收集仪器参数资源的需求,将仪器参数资源抽象为五大类,分别为整型参数、浮点参数、离散参数、字符串参数和事件参数,并为不同类型仪器参数定义了一套数据资源逻辑结构,在这套数据资源逻辑结构上建立远程控制命令(SCPI命令)与语音关键词的关联。本发明还提出了一种语音控制方法,它使用第三方服务将终端接收到的语音数据转换为文本信息,此文本信息也称为语音命令,它包含命令部分和参数部分,参数部分的提取依赖于命令部分,所以首先利用语音关键词词库从语音命令中截取出头部区域的命令部分,再通过远程控制命令(SCPI命令)与语音关键词的映射表,查找与此命令关联SCPI命令和仪器参数资源类型,依据命令关联的仪器参数资源类型提取参数部分并转换处理,然后将SCPI命令与经过处理的参数拼装成一条完整的SCPI命令,最后经由网络发送给目标仪器完成测量仪器的语音控制。本发明技术方案包括仪器参数资源逻辑结构定义和远程测量仪器的语音控制方法。

针对仪器参数资源需求,本发明将仪器参数资源分成整型参数、浮点参数、离散参数、字符串参数和事件参数。其中整型参数用于表示测量仪器对外开放的整型控制接口,浮点参数用于表示测量仪器对外开放的浮点型接口,离散参数用于表示测量仪器对外开放的开关类和多选一类接口,字符串数据类用于表示测量仪器对外开放的字符串型接口,事件参数用于表示测量仪器对外开放的触发或执行类接口。整型参数数据结构包括1)默认值:用于存储接口数据的默认值;2)最小值:用于存储接口数据的最小值;3)最大值:用于存储接口数据的最大值;4)SCPI命令:用于存储与此参数关联的SCPI命令;5)语音关键词:用于存储与此参数关联的语音关键词。浮点型参数数据结构包括1)默认值:用于存储接口数据的默认值;2)最小值:用于存储接口数据的最小值;3)最大值:用于存储接口数据的最大值;4)SCPI命令:用于存储与此参数关联的SCPI命令;5)语音关键词:用于存储与此参数关联的语音关键词。离散型参数数据结构包括1)默认值:用于存储接口数据的默认值;2)最小值:用于存储接口数据的最小值;3)最大值:用于存储接口数据的最大值;4)取值映射表:对于离散数据的取值可以是像0、1的数值,也可以是像关、开、ON、OFF、内部、外部、手动、自动等有意义的字符串,取值映射表存储的正是有意义的字符串到实际数值的映射;5)SCPI命令:用于存储与此参数关联的SCPI命令;6)语音关键词:用于存储与此参数关联的语音关键词。事件型参数数据结构包括1)SCPI命令:用于存储与此参数关联的SCPI命令;2)语音关键词:用于存储与此参数关联的语音关键词。

仪器参数中存储的默认值、最小值、最大值,后面会被用于参数部分的解析,主要用来将字面词语转换为具体的数值。离散型参数中的取值映射表,也是用于参数部分的解析,如“设置射频输出为开”的语音命令中,参数部分的“开”,它需要转换为具体的数值“1”之后才能使用。仪器参数中的语音关键词和SCPI命令会被用于建立从语音关键词到SCPI命令的映射表。

综上所述,在本发明中为不同类型的仪器参数所定义的逻辑结构,包含了语音命令解析所需的必要信息,是本发明技术方案的基础。

本发明提出的远程测量仪器语音控制方法包括语音数据处理、语音命令解析、参数处理和远控发送四个部分。本方法的总体方案设计如图1所示:语音信息经过语音数据处理后转换成文本信息,文本信息经过语音命令解析会输出语音命令对应的参数ID,参数处理模块依据参数信息提取语音命令中的参数部分并处理,输出完整的SCPI命令,远控发送将完整的SCPI命令发送到目标机,完成对目标仪器的控制。

语音数据处理的主要功能是将语音信息转换成文本信息,此模块功能借助第三方语音服务先将语音信息转换成原生的文本信息,再对原生的文本信息进行处理,包括提取数值字符,剔除标点符号,转换谓词,将原生文本信息拆分处理成便于语音命令解析的文本信息,包括命令信息和数值信息。

语音命令解析将输入的文本信息,逐个与映射表中语音关键词信息匹配,正常情况下会找到匹配度较高的多个选项,这里只保留前三个选项,并输出这三个选项的参数ID。若找不到任何匹配项,返回出错并提示用户不可识别重新输入。语音命令解析模块用到语音命令映射表如下所示:

表1映射表

语音关键词 参数ID SCPI命令
频率 PID_FREQ :FREQ
功率 PID_POWER :POW
调幅状态 PID_AM :AM:STATE

语音关键词可以是名词,也可以是动宾短语,还可以包含数值,但是不能只包含数值,参数ID为一整型数,也即仪器参数在内存中存储位置的索引,SCPI命令可以是短格式,也可以是全格式。

参数处理模块的主要功能是依据参数ID对应的参数信息,从语音数据处理模块输出的文本信息中提取命令参数,对于整型参数和浮点参数,参数信息对应文本信息中的数值信息,只需要将数值信息转换成对应的整数和浮点数即可;对于离散参数,需要从离散取值映射表逐个与文本信息匹配找到合适的离散字符信息,然后再将离散字符信息转换为离散值,如0、1、2、3等;对于事件参数,不需要做任何处理,因为此类参数只用来触发,不携带数据。经过对参数数据的处理,参数处理模块最终会输出一条完整的SCPI命令。

命令发送模块的主要功能是将完整的SCPI命令发送到目标仪器,可采用网络套接字SOCKET发送,也可以调用现成的VISA库接口发送,总之此模块无需设计,可直接借用。

综上所术,本发明将仪器参数资源抽象为四大类,并为不同类型的参数定义了一套数据资源逻辑结构,它包含了语音命令解析所需的必要信息,是本发明技术方案的基础。同时本发明提出了一种把语音信息转换为SCPI命令的方法,从而实现了对远程测量仪器的语音控制。

从本发明的仪器参数资源分类、数据资源逻辑结构定义、以及把语音信息转换为SCPI命令的方法,都不与任何操作系统平台关联,对于不同的操作系统平台只需用平台相关的编程语言即可实现对远程测量仪器的语音控制。本发明的扩展如图2所示。

当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种5G智慧杆

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!