骆可政 刘斌 江泽奇
(第七一五研究所,杭州,310023)
每套声呐需要通过分机调试检验、整机联调检验、军检、湖试、海试、环境试验、系泊试验、航行试验等,过程中要对设备的各项功能指标做测试。对于声学段设备而言,传统的测试方式主要通过手动完成,纸质记录整理测试结果不仅影响效率,还造成测试数据的查阅不便、质量问题的追溯不及时等困难。为此,本文提出了一种声学段的自动化测试设备设计,以便提高该部分的测试效率,解决数据整理等方面的问题。测试设备由软件和硬件两部分组成。软件采用图形化编程语言Labview,硬件主要实现设备供电和测试通道的切换,并通过NI 仪器采集分析[1-3]。软硬件结合,实现通过点击按钮即可自动切换各个通道并自动采集分析,形成测试数据报告。
目前,测试声学段的方式是通过手动拨码开关,实现待测通道的切换,信号源注入信号并经过声学段后用示波器观察输出,人工纸质记录波形数据并分析计算[4]。每个通道需要在各个增益档位上测试一遍,操作繁琐,测试数据量大。测试现状流程如图1 所示。
图1 测试现状流程图
本设计主要由4 个部分组成,分别为PC 端上位机、继电器模块、供电模块、NI 采集仪器。其中继电器模块、供电模块集成在一个机箱中,机箱上装有可以和声学段连接的航插1 个,可以和上位机连接的RS485 接口1 个,还具有将输出信号引出的8 个BNC 口和输入信号引入的1 个BNC 口。航插将声学段中的各通道、供电线、控制线等通过导线的方式与继电器模块设备转接。继电器模块接收到PC 端上位机的指令后进行相应的操作,实现待测通道的切换、增益档位的控制、声学段加断电等功能。待测通道切换后,通过NI 采集仪器对输出模拟信号进行AD 转换,随后传给上位机进行分析计算,最后形成测试报告。供电模块则为整个设备提供电源。总体结构框架如图2 所示。
图2 设备总体结构框图
2.2.1 继电器模块选购
本设计共控制208 个开关量,这些开关量的控制由4 个继电器模块配合完成。模块CPU 采用32 位ARM 处理器,24 V 供电工作,具有过压、过流保护功能,支持 RS485 接口采用标准的Modbus 协议实现设备联机通讯。
2.2.2 供电模块
供电模块实现220 V 到30 V 的AC/AC 转换,再对30 V 交流电进行AC/DC 转换,输出24、±11、5 V 直流电,其中24 V 直流电供继电器模块工作,±11 V 直流电供声学段工作,5 V 直流电通过继电器控制切换声学段增益档位。
2.2.3 NI 采集仪器选购
本设计采用NI 公司的USB-6218 数据采集卡,该采集卡通过USB 总线供电,即插即用,移动性更好,其具有2 路模拟输出(16 位,250 kS/s)、8 路数字输出、2 个32 位计数器、32 路模拟输入(16 位,250 kS/s)。
2.2.4 设备机箱
将继电器模块、供电模块安装在设备外壳机箱内,作为硬件载体。
软件功能可以分为5 个任务实现,分别为前面板事件任务、继电器控制任务、指标判断任务、数据存储任务、DAQ 采集任务。软件框架如图3所示。
图3 软件总体框架
2.3.1 前面板UI 设计及其事件响应任务
根据设备调试需求,结合了Labview UI 设计显示控件,通过一定的编排,形成UI 界面。该界面具备状态互斥的功能,例如,当给声学段加电和开启信号源同时成立时,开始测试按钮才会使能,否则无法测试。该界面还具备测试结果检测功能,例如,点击判断幅度一致性按钮,便可自动判断幅度一致性是否满足要求,如果满足,则绿灯亮,否则红灯报警。前面板事件响应任务负责响应用户操作,当用户点击前面板控件后,程序执行相应的任务。前面板UI 如图4 所示,用户可以通过鼠标点击控件的方式完成整个测试。
图4 前面板UI
当用户选择开始测试按钮后,程序事件响应任务中,事件处理过程中。首先判断单通道测试模式控件是否勾选,如果勾选则为“真”,如果未勾选则为“假”。当条件为“真”时,程序根据通道号输入的值,通过写单路继电器子VI,便可完成相应通道的选择,进行单通道的信号采集;当条件为“假”时,程序进入多路通道测试模式,进行多通道信号采集。诸如此类的前面板事件响应任务共有12 条,分别响应了如下控件的操作:增益档位选择、切换注入方式、声学段加断电、信号源的开启或断开、开始测试、判断幅度一致性、判断相位一致性、判断自噪声达标、自噪声测量、清空表格、数据保存、停止程序。
2.3.2 继电器控制任务
继电器模块支持标准的Modbus 设备联机通讯,可根据ModbusRTU 指令实现继电器的读写单路开关输出、读写多路开关量输出等功能[5]。设备共有4 个继电器模块,单个继电器模块引脚分配见图5。模块有16 个COM 端和64 个接线端,每个COM 端分配有4 个接线端,16 个COM 端分成8 组引线与信号采集器的差分输入端相连,64 个接线端实现了32 路通道的控制。3 个继电器模块可实现96 个声阵段通道的连接,每个模块相同的COM 端是并联的。而继电器模块4 实现的是声阵段加断电和信号源是否输入以及增益档位切换等功能。图6 为4 个继电器控制模块的整体分布。对于继电器模块控制任务程序而言,分别由增益控制、声学段加断电、信号注入模式切换、单通道测试、多通道测试5 个部分完成。这5 个部分软件设计有较多的类似,下面对多通道测试模式进行详细描述。
图5 单个继电器模块引脚分配
图6 4 个继电器控制模块的整体分布
按照表1 的多路继电器模块控制协议编写前n路继电器控制子VI 程序。这个子VI 中前3 个子VI 代表将继电器模块全部关闭的作用,与之相连接的00、01、02 这三个字节分别代表协议中从机地址码,实现对三个继电器模块中所有继电器的关断操作。接着,程序进入一个6 次的for循环结构,条件输入端i代表循环次数,第1 次进入for 循环后对地址码为0x00 继电器的所有COM 端的第一个继电器开操作,即16 进制显示字符串“0x11111111”。随后,做了延时并将一串布尔数组输入队列,此队列是为了测试过程中数据同步填表服务的。当程序第2 次进入for 循环后对00 号继电器的所有COM 端的第二个继电器开操作,即16 进制显示字符串“0x22222222”,以此类推,到第4 次循环后,完成了32 路继电器的开操作。而之后的2 次循环,则是对地址码为0x01 继电器进行操作,写入数据字符串为“0x11111111”和“0x22222222”。至此,完成了前n通道的继电器开操作,之后的前n路、前m路、后x路、后y路继电器开操作与之类似,只需要改变地址码和写入数据字符串便可。
表1 多路继电器模块控制协议
2.3.3 数据采集任务
软件利用DAQ 助手自动配置采集板卡,从而达到连续采集声学段输出信号的功能。在通道设置中,添加8 个通道,同时对其进行通道采集端口的绑定,随后在接线段配置中选择差分方式,在定时设置中配置采集模式为N采样,待读取采样数为104个点,采样率为100 kHz。至此,DAQ配置完成。随后对采集的数据进行波形拆分,对各拆分的信号进行峰峰值的提取和相位值的提取。
2.3.4 指标判断任务
指标判断任务分为幅度一致性、相位一致性、自噪声测试三个部分。其中幅度一致性判断,首先需要对各个档位测得的增益值求和再取平均值:
式中,M代表平均值,N代表各列增益值。再对各列的增益值和该平均值做对数变换:
将求得的对数与1.5 dB 相比较,如果≤1.5 dB,则该值输出“真”;如果>1.5 dB,则输出“假”。最后对所有通道的输出作“与”算,只要有一个指标>1.5 dB,则幅度一致性布尔灯报红色。相位一致性则是对各通道信号的相位值和信号源输入的信号相位做减法,如果存在某通道差值>40°,则相位一致性布尔灯报红色。自噪声达标判断则是对每一个测得的自噪声数据和0.09 V 相比较,如果某一通道自噪声数值>0.09 V,则自噪声不达标,相应布尔灯报红色。
2.3.5 数据存储任务
选择支持word 的文件存储控件,调试记录报告以word 文件来存储。首先做好一份调试记录报告模板,将调试人、调试日期、调试设备型号、调试数据等信息留白并做书签。通过Labview读取报告模板,并在模板中相应书签处填入数据,最终形成完整的调试记录报告。
本文以NI 仪器作为测试平台,设计了一种声呐声学段自动测试设备。经使用测试,该设计测试单条声学段时间从原来的近8 h 缩短至20 min。基于Labview 编写的上位机简单易用,能够满足被测对象所有测试项的测试需求,并能自动生成word 版的测试报告,实现无纸化记录,相比人工手动测试,此设备大大提高了测试效率,为测试人员维修设备、查看测试报告提供了方便。在后续的研究中,可考虑添加信号源输出功能,这样可以完全省去通用仪表,集成度更高,测试会更方便。