陈瑞琼,刘娅,李孝辉
基于SR620的远程时间频率测量系统设计与实现
陈瑞琼1,2,3,刘娅1,2,李孝辉1,2
(1. 中国科学院国家授时中心,西安 710600;2. 中国科学院时间频率基准重点实验室,西安 710600; 3. 中国科学院大学,北京 100039)
随着计算机网络技术的飞速发展,远程测量系统得到越来越多的应用。为了更便于使用频谱仪、时间间隔计数器、时间间隔分析仪等测量仪器,以时间间隔计数器SR620为例,基于虚拟仪器LabWindows/CVI开发平台,设计并实现了一种实时远程时间频率测量系统。该基于SR620的远程时间频率时间测量系统能对仪器状态实时远程控制与监视,并能获取、存储测量数据,并利用虚拟仪器的优势实时图形化显示测量数据变化趋势,具有较高的实际应用价值。
时间间隔;远程控制;实时;虚拟仪器
随着虚拟仪器技术、网络通讯技术的显著进步以及Internet的迅速普及,将网络技术应用到虚拟仪器,使信号采集、传输和处理分析一体化,已经成为一种趋势[1]。在仪器测量领域,人们不仅要求测量更加精确、稳定,还希望可以实现测量实时化、自动化和网络化等。而远程测量系统可以满足用户的这些需求,它能够实现集成自动化系统,具有良好的开放性,特别是在测控系统中,用户可以在远端通过网络实现实时控制和监视测量仪器,减少人为因素对测量的干扰,用户也可以在任意时间地点获取仪器的状态信息和测量结果,因此,远程测量系统成为当前测量控制领域的研究热点。
本文以SR620时间间隔计数器为研究对象,分析基于SR620时间间隔计数器的远程时间频率测量系统所要实现的功能和结构特点,基于LabWindows/CVI2010开发平台并结合虚拟仪器技术实现对SR620测量数据的采集、存储和显示等,实现了对设备的远程控制与状态监视。
与传统的仪器测量相比较,网络化仪器通过远程测量系统不仅可以实现仪器本身所具备的各种功能,而且可以根据用户需求对功能进行扩充,即可实现对仪器状态实时远程控制与监视,并能获取、存储、分析测量数据,利用虚拟仪器的优势实时图形化显示测量数据变化趋势,而且网络化仪器克服了传统测量对时间和空间的限制,实现资源共享,无需人员值守,从而减少人为因素对测量结果的影响。
时间间隔计数器SR620自身操作的局限性体现在以下4方面:
1)时间间隔计数器SR620只能在本地操作;
2)由于该计数器自身无存储记忆功能,只能显示最新的一条数据,无法对数据进行存储和历史查询;
3)无法直接实现对待测信号长期性能的观测;
4)不能对测量数据进行实时图形化显示。
因此,针对以上情况,需要在SR620自身功能的基础上,搭建实时化、自动化、图形化、网络化的高精度测量系统。该系统对SR620的功能主要在以下4方面进行扩展:
1)远程控制仪器,操作人员不需要在本地进行操作,可以通过网络进行远程访问、监视和控制;
2)数据管理能力的扩展:将数据显示功能扩展为存储、处理和查询等功能,使得用户可以灵活地处理原始测量数据[2];
3)图形化显示数据的功能扩展:对于实时查询的数据,将其实时图形化显示,更直观地反映测量结果;
4)操作界面扩展:该软件提供了更为友好的操作界面和菜单式操作,使操作更加人性化,用户可以很方便地在操作面板上进行所需的各项测量。
本文设计了一套基于时间间隔计数器SR620的远程时间频率测量系统,实现了对SR620的远程控制与监视。远程测量系统可以有效降低组建监控软件的费用,实现资源共享,通过远程进行测控和数据采集处理,提高了控制效率,减少了测试人员的工作量。系统设计采用National Instrument公司的LabWindows/CVI2010集成开发环境[3]。LabWindows/CVI是NI公司利用虚拟仪器技术开发的32位以C语言为基础的面向计算机测控领域的虚拟仪器开发平台,它提供了各种灵巧的界面生成、编程、调试工具,因此可以极大地简化编程的工作量[4],实现数据采集、控制、显示、处理一体化,具有通用性强、便于移植的优势,并能大大缩短开发周期、节约开发成本。
远程时间频率测量系统工作原理如图1所示,由于时间间隔计数器SR620的通信方式为RS232串口通信,其最远传输距离为15m,所以不能远距离传输数据,无法满足远程监控需求,故需将其直接与本地计算机相连接,进而通过远程计算机控制设备。远程监控机是通过网口进行通信,当运行远程监控软件,并建立连接后,在本地监控软件会收到远程监控发送的连接请求,然后本地监控软件返回消息给远程监控软件,从而建立握手协议,此时,远程监控通过网口系统将各种操作命令通过本地计算机发送给被控设备,从而实现了对设备的远程控制。
图1 系统工作原理图
测量系统的结构主要包括时间间隔计数器SR620和通讯网络及本地计算机和远程计算机。其中,被控设备SR620负责测量待测信号,对SR620的远程控制主要是在远程计算机上进行的,利用本地计算机可以近距离地对SR620进行控制与监视并对测量结果进行处理,它还可作为中间传输设备负责远程计算机与被控设备的数据传输。而通讯网络负责创建本地PC机与远程PC机之间的通信,完成对测量模块的远程控制和数据采集任务。
基于SR620的远程时间间隔测量系统的软件主要由2部分组成:本地监控软件和远程监控软件。远程监控软件具备本地监控软件的所有功能,两者都可以实现对仪器状态的实时监视与控制,区别在于本地监控软件需要执行近距离对仪器的控制,而远程监控软件不受距离限制,可以通过网络对仪器进行远程访问、监视与控制。当运行远程监控软件并且进行连接后,本地监控软件会收到远程监控发送的连接请求而建立握手连接,进而实现对设备的远程控制。
该监控软件的输入数据是从SR620的数据端口或者状态端口采集的数据,软件对采集到的数据进行完好性监测、分类、处理,同时,可将采集的原始数据和测量结果保存在指定的文件中,方便事后查询,以供进一步分析和评估信号质量。系统软件功能模块组成框图如图2所示,系统软件流程图如图3所示,系统软件主界面如图4所示。下面对各模块分别做详细的说明。
图2 系统软件功能模块组成框图
图3 系统软件流程图
1)参数配置模块:在通信之前应根据被控设备的实际情况选择相应的串口号、波特率、检验位、数据位、停止位、通信端口号等参数,方可进行连接(仅在本地监控软件中适用)。
图4 系统软件主界面
2)接收区设置模块:该模块主要用来对接收到的数据进行存储设置,点击“本地存储测量数据”可以本地存储当前测量数据,系统自动从当前时间开始,将测量数据依次写入文件,当存入数据的时间超过24h后,系统自动新建一个以当前时间命名的文本,继续存入数据,依次类推,直到点击“取消存储”,方可停止存储数据,同样点击“存储测量图形”按钮可以根据用户需要选择不同格式的图形文件。另外对于测量数据,系统不仅可以采用以上的手动操作本地保存,在运行过程中系统也将其自动保存到数据库中以便随时查询调用,系统采用MYSQL数据库存储,点击“清除显示”可以清除接收区中的数据。
3)仪器测量属性模块:可以根据当前测量需要对仪器测量属性进行设置,选择不同的测量模式,Arming模式中根据所选的测量模式加载相匹配的选项,例如选择测量模式为Time模式,则Arming模式中只加载±time,+time,exttrig±time,exttrig+time,extgate/+time/hldf 5种模式。 另外还可以对采样点大小、输出数据(如平均值、Allan方差、标准方差、最大值、最小值等)、是否外触发及外参考时标进行设置。
4)输出数据内容模块:点击各个按钮将相应的查询命令发送到缓冲区,并实时将数据显示在接收数据区,如平均值、Allan方差、标准方差、最大值、最小值、当前触发电平等。在查询数据的同时已经将所查询的数据存储在数据库中对应的各个表中,此外点击各个按钮时已经将命令写入发送数据区,可以根据实际情况设置发送命令的时间间隔,默认为1s。另外点击“查询数据库”按钮,可以弹出数据库查询界面,在起始时间和终止时间分别输入所要查询的时间段,起始时间应小于终止时间,否则弹出错误提示框,然后点击所要查询的数据内容,即可在表中显示对应的数据,如需保存,点击保存数据,即可将所查询数据存储到指定文件中。
5)接收数据区:显示当前测量数据,并在文本框中显示当前所测量的数据内容,为了方便以后查询,在每个测量数据之前加上当前的时间和序号。
6)图形显示区:对当前缓冲区中的数据进行图形化显示,使用Strip Chart控件,可以实现绘制一条或多条动态曲线,并且能够及时更新,故选用此控件绘图,根据测量数据的不同,文本框中的单位会有所改变,在测量Allan方差时,将显示采样间隔。
7)状态显示模块:根据仪器的测量属性设置,及时显示并更新当前的测量状态。当执行远程操作时,可以将远程监控软件的测量状态发送给本地监控软件,使其状态显示与远程测量系统保持一致。
8)后台模块:后台模块负责实现远程监控软件和本地监控软件之间的通信,当运行远程监控软件,并且连接成功后,在本地监控软件会收到远程监控发送的连接请求,然后本地监控软件将消息返回给远程监控软件,从而建立握手连接,进而实现了对设备的远程控制。
该系统采用LabWindows/CVI作为软件平台来编写程序,用ODBC方式实现对数据库的访问,并将LabWindows/CVI SQL工具包作为客户端应用程序开发工具。CVI_SQL是一个专用的数据库访问工具包,在使用它之前,首先需要在Windows操作系统中的ODBC数据源中创建一个DSN(data source name)。连接就建立在DSN基础之上,然后选择DSN所对应的数据类型,该系统软件采用的是MYSQL数据库,因此与ODBC相关联的即为MYSQL ODBC 5.1 Driver[5]。
对数据库操作的具体实现过程中,首先要建立一个数据源,选择新建数据源所使用的数据库驱动程序(如MYSQL ODBC 5.1 Driver),然后对其进行配置并测试,如果测试通过,即成功建立连接。申请连接句柄,调用DBConnect函数与数据源连接:
hdbc=DBConnect(“DSN=SRDB”);
hdbc为与数据源建立连接所提供的有效连接句柄。
再使用DBActivateSQL命令激活SQL数据库状态,如语句:hstmt=DBActivateSQL(hdbc,“SELECT *FROM mean”);
定义hstmt为数据库状态句柄。
最后利用LabWindows/CVI工具包中的SQL命令(如CREATE TABLE,SELECT等)执行操作,在执行的同时,必须将选中的数据表中的某个记录和程序中的变量绑定在一起,再使用fetch取值函数取出选中条目。
在应用程序语句完成命令后应解除SQL数据库状态以释放系统资源。使用DBDeactivateSQL(hstmt)函数解除数据库状态,如语句:
resCode=DBDeactivateSQL(hstmt);
在对数据库操作执行完毕后,断开与数据库服务器的连接并释放系统资源。应用程序对数据库操作完成后应及时调用DBDisconnect函数关闭它与数据源的连接。
该软件采用以上技术实现对数据库的访问,进一步拓展了系统的实际应用,使得软件运行速度得到提高。
基于以上分析,对系统的实际运行效果进行了验证。在测量设备运行正常,建立网络通讯后,得到如图5所示的远程监控软件运行显示,其中本地显示内容与远程显示内容是实时保持同步更新的。然后将系统软件设置在正常通信状态下进行测试,对于不同测量模式,不同时间间隔,不同采样点分别进行组合,主要测试在长时间的连续运行状态下,根据用户所做的操作观察数据显示、存储及图形化显示、命令发送等各项功能是否发挥正常。并查看系统的CPU占用率是否稳定,最后通过测试对系统的部分功能进行优化,根据用户的需求,该系统运行时占用系统资源小于20%,与采用单线程实现的软件相比,具有较大的优势,并且采用单线程长期运行可能导致系统瘫痪,可靠性较差,而该系统经过长期反复的测试运行,软件可以实现长期无故障运行。
图5 远程监控软件运行显示
本文针对已有时间间隔计数器SR620,基于LabWindows/CVI开发环境搭建了一套远程时间频率测量系统,整个设计以软件编程为主,充分发挥了LabWindows/CVI软件各类库资源丰富、界面编制灵活、数据处理能力强的特点。该测量系统实现了对仪器远程实时控制与监视,对于采集数据可以有效地显示、存储、查询、图形化显示等,目前,该软件已经被成功运用,运行情况良好,避免了人为干扰因素的发生,大大降低了系统的不确定度,并且具有良好的稳定性和可移植性,基本满足了用户的工作需要,实现了实时化、自动化、网络化、图形化测量。
[1] 李敏智. 基于Labwindows/CVI的数据采集与监控系统的设计与实现[D]. 武汉: 武汉理工大学,2009.
[2] 李雨薇, 刘娅, 李孝辉, 等. 基于TSC MMS的远控精密测频系统设计[J]. 宇航计测技术,2011, 31(5): 24-29.
[3] 王建新, 隋美丽. Labwindows/CVI虚拟仪器测试技术及工程应用[M]. 北京: 化学工业出版社,2011.
[4] 刘娅, 李孝辉, 张慧君. 基于LabWindows/CVI的仪器测试软件设计[J]. 微计算机应用,2007, 28(8): 134-137.
[5] 祝名桔, 魏彦玉. 基于CVI_SQL和ODBC访问的测试软件开发[C]//第七届工业仪表与自动化学术会议. 上海: 中国仪器仪表学会, 2006.
Design and implementation of a remote time-frequency measurement system based on SR620
CHEN Rui-qiong1,2,3, LIU Ya1,2, LI Xiao-hui1,2
(1. National Time Service Center, Chinese Academy of Sciences, Xi′an 710600, China;2. Key Laboratory of Time and Frequency Primary Standards, National Time Service Center, Chinese Academy of Sciences, Xi′an 710600, China;3. Graduate University of Chinese Academy of Sciences, Beijing 100039, China)
The remote measurement systems have been used more and more extensively along with the rapid development of computer-network technology. In order to use the measurement instruments such as spectrum analyzer, time interval counter and time interval analyzers more conveniently, taking the time interval counter SR620 as an example, we designed and realized a real-time remote time-frequent measurement system based on the platform of virtual instrument LabWindows/CVI. The remote time-frequent measurement system based on SR620 can remotely monitor and control the instruments in real time, acquire and store the measured data, and a real-time graphical display of the measured data trend is also achieved with the virtual instrument′s advantage. The system is of higher practical value.
time interval; remote monitor; real time; virtual instrument
TM935.1
A
1674-0637(2013)03-0134-07
2012-12-26
国家重大科研仪器设备研制专项资助项目(61001076);国家自然科学基金青年科学基金资助项目(61001076)
陈瑞琼,女,硕士研究生,主要从事虚拟仪器测控技术研究。