APP下载

C#编程实现的网络化多输入信号频谱监测设备

2018-10-29伍文平

软件导刊 2018年8期

伍文平

摘要:大型卫星通信地球站具有多频段、多系统工作特点,信号测量手续复杂,仪表频繁搬动和电缆反复插拔耗费人力,容易造成电缆及接头损耗。设计了多输入信号频谱监测设备,采用Visual C#可视化编程语言,通过TCP/IP协议编程,实现SCPI规范的频谱模块控制,使用Measurement Studio控件操作和显示频谱仪状态及数据,实现网络化频谱监测。使用基于MODBUS协议的TCP/IP数据转换板,结合射频切换开关,实现多个射频输入端口的远程网络化切换。该设备适用于大型卫星通信地球站,能远程完成信号监测任务。

关键词:MODBUS;TCP/IP;SCPI;射频切换;频谱监测

DOIDOI:10.11907/rjdk.173252

中图分类号:TP393

文献标识码:A 文章编号:1672-7800(2018)008-0208-04

英文摘要Abstract:The large scale satellite earth stations have the features of mulitband signals, multi-systems and complex signal measurement methods. Frequent removal of equipment and cable pluging cause has labor cost, and it can easily lead to loss of cable and sockets. The networking device to monitor the multi-input signals' spectrum is designed. Through the TCP/IP protocol programming, Visual C# programming language is adopted to realize the control of spectrum module with SCPI specification. First,the programm gets data from the spectrum module,then it plots the signal on screen using the Measurement Studio controls,finally it monitors the signal spectrum via the TCP/IP network. Remote networking switch of multiple RF ports is realised based on the board from TCP/IP to ON/OFF logical stutas and MODBUS protocol.The device is suitable for the large scale satellite communication earth station, and can meet the demand of remote control and remote monitor of signal selected from many antennas.

英文關键词Key Words:MODBUS; TCP/IP; SCPI; RF switch; spectrum monitor

0 引言

大型卫星通信地球站具有多付天线,工作于不同频段,提供不同的通信体制和通信业务,频繁插拔电缆成为影响地球站测试效能的重要因素。

TCP/IP技术在仪表控制及工业自动控制领域已使用,基于SCPI语法和IEEE488.2标准的TCP/IP仪表控制与操作应用广泛[1-5],VISA控件为虚拟仪表技术提供了快速开发途径, NI VISA和Agilent VISA已在仪表开发中应用[6-10]。仪表控制接口已经由以前的RS-232、GPIB发展到USB、Ethernet接口,控制和操作仪表速度更快,读取信息的内容更丰富,实时性更强,为跨地域远程控制和操作仪表提供了最佳途径;工业控制领域已应用基于MODBUS协议的TCP/IP协议于RS-232、RS-485及开关量转换。因此,通过单一网络接口和TCP/IP编程,可实现多路输入信号的远程切换和信号的远程测量。

虚拟仪表编程技术是目前较先进的仪表技术,基于SCPI、VISA,再借助一些专用控件和开发工具,使用图形控件如GRAPH控件用于频谱或波形显示,可显著节约开发时间。文献[1]-文献[5]介绍了SCPI协议,文献[6]-文献[10]详述了VISA及VISA与SCPI的结合使用,文献[11]-文献[15]详述了Measurement Studio及其与C#的结合使用。本文设备开发借鉴文献中的成熟技术,并采用新器件,增加了新功能。

1 系统总体结构

系统总体结构框图如图1所示。

首先,多输入信号切换程序控制工控板操作射频切换器,选择输入信号进入频谱模块;然后,频谱信号监测程序控制并操作频谱模块,完成选择信号的测量。所有控制及操作均通过TCP/IP协议实现,通过网口完成,具有平台统一性和软件一致性。

2 多输入信号切换部分

采用DAM0606工控板驱动VALUE MICROWAVE的SP6T射频同轴切换器,从6路输入信号中选择一路射频信号输出到频谱模块。DAM0606具有6路DI输入和6路DO输出,6路DO均为大功率继电器,可用来控制家用电器,完全满足该设备使用。本系统中6路DI闲置不用。工控板与同轴切换器均为12VDC供电及驱动,供电电源和驱动电源统一,如图2所示。

DAM0606部分控制和查询命令如下:

(1)查询DO:FE 01 00 00 00 06 A8 07。

说明:FE为该工控板地址,即十进制为254;01为查询所有DO,针对DAM0606,只有6路DO;00 00开始的第一路地址针对DAM0606,从00 00开始到00 05,00 06路数,针对DAM0606就是6路,A8 07为前6个字节的CRC校验位。

返回信息:FE 01 01 00 61 9C。

说明:FE为该工控板地址,即十进制为254,01为查询所有DO的返回信息,01返回的字节数,本例中为1个字节;00表示6路DO状态,bit0表示第一路状态,bit1表示第二路状态……,该位为0表示CLOSED(关闭),该位为1表示OPENED(打开);61 9C为前4个字节的CRC校验位。

(2)控制操作某一位开关量的开关状态:FE 05 00 00 FF 00 98 35。

说明:FE为该工控板地址,05为控制某一位的开关状态,00 00表示操作第一路,FF 00表示打开,00 00表示关闭,98 35为前6个字节的CRC校验位。

返回信息与发送信息相同。

(3)控制操作所有开关量的开关状态。

全开发送码:FE 0F 00 00 00 06 01 FF 90 12

全断发送码:FE 0F 00 00 00 06 01 00 D0 52

