本发明专利技术公开了一种基于VISA的PXI设备访问方法,属于测试技术领域,该方法利用VISA标准库函数机制,通过在PXI设备配置寄存器中烧写设备厂商号、设备号、子厂商号、子设备号、串号等信息,利用VISA资源管理器根据设备串号等信息自动获取设备在系统中的资源描述符,从而对PXI设备进行操作和访问;通过该方法能够实现PXI设备资源的自动配置,能够保证系统中PXI设备访问的唯一性和准确性,避免了手动配置过程中的错误操作可能性,避免设备因配置不当、物理位置变化和设备ID冲突(系统中存在多块相同设备情况)所造成的功能异常,既方便了用户,又保证了PXI模块访问的唯一性和准确性。
【技术实现步骤摘要】
本专利技术属于测试
,具体涉及一种基于VISA的PXI设备访问方法。
技术介绍
PXI是一种开放的标准,具有技术指标和性价比高、功能强、结构灵活、技术更新快 以及易于系统集成等优点,利用PXI产品可以短时快速开发出理想的测控仪器系统,是虚拟 仪器搭建的理想平台。PXI产品已广泛应用于通信、航天、军事和工业自动化测控等领域。 VISA是虚拟仪器体系结构的简称,是计算机与VXI、PXI、GPIB和串口仪器等之间通 信的软件接口集合。VISA作为标准函数,与仪器的I /0接口类型无关,与操作系统与编程语 言无关,只需要很小的修改,就可以从一个平台移植到另一个平台。基于VISA的PXI设备访 问方法,适合于PXI仪器系统的开发和应用。 在PXI设备研发过程中,常用的设备访问方法为基于设备资源描述符的方法,基于 设备槽号的方法和基于设备别名的方法。其中,基于资源描述符的方法是最根本的方法,其 他方法均是在设备描述符的方法的基础上进行的变化升级。 基于资源描述符的方法是设备访问时最基础的方法,但由于在PXI机箱中,不同位 置的PXI设备,资源描述符也不同,在使用时需要用户人为的借助系统设备管理器或者其他 的设备资源管理器软件中获知所需访问的设备的资源描述符,然后通过VISA标准库函数根 据获得的资源描述符直接访问设备。 基于设备槽号的方法是基于资源描述符方法的升级,但是在使用时需要用户通过 人眼观察获得设备的槽号信息,根据槽号位置、系统模板的配置和初始化文件pxisys.ini 和机箱的初始化文件classis. ini等资料间接获得设备的资源描述符,并对机箱进行配置 后方可通过VISA标准库函数根据获得的资源描述符间接访问设备,如果更换了机箱或者零 槽控制器,则需要重新进行机箱配置等操作。 基于设备别名的方法需要用户在第一次使用设备前在设备资源管理器软件中为 设备添加别名,建立资源描述符与别名的关联关系,然后通过VISA标准库函数根据别名访 问设备,其实本质上仍然是以资源描述符对设备进行访问,在更换机箱或者零槽控制器时, 仍然需要再次为设备增加别名。以上几种方法,在使用时均需要用户参与到配置过程,对用 户来说,不仅操作不便,还极容易因配置错误导致PXI系统的功能异常。
技术实现思路
针对现有技术中存在的上述技术问题,本专利技术提出了一种基于VISA的PXI设备访 问方法,通过该方法能够实现PXI设备资源的自动配置,能够保证系统中PXI设备访问的唯 一性和准确性,避免设备因配置不当、物理位置变化和设备ID冲突(系统中存在多块相同设 备情况)所造成的功能异常。 为了实现上述目的,本专利技术采用如下技术方案: 一种基于VISA的PXI设备访问方法,采用VISA标准库函数,VISA库函数定义如下: viOpenDefaultRM():打开默认的VISA资源管理器并初始化VISA系统,用于管理 VISA系统中的各类设备; viOpenO :根据资源描述符打开指定的设备资源; viCloseO:关闭指定的设备资源和VISA资源管理器; viFindRsrcO:根据预设的条件查询VISA系统中符合条件的设备资源,并返回查 找到的设备列表及设备数量; viGetAttributeO :获得设备指定属性的值;所述的基于VISA的PXI设备访问方法按照如下步骤进行:步骤1:将PXI设备的厂商号、设备号、子厂商号、子设备号、串号烧写入PXI设备的 配置寄存器中; 步骤2:利用VISA库函数viOpenDefaultRMO打开VISA资源管理器; 步骤3:查找PXI设备,获得匹配的设备数量nDevNum;步骤4:根据步骤3的查找结果,获得PXI设备的串号,并自动获得PXI设备的资源描 述符; 步骤5 :利用VISA库函数vi0pen()打开资源描述符instrDesc指定的PXI设备,对 PXI设备进行访问操作; 步骤6:访问结束,利用VISA库函数viCloseO关闭PXI设备和VISA资源管理器。优选地,在步骤1中,具体包括步骤1.1:将PXI设备的厂商号、设备号、子厂商号、子设备号烧写到PXI配置寄存器 中规定的地址;步骤1.2:将PXI设备的串号烧写到PXI设备的配置寄存器中未使用到的保留的地 址中。优选地,在步骤3中,具体包括 步骤3.1:根据待访问PXI设备的厂商号、设备号利用VISA库函数viFindRsrcO查 找PXI设备; 步骤3.2:返回匹配到的?乂1设备数量11〇^灿111和第一个符合条件的?乂1设备的资源 描述符instrDesc,并判断匹配到的PXI设备数量nDevNum是否等于0;若:判断结果是PXI设备数量nDevNum等于0,说明当前系统中没有待访问的PXI设 备,则将PXI设备重新插入并安装驱动后,然后执行步骤2; 或判断结果是PXI设备数量nDevNum等于1,说明当前系统中匹配到一个符合条件 的PXI设备,利用VISA库函数viGetAttribute()函数获得PXI设备的资源描述符instrDesc, 然后执行步骤5; 或判断结果是PXI设备数量nDevNum大于1,说明当前系统中匹配到多个符合条件 的PXI设备,利用VISA库函数ViOpenO打开步骤3.1中获得的资源描述符instrDesc所描述 的PXI设备。优选地,在步骤4中,具体包括 步骤4.1:根据PXI设备的资源描述符instrDesc获得PXI设备的总线号nBusNum、设 备号nDevNum以及功能号nFuncNum,并通过移位操作将其组合为控制寄存器的地址m_ CtrlAdd; 步骤4.2:利用I/O函数将配置寄存器地am_RegAdd和控制寄存器地址m_CtrlAdd 分别写入Windows的0xCF8和OxCFC端口; 步骤4.3:利用VISA库函数viln32()获得PXI设备配置寄存器中对应配置寄存器地 am_RegAdd 的串号nSerial ID; 步骤4.4:将串号nSeriallD与待访问的PXI设备的串号进行对比匹配,并判断匹配 是否成功;若:判断结果是匹配成功,返回当前的资源描述符instrDesc,然后执行步骤5; 或判断结果是匹配失败,利用¥134库函数"?111(1此1丨()获得步骤3.2中查找到的 下一个PXI设备的资源描述符instrDesc,然后执行步骤4.1。本专利技术所带来的有益技术效果: 本专利技术提出了一种基于VISA的PXI设备访问方法,与现有技术相比,一种基于VISA 的PXI设备访问方法,该方法利用VISA标准库函数机制,通过在PXI设备配置寄存器中烧写 设备厂商号、设备号、子厂商号、子设备号、串号等信息,利用VISA资源管理器根据设备串号 等信息自动获取设备在系统中的资源描述符,从而对PXI设备进行操作和访问;通过该方法 能够实现PXI设备资源的自动配置,能够保证系统中PXI设备访问的唯一性和准确性,避免 了手动配置过程中的错误操作可能性,避免设备因配置不当、物理位置变化和设备ID冲突 (系统中存在多块相同设备情况)所造成的功能异常,既方便了用户,又保证了 PXI模块访问 的唯一性和准确性。【附图说明】 图1为本专利技术一种基于VISA的PXI设备访问方法的流本文档来自技高网...
【技术保护点】
一种基于VISA的PXI设备访问方法,采用VISA标准库函数,VISA库函数定义如下:viOpenDefaultRM( ):打开默认的VISA资源管理器并初始化VISA系统,用于管理VISA系统中的各类设备;viOpen( ):根据资源描述符打开指定的设备资源;viClose( ):关闭指定的设备资源和VISA资源管理器;viFindRsrc( ):根据预设的条件查询VISA系统中符合条件的设备资源,并返回查找到的设备列表及设备数量;viGetAttribute( ):获得设备指定属性的值;viIn32( ):从指定的地址空间中读取32位数据;其特征在于:所述的基于VISA的PXI设备访问方法按照如下步骤进行:步骤1:将PXI设备的厂商号、设备号、子厂商号、子设备号、串号烧写入PXI设备的配置寄存器中;步骤2:利用VISA库函数viOpenDefaultRM( )打开VISA资源管理器;步骤3:查找PXI设备,获得匹配的设备数量nDevNum;步骤4:根据步骤3的查找结果,获得PXI设备的串号,并自动获得PXI设备的资源描述符;步骤5:利用VISA库函数viOpen( )打开资源描述符instrDesc指定的PXI设备,对PXI设备进行访问操作;步骤6:访问结束,利用VISA库函数viClose( )关闭PXI设备和VISA资源管理器。...
【技术特征摘要】
【专利技术属性】
技术研发人员:刘磊,孙建,邱畅,陈庆磊,
申请(专利权)人:中国电子科技集团公司第四十一研究所,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。