2023年12月31日发(作者:)

  2007年  9月第33卷第9期高 电 压 技 术HighVoltageEngineeringVol.33No.9Sep. 2007・33・VB6.0用于TDS与IPC的冲击测量串行通信马 斌,周文俊,黎文安,刘 洋,王建国(武汉大学电气工程学院,武汉430072)摘 要:雷电冲击测试系统试验波形参数的实时在线检测、显示与存储以及雷电冲击波形参数的自动、实时计算与管理需要在工业控制计算机(IPC)和示波器(TDS)之间进行必要的通信。为此介绍了基于VisualBasic6.0开发平台,利用TDS1k/2k示波器接口卡所带串口(RS2232)与IPC进行的数字交互软件的开发原理与过程。现场应用实现了:IPC屏幕上与示波器同步显示波形并进实时分析;分析冲击电压、电流波形各参数、统计及打印其结果;存储大量的波形、波形参数以备后期频谱分析等处理。雷电冲击波形参数测量精度符合工程应用要求。关键词:VisualBasic6.0;TDS;IPC;串行通信;通信接口;雷电波形参数中图分类号:TM835.2;TM935.3文献标志码:A文章编号:100326520(205ApplicationofSerialCommunicationBetweenTDSandIPCbyVisualBasic6.0inLightningImpulseTestingSystemMABin,ZHOUWen2jun,LIWen2an,LIUYang,WANGJian2guo(SchoolofElectricalEngineering,WuhanUniversity,Wuhan430072,China)Abstract:Impulsevoltage(1.2/50s,etc.)andimpulsecurrent(4/10,8/20,10/350,10/1000μs,etc.)generatedbylightningimpulsetestingsystemareusedtotestmanykindsofelectricaldevicesandinsulationmaterials,suchasSPD,lightningarrester,tersoflightningwaveformanditrtorealizethereal2timeonlinedetection,displayandmemoryofthetestingwaveformparameters,andtoachievetheirautomaticreal2timecalculationandadministrationinalightningimpulsetestingsystemaswell,itisnecessarytocreatecommunicationbetweenindustrypersonalcomputer(IPC)andTek2tronixdigitaloscilloscope(TDS).Thedevelopmentprincipleandprocessofthedigitalinteractivesoftlowingfunctionswereaccomplished:syn2chronizingthewaveformonthescreenofIPCandthatoftheoscilloscope,analyzingparametersoftheimpulsevolt2ageandcurrent;surementaccu2racyofthelds:VisualBasic6.0;TDS;IPC;serialcommunication;communicationport;lightningwaveformparameter0 引 言雷电冲击测试系统广泛应用于电力系统、通信系统、邮电系统、输变电设备和电子元件生产企业以及铁道部门等,其产生的冲击电压(112/50μs等波形)、冲击电流(4/10、8/20、10/350、10/1000μs等波形)用于对诸多电气设备和绝缘材料,如SPD、避雷器等进行雷电冲击试验,也可以进行冲击联合试验等科学试验。雷电波形参数以及允许偏差在IEC及国标中都有详尽的规定,其是否满足要求也需要进行严格的试验。冲击电压和冲击电流本身会产生强大的电磁干扰并且被测信号具有持续时间很短而上升时间很快的特点,因此要求测试系统具有很好的抗电磁干扰能力。本文所提到的雷电冲击测量系统中,工业控制计算机(简称IPC)由于其很强的抗电磁干扰能力而被使用;所使用的TDS1k/2k示波器采样频率高(2GHz),可以对波形进行方便的存储,和计算机之间有明确的通信协议和丰富的通信接口,适用于冲击波形的采集工作。VisualBasic(简称VB)是Windows环境下简单易学、高效的可视化编程语言开发系统,以其所见即所得的可视化界面设计风格和32位面向对象的程序设计等特点,已广泛地应用于各个领域。VB不但提供了良好的界面设计能力,而且在微机串口通信方面也有很强的功能[124]。VB系统中可利用ActiveX控件、WindowsAPI函数和DLL程序,方便地实现Windows环境下串口通信[527]。本文所介绍的主要工作,是将雷电冲击测试系统、TDS1k/2k示波器以及IPC结合起来,利用示波器所带RS2232串行端口,基于VB6.0开发平台进行串口通信软件开发,实现以下功能:IPC屏幕上显示的波形与示波器同步,进行实时分析;对冲击电压、电流波形各参数(波前时间、半峰值时间、峰值、电荷量、单位能量等)进行分析、统计及打印其结果;对大量的波形、波形参数进行存储以进行后期频谱

・34・Sep.2007High Voltage EngineeringVol.33No.9 分析等处理。该软件取得了很好的应用效果。1 相关示波器通信指令集及VB串行通信控件1.1 相关TDS1k/2k示波器通信指令集MSCOmm控件的重要属性见表2[9211]。表1 TDS1k/2k部分波形指令和设置参数指令Tab.1 ApartofwaveforminstructionsofTDS1k/2k指 令CURVeDATa:ENCdgDATa:SOUrceDATa:STARtDATa:STOPDATa:WIDthCH:SCALeHORizontal:MAIn:SCALeHORizontal:MAIn:POSitionTRIGer:MAIn:FREQuency?描 述向/从示波器传送波形数据设置/询问波形数据编码方法设置/询问CURVe?指令数据源设置/询问波形传输起始点设置/询问波形传输结束点设置/询问波形中每点的字节宽度返回示波器垂直坐标轴参数设置/询问主时基时间/格设置/询问波形显示的起始位置返回触发频率值为准确获得波形中各点参数而使用的波形指令集和为获得示波器的设置参数而使用的其他指令见表1[6,8]。1.2 VB串行通信控件介绍VB企业版的串行通信控件提供了使用RS2232来进行数据通信的所有协议,使用事件驱动方式来处理和解决各类通信软件的开发设计问题。VB为该控件提供了标准的事件处理函数和过程,并通过属性和方法提供了串行通信的设置,它使用户能够方便地访问Windows串行通信驱动程序的大多数特性,包括输入、输出缓冲区的大小及决定何时使用流控制命令挂起数据传输等。表2 MSCOmm控件的重要属性Tab.2 ImportantattributesofMSComm属 性CommPortSettingPortOpenInputModeInBufferSizeInputLenOutBufferSizeHandShakingRThresholdSThresholdEOFEnable说  明设置串口号设置串口通信参数设置并返回通信口的状态设置并返回Input属性取回的数据类型接收缓冲区的大小设置并返回从缓冲区读取的字节数发送缓冲区的大小设置握手信号设置并返回要接收的字符数设置并返回传输缓冲区中允许的最小字符数确定在输入过程中MSComm控件是否寻找文件结尾(EOF)字符数据类型ShortCStringBOOLeanIntegerIntegerIntegerIntegerIntegerIntegerIntegerBOOLean具体设置备注1或2“9600,n,8,1”True12comInputModeBinary2500051202comNone10False  软件中对控件的设置详见表2中“具体设置备注”栏。当串口有错误发生或有通信事件发生时,系统会激活OnComm事件,在该事件中根据CommEvent的返回值添加处理代码,则可以实现串口处理程序。2 示波器与IPC数据通信软件的编制2.1 事件驱动方式及通信端口的初始化在VB6.0环境下新建工程名为“工程1”“,工程1”中放置窗体Form名为“Form1”,在Form1中放置MSComm控件名为“MSComm1”。将示波器设置为实时发送数据,经上位机请求,每次发送数据2500个(TDS1k/2k示波器每屏2500个点,经过DATa:WIDth指令的设置,每个点在内存中占用一个字节)。在OnComm()消息处理函数中加入相应的处理代码进行通信端口的初始化设置,其源代码如下(代码单引号后是注释语句,下同):PrivateSubForm_Load()……rt=gs="9600,n,8,1"ode=erSize=hold=en=True……EndSub2.2 数据接收与分离首先通过串口将数据、示波器参数请求命令用字符串的形式由IPC向示波器发出,变量定义从略(下同),其源代码如下:……

 2007年9月高 电 压 技 术……EndIf……第33卷第9期・35・SendStr="data:width1"&Chr(13)&Chr(10)&_ ’以下四行代码要求了传回波形数"data:encdgascii"&Chr(13)&Chr(10)&_ ’据的结构、编码格式以及数"data:sourcech1"&Chr(13)&Chr(10)&_ ’据源"data:start1;stop2500"&Chr(13)&Chr(10)&_ "ch1:scale?;:horizontal:main:scale?;position?;:trigger:main:frequency?;:curve?"&Chr(13)&Chr(10) ’向示波器请求获取参数以及请求波形数2.3 数据处理与作图波形数据传送到计算机以后,用原始数据绘出的波形通常含有毛刺或尖峰,这给波形的分析处理带来很大麻烦。用一种简单、实用的数学处理方[12]法———“线性插值法”,可以很好地解决此问题,其源代码如下:……Ford=0ToUBound(Y1)23Step1 ’在循环结据的指令……EndSub构中,用“线性插值法”处理波形数据IfY1(d)<=Y1(d+1)>=Y1(d+2)Then向示波器请求获取的参数分别依次为:示波器纵向坐标参数、横向坐标参数、示波器上波形显示的起始位置、触发频率。“curve?”为请求示波器传送波形数据的指令。从示波器接收的数据类型无法进行直接的处理与作图,必须进行变换和分离,其源代码如下:……InByte=orj=LBound(InByte)ToUBound(In2Byte)’将数组InByte()中元素的数据类型进ReceiveStr=ReceiveStr+Hex(InByte(j)) ’行转化后以字符串的形式重新赋值PureStr=PureStr+Chr(InByte(j)) ’给 Y1(d+1)=(Y1(d)+Y1(d+2))/2ElseIfY1(d)>=Y1(d+1)<=Y1(d+2)Then Y1(d+1)=(Y1(d)+Y1(d+2))/2EndIfNextd之后,使用绘图函数绘出波形,如下:Ford=0ToUBound(Y1)Step1Picture1(0).Line2(d21250,Y1(d)),vbRed ’颜色用以区分示波器通道Nextd3 冲击波形参数的解析求法3.1 波前和半峰值时间的求取变量ReceiveStr和PureStrNextjIfInStr(1,ReceiveStr,"A")<1Then ’如图1所示,由于示波器获取的波形原点O(真正的起始点)在时间轴上不容易确定;电压波形的峰值点由于比较平坦,在时间上也不易确定。IEC和国家标准采用如上图所示的方法来求得视在原点O1[13],再从O1算起求出波前时间tf和半峰值时间tt[14,15]判断字符串是否接收完毕ExitSubElse……DoStrPos=InStr(1,PureStr,",") ’通过循。在以VB为平台编程的过程中,为了提高程序的可读性,亦可用解析方法以tA、tB、tC来表示tf、tt。根据相似三角形比例关系,易得(冲击电压波形):tf=10(tB-tA)/6,tt=tC-(3tA-tB)/2。环结构判断“;”的位置以分离冲击IfStrPos=0ThenExitDo ’波形每个点的数值并赋值给数组ReDimPreservePureArray(H)AsSinglePureArray(H)=Val(Left(PureStr,StrPos21))PureStr=Right(PureStr,Len(PureStr)2StrPos)……H=H+1Loop  同理若为冲击电流波形,则有[16]:tf=10(tB-tA)/8,tt=tC-9(tA-tB)/8。3.2 冲击电流单位能量与电荷量的求取冲击电流单位能量(雷电流在一单位电阻上所产生的能量)W/R与电荷量Q的求法如下式:W/R=∫i(t)dt, Q=2i(t)dt,∫

・36・Sep.2007High Voltage EngineeringVol.33No.9 图1 雷电冲击全波Fig.1 Fullwaveoflightningimpulse图2 软件获取的雷电冲击波形截图Fig.2 Graphoflightningimpulseacquiredbythesoftware表3 软件计算数据与TDS1k/2k示波器之间的数据误差Tab.3 PercentageerrorbetweenthedatacalculatedbythesoftwareandTDS1k/2k冲击电流等级/kA108090100TDS1k/2k数字存储示波器tf/μstt/μs峰值/A9895272335797239tf/μs软件计算结果tt/μs峰值/A21.221.119.520.720.721.121.121.021.021.95420测试误差/%tftt峰值1.30.5-0.40.270.270.15-0.671.761.48-0.398.028.137.968.128.198.098.077.768.048.1121.520.919.320.421.021.421.321.320.721.68.068.197.858.178.108.138.107.828.088.150.500.74-1.380.62-1.090.490.370.770.500.49-1.390.961.041.47-1.4-1.4-0.9-1.41.41.39式中,i为冲击电流值,t为冲击电流持续时间。编程过程中,由于示波器所采集波形上各点是离散的(一屏2500个点),故可简化为:25002500其波前时间、半峰值时间及峰值的误差均控制约为±115%。因此在实际中可以运用此软件通过IPC与Tek示波器之间的通信来实现对雷电冲击测试系统中的波形数据的计算分析与管理。5 结 语W/R=n=1∑inΔt, Q=2n=1∑inΔt,式中,in为所采集每个波形点的电流值,△t为相邻波形点之间的时间,可由向示波器发送问讯指令“HORizontal:MAIn:SCALe”求出。冲击波形峰值的求取较简单,可由简单的循环结构对波形数据点进行遍历比较获得,具体介绍及源代码从略。4 该软件在雷电冲击测量系统中的应用为了实现雷电冲击测试系统试验波形参数的实时在线检测、显示与存储,以及雷电冲击波形参数的自动、实时计算与管理,在MSWindows环境下,以VB6.0为开发平台,利用RS2232接口,实现TDS1k/2k示波器与IPC之间的串口通信,雷电冲击波形参数测量精度符合工程应用要求。参考文献使用该软件从TDS1k/2k示波器上获取的雷电冲击波形截见图2。以8/20μs冲击电流为例,软件计算数据与TDS1k/2k示波器之间的数据误差分析见表3。可[1]范逸之,陈立元,孙德萱,等.利用VisualBasic实现串并行通信技术[M].北京:清华大学出版社,2zhi,CHENLi2yuan,SUNDe2xuan,ationofserialandparallelcommunicationwithVisualBasic[M].Bei2jing:TsinghuaUniversityPress,2003.[2]范逸之,陈立元.VisualBasic与RS2232串行通信控制[M].北见软件通过TDS2002示波器与IPC通信、计算所得到的波形参数与人工读数之间具有很强的可比性,

 2007年9月京:清华大学出版社,2004.高 电 压 技 术第33卷第9期・37・resters,2001(5):40244.[13]GB/T290021994 电工术语高电压试验技术和绝缘配合[S],/T290021994 Highvoltagetesttechnologyandinsulationcoordination[S],1994.[14]张仁豫,陈昌渔,王昌长.高电压试验技术[M].北京:清华大FANYi2zhi,communicationcontrolbe2tweenVisualBasicandRS2232[M].Beijing:TsinghuaUniver2sityPress,2004.[3]李湘江.VisualBasic串行通信技术[J].电气传动自动化,2002,24(1):Basicserialcommunicationtechnology[J].ElectricalDriveAutomation,2002,24(1):50254.[4]郑 宏.基于VB6.0的计算机串行通信软件设计及应用[J].学出版社,en2yu,CHENChang2yu,ltagetesttechnolgy[M].Beijing:TsinghuaUniversityPress,2003.[15]梁曦东,陈昌渔,周远翔.高电压工程[M].北京:清华大学出工业控制计算机,2004,17(3):andapplicationofserialcommunicationsoftwarebasedonVB6.0[J].IndustryPersonalComputer,2004,17(3):56257.[5](CoreReference)[M].USA:MicrosoftPress,2003.[6]DeitelHM,DeitelPJ,toprogram[M].USA:PrenticeHall,2003.[7][M].USA:Sybex,2002.[8]泰克公司.Tektronix编程手册[M].美国:泰克公司,2000.[9][M].USA:MicrosoftPress,2004.[10]FredBarwell,[M].USA:WroxPress,2002.[11]DeitelHM,DeitelPJ,NietoTR,experiencedprogrammers[M].USA:PrenticeHall,2003.[12]姚学玲,宋爱民,刘东社,等.示波器与IPC串行通讯在冲击电版社,i2dong,CHENChang2yu,ltageengineering[M].Beijing:TsinghuaUniversityPress,2003.[16]孙 伟,陈文针.冲击电流发生器的理论分析[J].高压电器,1999,35(4):,ticalanalysisonimpulsecurrentgenerator[J].HighVoltageApparatus,1994,35(4):40243.马 斌 1981—,男,博士生,研究方向为高电压测试技术。E2mail:thomas966@周文俊 1959—,男,博士,教授,博导,常年从事高电压与绝缘技术的教学与研究。马 斌流测试系统中的应用[J].电瓷避雷器,2001(5):2ling,SONGAi2min,LIUDong2she,a2tionofserialcommunicationbetweenoscilloscopeandIPConimpulsecurrenttestingsystem[J].InsulatorsandSurgeAr2收稿日期 2006210205    编辑 曹昭君中国电力企业联合会标准化中心刘永东处长来武高院检查指导标准化工作2007年8月29日,国网武汉高压研究院科技部组织召开了标准化工作座谈会,中国电力企业联合会标准化中心刘永东处长到会指导工作。武高院胡毅副院长和科技部蔡炜主任到会并讲话。会上,武高院科技部汇报了近五年来武高院先后承担的110项标准的制修订工作。其中电力行业标准有64项,已经完成了55项。2007年,武高院承担电力行业标准制修订项目18项,国家标准3项以及由国家电网公司科技部下达的特高压技术标准9项。2002年至2006年,共有3个标准获得国家电网公司科技进步奖,有1个标准获中国电力科技进步奖三等奖,有1个行业标准获得武汉市科技三等奖。2006年《,GB/T18857-2002配电线路带电作业技术导则》获国家质量监督检验检疫总局和国家标准化管理委员会颁发的《中国标准创新贡献奖》三等奖。2003年和2006年,全国带电作业标准化委员会被中国电力企业联合会标准化中心评为“电力行业先进标准化技术委员会”。刘永东处长对武高院的标准化工作给予了充分肯定,他强调,要注意完成标准计划的严肃性,继续做好标准编制工作。刘永东处长还对“知识产权与标准化工作”、“标委会之间设置联络员的问题”、“标准报批稿的申报材料的完整性”“、特高压技术标准立项的协调工作”和“标准申报评奖材料的编写技巧(创新点、经济效益和社会效益)”等方面作了详细、全面的指导。(国网武汉高压研究院 供稿)