基于虚拟仪器的旋变/数字转换系统设计
扫描二维码
随时随地手机看文章
摘要:针对某型航迹绘算仪的轴角测试问题,提出了一种基于LabVIEW和PCI-1753的轴角信号测试方法,并给出了具体实施方案。应用结果表明,其性能完全符合要求,实现了对航迹仪轴角信号的测试。
关键词:旋转变压器;LabVIEW;PCI-1753;数据采集
引言
航迹绘算仪(以下简称航迹仪)是非常重要的航海导航设备,用于自动推算船舶的船位并将其航迹自动绘制在麦卡托海图上。当航迹仪出现故障进厂维修时,需构建航迹仪仿真运行与测试平台,完成航迹仪在线工作环境的模拟和解算输出的检测,以方便维修人员对故障进行排除和检测维修后的航迹仪经纬度输出精度是否满足要求等。对于大量采用旋转变压器(以下简称“旋变”)、自整角机等微电机作为机械解算元件的航迹仪来说,轴角信号的采集是其仿真运行与测试平台需重点解决的问题之一。本文以一路纬度信号(旋转变压器输出,转值2°/r,激磁40V400Hz,信号电压23V,增量式输出)的采集为例介绍一种旋变轴角模拟信号的采集方法。
设计方案
为了保证系统的通用性和可扩展性,采用基于虚拟仪器技术的测试平台。考虑到体积、重量等因素,采用固态技术,而不使用机械式旋转变压器。为了提高开发速度,轴角转换模块的控制采用数字I/O卡,避免基于PCI总线板卡的软硬件设计。仿真运行与测试平台构建航迹仪所需的工作环境,并对航迹仪各旋转变压器解算输出进行检测。整个仿真运行与测试平台由硬件系统和软件系统两大部分组成。轴角信号的采集基于航迹仪仿真运行与测试平台,其系统组成如图1所示。图中,轴角/数字转换模块用于将旋转变压器输出的模拟角度信号转换成与TTL电平兼容的并行自然二进制码数字量[1,2],其工作所需的激磁和工作电源分别由激磁电源和直流电源提供。
硬件设计
轴角信号采集的硬件由研华工控机及其配件、数字I/O卡、朝阳一体化变频电源、轴角/数字转换模块、旋转变压器/数字轴角转换电路板、信号转接底板等组成。轴角/数字转换模块实现轴角旋变模拟量到数字量的转换,其选型根据输出的纬度信号的性质决定,包括分辨率、激磁、变比等,经分析后定制SDC1806[2]。数字I/O卡选用研华的一款基于PCI总线的数字量I/O卡PCI-1753,非常适合航迹仪仿真运行与测试平台,其主要特点为:96路TTL数字量I/O;仿真8255 PPI,模式0;提供比8255更高的驱动能力缓冲电路;系统热启动后,保持I/O口设置和数字量输出值;支持干、湿接点[3]。信号转接底板完成数字I/O卡、多功能采集卡、电源信号与轴角转换电路之间的连接、轴角转换电路与航迹仪之间的连接以及电源信号与电平及脉冲信号采集电路板之间的连接等。图2给出了SDC1806模块与数字I/O卡和旋转变压器等的连接关系。
软件设计
软件设计是轴角信号采集的灵魂。用基于LabVIEW开发的软件运行在工控机平台中,实现对旋转变压器轴角信号的采集、处理及显示等。软件总体上包括零位对准模块、纬度采集模块、角度解算模块、数据显示模块、数据存储和回放模块等。
零位对准模块
假设初始纬度为80°,此时旋变输出应为0°,由于旋变存在机械零位,实际上纬度采集值不为0°,而为包含0-2°之间的某一个角度如1.95°的值,因此必须把该角度作为一个初始零位,在此后每次采集时都要加上这个初始零位。具体方法为:纬度采集值加上2°,减去纬度零位,所得值如小于2°,则直接所得值作为纬度实际值输出;所得值如大于2°则将所得值减去2°后作为纬度实际值输出。
纬度采集模块
纬度采集模块完成对PCI-1753数字I/O卡和SDC1806旋变/数字转换模块的程序控制,并把旋变输出的模拟角度信息转换为数字角度信息。纬度采集模块为一个顺序程序结构,第1帧使用DIOWriteBit.vi将PCI-1753的PC05置0,即向SDC1806模块的“/INH”引脚发一个逻辑低电平,使模块停止计数,输出的数据不变。第2帧使用DIOWriteBit.vi将PCI-1753的PC07置1,即向SDC1806模块的“BYSEL”引脚发送逻辑高电平,此时决定模块采用字输出方式,模块的输出与16位数据总线对应连接[4]。第3帧使用DIOReadPortByte.vi读取PC-1753板卡3#、4#端口输出的14位二进制角码,然后二进制角码转换为十进制角度,如图3所示。由于旋变的转值为2°,故模块输出的最大值为214-1=16383,即代表2°。第4帧使用DIOWriteBit.vi将PCI-1753的PC05置1,即向SDC1806模块的“/INH”引脚发一个逻辑高电平,使模块重新工作,输出的数据开始变化。
角度解算模块
角度解算模块的框图程序如图4所示。输出纬度信息的旋变的转值为2°/r,角度信息为增量输出方式,而系统要求得到纬度信息的连续数据,因此必须解决解算过程中的角度区间问题,确定转角的区间后即能得到实际的纬度值。显而易见,在采样周期内纬度变化不可能超过0.5°(即1/4圆周),因此可将0-2°按相位划分为0-0.5°、0.5-1°、1-1.5°和1.5-2°四个象限。以ain表示本次纬度采集值、bin表示上次纬度采集值、fai代表本次实际纬度值、fai0代表上次实际纬度值。解算判别的关键就在于看旋变是否过零位。当本次采样为第Ⅰ象限,上次采样为第Ⅳ象限时,表明旋变顺时针转过一周,则实际纬度值需加上一圈,即fai=fai0+2+ain-bin;当本次采样为第Ⅳ象限,上次采样为第Ⅰ象限时,表明旋变逆时针转过一周,则实际纬度值需减去一圈,即fai=fai0-2+ain-bin;其它情况下,实际纬度值只需加上纬度增量值即可,即fai=fai0+ain-bin。
数据显示模块
数据显示模块可以数字、图形等方式实时显示理论经纬度、采集经纬度、时间信息及其它测试相关信息。经纬度数字显示为度分格式(因航迹仪本身仅输出度分格式),由数据显示模块根据角度解算模块输出的经纬度信息和理论推算经纬度信息转换而来。航迹曲线按照地理坐标方式(即横轴为经度、纵轴为纬度)同时显示理论航迹和解算航迹。纬度计算值与纬度采集值分别通过Convert to Dynamic Data函数转换为动态数据类型,然后通过Merge Signals合并为一路信号,作为航迹曲线XY Graph的Y轴数据。用同样的方法得到航迹曲线XY Graph的X轴数据(经度)。
数据存储和回放模块
数据存储模块可以实现将理论推算经纬度信息和采集到的经纬度信息附带时间信息以xls格式存储于工控机的硬盘中,便于对航迹仪的解算数据进行事后分析。数据存储模块的程序框图如图5所示。数据回放模块可将xls格式的历史航迹数据回放,并运用数理统计方法分析,方便维修人员对故障的分析和解算精度的评判。程序选用LabVIEW中文件存储模板的中级函数及底层函数节点,这种方式虽然编程较繁琐,但针对诸如存储位置选择及操作异常等情况的处理,保证了软件的稳定性及友好性[4-5]。
结语
利用虚拟仪器技术构建数据采集系统具有开发周期短、开发效率高、可扩展性强等特点,便于设备更新和功能的补充与完善,越来越广泛地被应用到自动测试系统中。文中提出的基于LabVIEW和数字I/O卡的轴角采集方案应用到航迹仪仿真运行与测试平台中,实现了对航迹仪内部解算部件、对外输出接口的检测和故障诊断,对航迹仪的性能评估发挥了重要作用。采用文中所述方法构建的轴角采集系统设计合理、稳定可靠,已被推广应用到罗经、计程仪等装备的测试系统中。