,这种菜单通常都与一个有实际意义的参数关联,用来输入数值;另一种是不可输入数值的菜单,这种菜单通常用来触发某种功能,它不与有实际意义的参数关联。
[0032]与菜单资源项所关联的参数必须存储有关参数合法性判定的条件,比如:对于整型、浮点类参数,要判定用户输入的数值是否超出了参数范围即最小值和最大值。
[0033]仪器菜单资源项状态可分为使能状态、禁止状态和隐藏状态。使能状态表示点击此菜单项可输入数值或触发某种功能;禁止状态表示点击此菜单项不会触发任何操作;隐藏状态表示此菜单项对用户不可见。
[0034]仪器的远程SCPI命令资源也可以分为两类,一种是设置\查询命令,这种SCPI命令通常都与一个或多个有实际意义的参数关联,主要用来修改或查询参数;另一种是功能命令,这类SCPI命令通常用来触发某种功能,它不与任何参数关联。
[0035]与设置\查询命令所关联的参数必须存储有关参数合法性判定的条件,比如:对于整型、浮点类参数,要判定命令所带参数是否超出了参数范围即最小值和最大值;对于离散类参数,要判定命令所带参数是否在离散参数的取值范围集内。
[0036]针对仪器数据资源格式需求,本发明将数据资源分成整型参数类、浮点参数类、离散参数类、字符串参数类和空参数类。
[0037]其中,整型类参数用于仪器存储整型数据资源,浮点参数类用于仪器存储浮点数据资源,离散参数类用于仪器存储只能取有限个数值的离散数据资源,字符串参数类用于仪器存储字符串数据资源,空参数类属于一个扩展参数类,仅用于存储菜单资源项的显示状态,这种菜单资源项不与有实际意义的整型参数、浮点参数、离散参数、和字符串参数关耳关。
[0038]整型类参数结构包括:
[0039](1)当前值:用于存储参数的当前取值;
[0040](2)默认值:用于存储参数的默认值;
[0041](3)最小值:用于存储参数的最小值;
[0042](4)最大值:用于存储参数的最大值;
[0043](5)单位:用于存储参数所带单位,如Hz、dB、s等;
[0044](6)步进值:用于存储参数递增或递减值;
[0045](7)参数状态:用于存储参数输入状态,与菜单资源项状态意义一致;
[0046](8)扩展域:用于参数属性扩展。
[0047]浮点类参数结构包括:(1)当前值:用于存储参数的当前取值;
[0048](2)默认值:用于存储参数的默认值;
[0049](3)最小值:用于存储参数的最小值;
[0050](4)最大值:用于存储参数的最大值;
[0051](5)单位:用于存储参数所带单位,如Hz、dB、s等;
[0052](6)步进值:用于存储参数递增或递减值;
[0053](7)精度:用于存储参数的显示精度;
[0054](8)参数状态:用于存储参数输入状态,与菜单资源项状态意义一致;
[0055](9)扩展域:用于参数属性扩展。
[0056]离散类参数结构包括:
[0057](1)当前值:用于存储参数的当前取值;
[0058](2)默认值:用于存储参数的默认值;
[0059](3)最小值:用于存储参数的最小值;
[0060](4)最大值:用于存储参数的最大值;
[0061](5)取值映射表:对于离散参数的取值可以是像0、1的数值,也可以是像关、开、ON、OFF等有意义的字符串,取值映射表存储的正是有意义的字符串到实际数值的映射;
[0062](6)参数状态:用于存储参数输入状态,与菜单资源项状态意义一致;
[0063](7)扩展域:用于参数属性扩展。
[0064]字符串类参数结构包括:
[0065](1)当前值:用于存储参数的当前取值;
[0066](2)默认值:用于存储参数的默认值;
[0067](3)参数状态:用于存储参数输入状态,与菜单资源项状态意义一致;
[0068](4)扩展域:用于参数属性扩展。
[0069]空参数结构包括:(1)参数状态:用于存储参数输入状态,与菜单资源项状态意义一致;
[0070](2)扩展域:用于参数属性扩展。
[0071]参数当前值,在本地接口中用于在菜单上显示参数的当前取值,在远程接口中用来接收远程SCPI命令的设置或查询。
[0072]参数默认值,一般只用于远程接口,当远程的SCPI设置命令后所带参数为“DEF”时,需要将参数的当前值设置为默认值。
[0073]参数最小值、最大值,在本地接口中用于判定用户通过菜单输入的数值是否在参数的取值范围内,在远程接口中用来判定远程SCPI命令所带参数是否在参数的取值范围内。
[0074]参数单位,在本地接口中用于在菜单上显示带单位的参数,在远程接口中用来判定远程SCPI命令所带参数的单位是否合法。
[0075]参数步进值,在本地接口中,当用户点击“UP”、“D0WN”键后参数需要递增或递减的值,在远程接口中,当SCPI设置命令后所带参数为“UP”、“D0WN”时,需要将参数的当前值递增或递减一个步进值。
[0076]参数精度,仅用于本地接口,指定浮点参数在菜单上需要显示到小数点后的第几位。
[0077]离散取值映射表,在本地接口中,用于动态生成多选一的离散菜单项或开关菜单项供用户选择;在远程接口中,用于判定远程SCPI命令所带参数的合法性,若命令参数串不在映射表中,返回参数不合法,若在,返回参数合法。
[0078]参数状态,仅用于本地接口,与菜单资源项状态意义一致,指定与参数关联的菜单项的状态,当参数使能代表菜单也使能,当参数禁止修改代表菜单也禁止用户操作,当参数隐藏代表菜单对用户也不可见。
[0079]扩展域,用于参数属性扩展,可用于本地接口,也可用于远程接。
[0080]空参数,目前是针对本地接口中的功能菜单扩展的参数类,仅用于存储功能菜单显示状态,这种菜单不与有实际意义的整型参数、浮点参数、离散参数、和字符串参数关联。
[0081]综上所述,本发明为不同参数类定义的数据资源逻辑结构综合了仪器本地接口数据资源与远程接口数据资源的特征域,并预留了扩展域,可实现本地与远程接口的数据资源共享。数据资源的共享剔除了冗余数据、节省了存储空间。同时它也摒弃了现有方案中的同步数据映射表,依据测量仪器任一时刻只接受一种输入方式的前提,本发明也不需要考虑共享资源的竞争。
[0082]本发明提出的数据资源配置的管理方法包括本地菜单资源与数据资源的关联、远程SCPI命令资源与数据资源的关联、数据资源访问权限控制和数据资源访问接口设计,本发明方法的总体方案设计如图1所示:
[0083]数据资源配置管理方法规定,本地菜单资源和远程SCPI命令资源可与数据资源直接关联,一个菜单资源项最多可关联一个数据资源项,一条SCPI命令可以关联多个数据资源项。
[0084]本发明的方法声明所有数据资源为私有,任何客户程序都不能直接访问数据资源。该方法为数据资源中的每个数据资源项都提供访问和修改接口,客户程序只能通过这对接口访问或修改数据资源。该方法在数据资源项的修改接口中,预留了虚接口的调用,客户程序可以通过重写虚接口来实现关联参数的自动设置。
[0085]本地菜单资源与数据资源关联,本地菜单资源大致分为两类,可输