说明:FE为该工控板地址,0F为控制所有位的开关状态,00 00表示起始地址,00 06表示操作继电器数为6个继电器,01表示发送命令字节数,01表示1个字节的命令,FF或3F表示全开,00表示全关,90 12为前8个字节的CRC校验位。

全开/断返回码:FE 0F 00 00 00 06 C1 C6

说明:FE为该工控板地址,0F为控制所有位开关状态命令的返回码,表示正常。如果出现错误则该字节返回0x82,00 00表示起始地址,00 06表示操作继电器数为6个继电器,C1 C6为前6个字节的CRC校验位。

本函数调用了CModbusDll类的WriteAllDO函数,构造关闭所有继电器命令字节串,然后用sendinfo函数发送出去。

3 射频信号频谱分析与显示部分

该部分采用MSA870频谱模块,该模块具有网络接口和USB接口,本系统采用网络接口,支持SCPI协议,最高测量频率可达到7.1GHz,满足一般室内射频信号的使用。

射频信号频谱分析和显示是本系统最主要部分,该部分程序结构较复杂,数据处理量大,涉及到界面响应与内部循环数据处理之间的协调问题,程序模块之间错综复杂,还有SCPI语法解析,编程工作量大。

该部分采用Measurement Studio控件制作界面,用C#编程语言实现,降低界面编程工作量 [11-15]。网络连接采用裸SOCKET編程方式,未采用目前比较流行的VISA编程,主要考虑软件兼容性问题。VISA版本较多,目前从4.4到16.0均有使用,使用.NET版本难免存在兼容问题,可能导致程序整体运行不稳定 [2]。软件主要结构流程如图3所示。

将从GetData()返回的501个double数的数组temp_data0从INDEX 0开始,画在waveform上,从而形成频谱波形。501个点对应的X轴坐标分别为index 0对应x_start_freq,其它500个对应x_stop_freq到x_start_freq的500个均匀分布上。

具体频谱模块操作可参考SCPI手册和频谱模块随机资料。

4 系统运行效果

针对目前使用的频段,将硬件连接与软件命名一一对应,界面尽量简洁,操作的简便性和软件稳定性尽量提高。在信号选择时,只能同时选择一个信号进行测量,不能出现多个信号选择的情况。因此,在选择某一路信号时必须先关闭已经选择的信号或关闭所有信号,再接通某路信号,信号选择具有惟一性和排他性,见图4。

频谱模块控制及频谱数据读取显示程序由于涉及因素繁多,程序结构复杂,因此应重视软件的稳定性。由于系统主要由一线工作人员用于信号有无判断、信号质量(信噪比)测量、信号参数测量(频率、电平)等测试场合,很少用于精密测量,因此,在界面设计上要尽量简洁,方便操作人员使用,达到快速测量目的。在界面设计上要符合使用实际情况,将大部分常用功能按钮放置在主界面上,见图5。

5 结语

本文基于TCP/IP连接,在实现多频段切换选择后,读取频谱信号的各项参数,达到迅速测量信号的目的。使用情况表明系统总体设计合理,硬件连接统一、可靠、简便,软件性能稳定、功能齐全、操作简便直观,实用性较强。

但在以下方面还可改进:①网络开关量转换板可采用DAM0600以进一步降低成本;②频谱模块可根据实际使用情况选择MSA820、MSA830或MSA870,以进一步降

低成本;③射频切换开关在频率、功率要求不高的场合,可选择相应频段、相应功率指标的国产产品。合理选择硬件可较大幅度降低成本,使系统具有更好的经济性。

参考文献:

[1] 奚全生.可编程仪器标准命令(SCPI)介绍[J].计算机自动测量与控制,1994(1):22-31.

[2] 陈贻范.SCPI语法与结构分析[J].仪表技术,1996(3):18-21 .

[3] 朱兴邦,李兵.IEEE 488与SCPI解释[J].仪器仪表标准化与计量,2007(1):15-16.

[4] 刘建刚,郭占山,闫道广,等.仪器设备SCPI命令集的使用方法探讨[J].计量与测试技术,2001(5):35-37.

[5] 张元明,姚迪,颜晓明.基于SCPI的运载火箭遥测系统自动测试平台设计[J].计算机测量与控制,2017(3):1-2.

[6] 杨国忠,周泓.基于VISA的事件处理方法与实现[J].测控技术,2000(9):45-48.

[7] 李琼,付平.虚拟仪器软件结构VISA的研究[J].测控技术,1999(8):22-24.

[8] 张磊.利用VISA控制仪器设备各种接口[J].电子测试,2008(10):58-61.

[9] 秦凡,韦高.基于VISA库及SCPI命令的仪器程控测量[J].现代电子技术,2011(11):118-120.

[10] 顾大全,王晓,汪洋.基于VISA和SCPI的多点数据测量系统 [J].仪表技术,2011(1):1-2.

[11] 岳玮,许宝杰,王术军,等.基于Measurement Studio的数据采集系统的设计与实现[J].北京机械工业学院学报,2006(3):1-4.

[12] 陈振兴,周建华,陈勇.基于Measurement Studio的光电信号数据采集系统[J].自动化与仪表,2004(2):66-68.

[13] 周建伙,顾申申.基于Visual C#和Measurement Studio混合编程的数据采集分析和绘图软件[J].工业控制计算机,2015(9):24-25.

[14] 张兵,杨岳.基于Visual C#和Measurement Studio融合的虚拟示波器设计开发[J].企业技术开发,2010(1):6-7.

[15] 时慧晶,胡榕.基于Measurement Studio的海量数据处理系统的实现[J].信息通信,2015(9):84-85.

(责任编辑:杜能钢)