一种特高压直流电晕电流的高精度多点同步采集方法

文档序号:7870329阅读:252来源:国知局
专利名称:一种特高压直流电晕电流的高精度多点同步采集方法
技术领域
本发明属于特高压技术领域,具体涉及一种特高压直流电晕电流的高精度多点同步采集方法。
背景技术
随着特高压直流电压等级的增加,直流输电线路带来的一系列电磁问题日益突出。我国特高压直流工程绵延数千公里,途径大量山地丘陵,气候条件和地理环境复杂,由此造成的线路电晕特性需要进一步研究。电晕电流为宽频域信号,最高频率可至兆赫兹级别。为实现不同测量点在同一时刻电晕电流数据的对比分析,采集软件需要实现高精度同步定时设计。传统采集软件的定时精度较低,只能达到20ms。尤其在实现高速采集、快速显示以及定时保存等多项任务时,由于windows系统采用抢占CPU时间的机制,多项任务同时执行时,采集软件的定时精度会大大降低。

发明内容
为了克服上述现有技术的不足,本发明提供一种特高压直流电晕电流的高精度多点同步采集方法,实现特高压直流宽频域不同测量点的电晕电流高精度同步采集。为了实现上述发明目的,本发明采取如下技术方案提供一种特高压直流电晕电流的高精度多点同步采集方法,所述方法包括以下步骤
`
步骤1:建立客户端与服务器之间的局域网;步骤2 :客户端与服务器进行时钟同步;步骤3 :服务器向客户端发送同步采集控制命令;步骤4 :进行电流数据的定时存储。所述步骤I中,通过网络连接将客户端IP地址设定在网段内,并通过交换机与服务器连接,即可建立客户端与服务器之间的局域网,实现服务器和客户端之间相互通信。所述步骤2包括以下步骤步骤2-1 :服务器设置时间,作为标准时钟源;步骤2-2 :客户端利用NETTME网络同步协议,实现与服务器之间的严格时钟同
止/J/ o所述步骤2-1中,服务器同步Internet时间,保证与标准时间同步;服务器时间作为标准时钟源,且服务器开启来宾模式,实现客户机与服务器时钟的同步,同时允许网络访问。所述步骤2-2中,通过CMD命令行实现客户端与服务器严格的时钟同步,所述CMD命令行为NETTME服务器IP地址/set/y。所述步骤3中,基于客户端/服务器模式,服务器向各个客户端同时发送同步采集命令,同时服务器在同步采集前接收到客户端的应答信号,否则立即发送同步采集停止命令;客户端接收到同步采集命令后,若没有接收到服务器发出的同步采集停止命令,开启内核模式的定时器,开始定时采集。所述服务器端发送同步采集命令,保证各个客户端在同一时间点采集数据,客户端接收同步采集命令后,进行采集、显示和保存数据;具体包括以下步骤I)创建监听Socket对象;初始化Win Socket的动态链接库,用Create函数创建监听Socket对象,绑定监听端口 ;2)进入监听状态;使用Listen函数进入监听状态,此时设置的端口一直监听是否有客户端的连接请求;3)接受收客户端的连接请求;当有客户端发送请求连接时,监听套接字调用Accept函数实现客户端的连接;4)与客户端进行通信;向各个客户端发送同步采集命令;5)若在规定的时间内,未收到应答信号,会立即发送停止同步采集命令,同时,返回到第四步继续执行,直至全部发送成功;6)发送停止同步采集命令,关闭服务;同步任务结束后,使用Close函数关闭通信Socket 和侦听 Socket。所述客户端显示线程、保存线程加入线程池队列,遵循时间先后次序。所述客户端网络连接的创建过程包括以下步骤I)创建客 户端Socket ;初始化Win Socket的动态链接库后,先构造通信Socket ;2)客户端发出连接请求;使用Connect函数提出与服务器连接的请求;3)客户端与服务器端进行通信;待服务器允许连接后,双方即可开始通信;当服务器发送同步采集命令后,客户端立即回复成功接收的应答信号;同时,立即开启内核层线程池定时器,各个客户端在同一时间点同步采集数据;4)客户端接收到停止同步采集命令后,断开连接。所述步骤4中,客户端利用内核线程池实现多点同步定时采集;用户层定时器实现波形的实时显示,内核层线程池定时器实现电晕电流数据的定时保存。与现有技术相比,本发明的有益效果在于(I)采用NETTME网络同步协议实现严格统一的时钟源,克服了传统手动调时或者C/S自动调时的同步时间精度差的缺点;(2)采用内核层线程池定时器,保证了实现定时数据保存的高精度性;(3)用户模式定时器和内核模式线程池定时器同时使用,可以保证采集软件的高效性,不发生资源访问冲突。


图1是特高压直流电晕电流的高精度多点同步采集方法流程图;图2是本发明实施例中客户端与服务器之间的局域网组网示意图;图3是本发明实施例中服务器网络通信流程图;图4是本发明实施例中客户端网络通信流程图;图5是本发明实施例中平均值保存时间线图。
具体实施例方式下面结合附图对本发明作进一步详细说明。如图1,提供一种特高压直流电晕电流的高精度多点同步采集方法,所述方法包括以下步骤步骤1:建立客户端与服务器之间的局域网;步骤2 :客户端与服务器进行时钟同步;步骤3 :服务器向客户端发送同步采集控制命令;步骤4 :进行电流数据的定时存储。如图2,通过网络连接将客户端IP地址设定在网段内,并通过交换机与服务器连接,即可建立客户端与服务器之间的局域网,实现服务器和客户端之间相互通信。所述步骤2包括以下步骤步骤2-1 :服务器设置时间,作为标准时钟源;步骤2-2 :客户端利用NETTME网络同步协议,实现与服务器之间的严格时钟同步。服务器同步Internet时间,保证与标准时间同步;服务器时间作为标准时钟源,且服务器开启来宾模式,实现客户机与服务器时钟的同步,同时允许网络访问。可通过Windows设置-> 安全设置_>本地策略_>安全选项设置。所述步骤2-2中,通过CMD命令行“NETTME服务器IP地址/set/y”实现客户端与服务器严格的时钟同步,若发现“发生系统错误5拒绝访问”的错误,可能是因为服务器为开启来宾模式,从而拒绝访问。为了提高时钟同步命令的便捷性,可以使用bat文件实现时钟同步,并且bat文件必须住系统目录内执行,最终在程序中通过shellexcute函数直接执行bat文件。所述步骤3中,基于客户端/服务器模式,利用Win Socket网络编程实现客户端/服务器模式,对应时间同步操作,可将时钟源计算机当作服务器,存储电晕电流或泄漏电流信号的计算机当作客户端。服务器向各个客户端同时发送同步采集命令,同时主机必须在同步采集前接收到客户机的应答信号,否则立即发送停止采集指令。服务器向各个客户端同时发送同步采集命令,同时服务器在同步采集前接收到客户端的应答信号,否则立即发送同步采集停止命令;客户端接收到同步采集命令后,若没有接收到服务器发出的同步采集停止命令,开启内核模式的定时器,开始定时采集。如图3,所述服务器端发送同步采集命令,保证各个客户端在同一时间点采集数据,客户端接收同步采集命令后,进行采集、显示和保存数据;具体包括以下步骤I)创建监听Socket对象;初始化Win Socket的动态链接库,用Create函数创建监听Socket对象,绑定监听端口 ;2)进入监听状态;使用Listen函数进入监听状态,此时设置的端口一直监听是否有客户端的连接请求;3)接受收客户端的连接请求;当有客户端发送请求连接时,监听套接字调用Accept函数实现客户端的连接;4)与客户端进行通信;向各个客户端发送同步采集命令;
5)若在规定的时间内,未收到应答信号,会立即发送停止同步采集命令,同时,返回到第四步继续执行,直至全部发送成功;6)发送停止同步采集命令,关闭服务;同步任务结束后,使用Close函数关闭通信Socket 和侦听 Socket。所述客户端显示线程、保存线程加入线程池队列,遵循时间先后次序。如图4,所述客户端网络连接的创建过程包括以下步骤I)创建客户端Socket ;初始化Win Socket的动态链接库后,先构造通信Socket ;2)客户端发出连接请求;使用Connect函数提出与服务器连接的请求;3)客户端与服务器端进行通信;待服务器允许连接后,双方即可开始通信;当服务器发送同步采集命令后,客户端立即回复成功接收的应答信号;同时,立即开启内核层线程池定时器,各个客户端在同一时间点同步采集数据;4)客户端接收到停止同步采集命令后,断开连接。所述步骤4中,客户端利用内核线程池实现多点同步定时采集;用户层定时器实现波形的实时显示,内核层线程池定时器实现电晕电流数据的定时保存。经过分析,采集软件主要实现数据的高精度定时保存和快速的实时显示。实时显示涉及到波形绘制和特征值的更新,工作于用户层,适合应用多媒体定时器和timer定时器,由于timer定时器比较灵活,同时使用方便,而对于实时显示只需要IOOrns的精度即可,故选用timer定时器。根据微软MSDN官方解释,用户模式定时器优先级非常低,需要等待其它线程执行完才可触发,为了增强其响应性,能够快速实时响应操作,可通过尽量减少windows消息队列中的OnIdle执行实现。而对于后台数据的保存,由于是一个连续的定时操作,内核线程池定时器比较适合。内核线程池定时器实际上是一个定时器队列,对一组定时器进行组织安排,适用于连续定时的后台操作,定时精度非 常高,可达到微秒级别。内核线程池提供快速实时显示、平均值保存和瞬时值保存功能。当在某个时间点,三个线程同时访问从采集卡获取到的数据时,就有可能出现在写内存的时候同时读内存,从而引起资源访问冲突,表现为I)采集到的数据前半部分是真实的数据,而后半部分全部为O。2)前半部分数据是下一次采集的,后半部分数据是上一次采集到的。这样无法保证数据的完整,可以采用线程互锁和开辟两个缓冲区解决。I)显示线程和保存线程设置一个互斥的信号量,保证线程同步。2)当瞬时值保存线程响应时,重新开辟一个缓冲区,专门保存瞬时值数据,这样可避免平均值保存线程处理函数破坏掉原来的数据。利用Windows系统内核中的高性能计数器测试,本地端计算机通过采集卡DLL动态链接库获取数据的等待时间约为60ms,软件实现特征值计算时间约为4ms。电晕电流测量系统最低采样率为1MHz,存储深度最大为128K,计算采集时间为131ms,时间线如图4所示。平均值定时器间隔应大于等待数据时间、采集最长时间和特征值计算时间的总和,计算可得,平均值保存间隔至少为195ms,可取平均值保存最小间隔200ms,保证一定的余度。而绘图时间与平均值保存时间需同步,故至少200ms ;保存128K瞬时数据为csv文件时,经过测试,通过文件流存储需要的时间约为3s。由于保存文件时,CPU利用率较高,为了提高软件的性能,瞬时值保存留有Is的余度,可设其瞬时值保存间隔为4s。经过长时间的测试,以上定时间隔均能保证数据的完整无误。由此可得出如下结论平均值保存最小间隔为200ms,但测试和计算完成一次平均值保存最高为195ms,故平均值保存的定时精度至少为5ms o最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵 盖在本发明的权利要求范围当中。
权利要求
1.一种特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述方法包括以下步骤步骤1:建立客户端与服务器之间的局域网;步骤2 :客户端与服务器进行时钟同步;步骤3 :服务器向客户端发送同步采集控制命令;步骤4 :进行电流数据的定时存储。
2.根据权利要求1所述的特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述步骤I中,通过网络连接将客户端IP地址设定在网段内,并通过交换机与服务器连接,即可建立客户端与服务器之间的局域网,实现服务器和客户端之间相互通信。
3.根据权利要求1所述的特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述步骤2包括以下步骤步骤2-1 :服务器设置时间,作为标准时钟源;步骤2-2 :客户端利用ΝΕΤ ΜΕ网络同步协议,实现与服务器之间的严格时钟同步。
4.根据权利要求3所述的特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述步骤2-1中,服务器同步Internet时间,保证与标准时间同步;服务器时间作为标准时钟源,且服务器开启来宾模式,实现客户机与服务器时钟的同步,同时允许网络访问。
5.根据权利要求3所述的特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述步骤2-2中,通过CMD命令行实现客户端与服务器严格的时钟同步,所述CMD命令行为ΝΕΤ ΜΕ服务器IP地址/set/y。
6.根据权利要求1所述的特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述步骤3中,基于客户端/服务器模式,服务器向各个客户端同时发送同步采集命令, 同时服务器在同步采集前接收到客户端的应答信号,否则立即发送同步采集停止命令;客户端接收到同步采集命令后,若没有接收到服务器发出的同步采集停止命令,开启内核模式的定时器,开始定时采集。
7.根据权利要求6所述的特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述服务器端发送同步采集命令,保证各个客户端在同一时间点采集数据,客户端接收同步采集命令后,进行采集、显示和保存数据;具体包括以下步骤1)创建监听Socket对象;初始化WinSocket的动态链接库,用Create函数创建监听 Socket对象,绑定监听端口 ;2)进入监听状态;使用Listen函数进入监听状态,此时设置的端口一直监听是否有客户端的连接请求;3)接受收客户端的连接请求;当有客户端发送请求连接时,监听套接字调用Accept函数实现客户端的连接;4)与客户端进行通信;向各个客户端发送同步采集命令;5)若在规定的时间内,未收到应答信号,会立即发送停止同步采集命令,同时,返回到第四步继续执行,直至全部发送成功;6)发送停止同步采集命令,关闭服务;同步任务结束后,使用Close函数关闭通信 Socket 和侦听 Socket。
8.根据权利要求7所述的特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述客户端显示线程、保存线程加入线程池队列,遵循时间先后次序。
9.根据权利要求6所述的特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述客户端网络连接的创建过程包括以下步骤O创建客户端Socket ;初始化Win Socket的动态链接库后,先构造通信Socket ;2)客户端发出连接请求;使用Connect函数提出与服务器连接的请求;3)客户端与服务器端进行通信;待服务器允许连接后,双方即可开始通信;当服务器发送同步采集命令后,客户端立即回复成功接收的应答信号;同时,立即开启内核层线程池定时器,各个客户端在同一时间点同步采集数据;4)客户端接收到停止同步采集命令后,断开连接。
10.根据权利要求1所述的特高压直流电晕电流的高精度多点同步采集方法,其特征在于所述步骤4中,客户端利用内核线程池实现多点同步定时采集;用户层定时器实现波形的实时显示,内核层线程池定时器实现电晕电流数据的定时保存。
全文摘要
本发明提供一种特高压直流电晕电流的高精度多点同步采集方法,首先,建立客户端与服务器之间的局域网;其次,客户端与服务器进行时钟同步;再者,服务器向客户端发送同步采集控制命令;最后,进行电流数据的定时存储。本发明提供的方法适用于特高压直流宽频域电晕电流的测量,基于内核线程池和NETTIME网络同步协议实现特高压直流宽频域不同测量点的电晕电流高精度同步采集。
文档编号H04L29/06GK103051634SQ20121057489
公开日2013年4月17日 申请日期2012年12月26日 优先权日2012年12月26日
发明者刘元庆, 袁海文, 陆家榆, 李炼炼, 吕建勋, 郭剑, 赵录兴 申请人:中国电力科学研究院, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1