圆棒测径仪都是用什么来进行径向圆跳动测量仪的

激光测径仪|北京时代山峰科技有限公司 手持式激光测径仪
免费电话:
联系电话:
010-729153
010-951585
传真电话:
移动电话:
电子邮箱:
主营产品:里氏硬度计涂层测厚仪超声波测厚仪粗糙度仪超声波探伤仪便携式测振仪电火花检漏仪气体检测仪便携式内窥镜激光测径仪
&>>>&&>>>&&>>>&nbsp
更详细的产品分类
北京时代山峰科技有限公司&&&
地址:北京市海淀区小营西路27号金领时代大厦12楼&&&
邮编:100085
电话:010-29153
传真:010-&&&京公网安备49号&&
var _mvq = _mvq || [];
_mvq.push(['$setAccount', 'm-']);
_mvq.push(['$logConversion']);
(function() {
var mvl = document.createElement('script');
mvl.type = 'text/javascript'; mvl.async =
mvl.src = ('https:' == document.location.protocol ? 'https:5电在线测径仪及其数据分析系统的研究_文档资料库
5电在线测径仪及其数据分析系统的研究
西安电子科技大学 硕士学位论文 光电在线测径仪及其数据分析系统的研究 姓名:张强 申请学位级别:硕士 专业:模式识别与智能系统 指导教师:黄道君
摘要自主开发一套具有国际先进水平的光电在线测径仪对提高国内线材产品的质 量和国际竞争能力有着重要的意义。本论文研制的CCD(光电耦合器件)光电在线测径仪是基于光电非接触检测技术的一种高速棒、线材专用测径仪,具有测量精度高、响应速度快、抗干扰性强、可靠性高等特点。 本文完成了测量头测量电路的设计、测径仪的误差分析和校正以及数据分析系统软件的设计与实现。测量电路设计主要包括CCD驱动电路设计、CCD视频输出信号边缘特征提取和数据传输接口设计。在测径仪误差分析中主要讨论了产生随机误差、系统误差和粗大误差的原因以及克服误差所采取得措施,尤其对测量 的非线性校正作了详细的研究。数据分析系统是与测径仪配套使用的一套软件,其功能主要是将测量结果实时显示,对测量数据进行分析,并给用户数据管理系 统提供软件接口。 论文的最后一章简单地讨论了对测量数据进行谱分析的意义,以及对测量数据进行经典功率谱估计所采用的算法。关键词:CCD光电测径仪误差分析数据分析系统 AbstractIn order tO improve the quality and the intemational competitioncapability of thethe internationalpaperwires,it is necessary to develop the photoelectric diameter gauge level independently.TheisaonCCD(Charged Coupled Device)gauge developed in thisof gaugeonnon―contactkindthe base of the technology of photoelectricmeasuring,which is special to the high speed wires and rods.It has such characteristicsashigh precision and reliability,rapid response,fine anti-jamming,andSO on.What have been coml七ted in this paper includes the design of measuring circuits,theerroranalysisandrevise of the gauge and the realization of the dataanalysissystem.The hardware circuits are mostly composed of the driver circuits of the CCD,the character’S obtain of the output video signal’S edges,the interface circuits of the datatransmission,andeITorsSOon.In the part of the error analysis,theerrorsreasonsthatcausetheandthe measurements thal overcome theare dealt with.Especially,theanon―linear revise is discussed in detail.The dataanalysis system issoftware that isused together with the gauge,whose main function is to display the results in time andto provideasoftware interface for the MIS oftheuser. on111 the last chapter,thesignificance of the spectrum analysisonthe sampled data ispresented in brief.Some classic arithmeticestimating thePSD(Power SpectrumDensity)isKeywords:also introduced. CCD Photoelectric Diameter GaugeError AnalysisData Analysis System Y 5833G8独创性声明及使用说明创新性声明本人声明,所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中 不包含其他人已经发表或撰写过的研究成果;也不包括为获得西安电子科技大学 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中做了明确的说明并表示了谢意。本人签名弘强日期竺竺.!:多关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或 部分内容,可以允许采用影印、缩印或其它复制手段保存论文。(保密的论文在解 密后遵守此规定)导师签名铱本人签名致弓缪日期砌六/?3≤!!g:£!,i日期 箜二生.堑笙 ―――――――――――――――――――――――――――――――――――――――――一一.一一――二第一章绪论§1.1选题的背景和意义高速线材生产是钢铁生产中的一个重要分支,而线材广泛应用于建筑和其他 行业中。线材的主要技术指标是直径和椭圆度。对线材技术指标的传统检测手段是定期地对已经冷却的盘钢进行人工抽检【Il。这种测量方法属于离线静态接触测 量,这样做由于无法监测直径的瞬时变化,当发现产品质量存在问题时,已经生 产了相当数量的产品,因而造成原材料和其他资源的极大浪费。而且,在生产过程中,人们希望在生产线上动态无损地实时监测线材直径的微小变化,以便对生产工艺及时进行调整。但是,生产线上的待测物是运动中的红热物体(高速线材厂,待测线材速度可达90m/s以上,且为900度以上高温),显然,这就需要一种更科学的检测手段一一非接触检测。光电在线测径仪是基于光电非接触检测技术的一种高速棒、线材专用测径 仪,具有测量精度高、响应速度快、抗干扰性强、可靠性高等特点,能够满足高 速线材成产现场条件的使用要求。能够在高温、高速等恶劣环境下测量线材的直 径及其椭圆度。因而该类钡4径仪的研制已成为国内外研究的热点问题。 在国外,已经有成熟的该类产品,如意大利DANILI公司的wINGAUGE系 统、英国IPL公司的ORBIS系统、和瑞士ZUMBACH公司的ODAC系统。而在 国内该类产品的研制还不够成熟。目前,线材生产厂所用的在线测径仪多数还是进口国外产品,这就需要投入大量的资金采购该类产品。开发具有国际先进水平的国产“在线测径仪”,将会受到高速线材生产企业的欢迎,高性能、低价格产 品的研制对提高国内线材产品的质量和国际竞争能力有重要意义。§1.2在线测径仪的种类及其各自特点目前国外的在线测径仪按测量原理可以分为两种类型“’嘲:激光扫描式测径仪和基于ccD式光电测径仪。下面将简要地介绍这两种测径仪的原理和特点。 (1)、激光扫描式测径仪工作原理 激光管发出一束极细的激光,通过扫描转镜和光学镜头平行的自上而下快速 进行扫描。光电接收管将每~时刻接收到的光根据其光强的不同转换成不同的电信号,如光被线材遮挡住的时刻,输出低电平,而没有被遮挡住的时刻输出高电 一2堂皇垄!i!!鳖堡垄苎塑塑坌堑墨丝塑婴塞――由于激光束可以非常细,所以精度可以做得很高,但对环境有一定的要求,平,将不同时刻的电信号送往计算机进行进一步处理,得到线材遮挡扫描光线的 总时间,由此而得到线材的直径。图1.1所示为这类测径仪的测量原理。 细小的灰尘都可能影响测量,况且测量获得的数据不是来自同一截面,这样对测 量结果的处理带来了一定的麻烦。兜掌最娩几八赫I_l=;静土形 激光嫩图1.1激光在线测径仪原理图(2)、基于CCD式光电测径仪工作原理这种测径仪的装置由光学部分和电路部分组成,采用专用卤素灯和光学镜头 产生平行光照明,再由镜头成像,见图1.2。在同一时刻下,CCD各光敏像元根 据其各自接收到的光的强度不同输出不同的电平信号,被线材遮挡住的光线成像 在CCD对应的光敏像元上输出低电平,而没被遮挡住的光线成像在CCD对应的 光敏像元上输出高电平,可以根据线材边沿成像在CCD上所对应的CCD光敏像 元位置来确定线材的直径。图1.2 CCD式光电测径仪工作原理图在该类测径仪采用高速采样技术,可克服被测物抖动的影响。由于该测量原 理是基于数字式的,并配有精密的光学系统、微处理器等,没有易损件和运动部件。因此,具有高精度、高稳定度、高可靠性等优点。本文所设计的光电在线测 径仪就是基于这种原理的,其详细的工作原理将在下一章讲述。§1.3本课题的主要任务在整个光电在线测径仪的研制过程中,本人完成的主要任务有 第一章绪论!(1)、光电在线测径仪测量头测量电路的设计及固件代码的编写。主要涉及 CCD驱动信号的产生、CCD输出视频信号边缘特征的提取、与主控机数 据通信与传输接口的设计。(2)、光电在线测径仪测量误差分析及其非线性校正的实现。主要涉及测径仪中各类误差的分析与处理和对测径仪测量数据进行非线性校正。 (3)、光电在线测径仪远程数据分析系统软件的设计与实现。使用Vc+十语言编写了与光电测径仪配套使用远程数据分析系统软件一套。主要涉及的内容有:Windows环境下串口编程,数据库的设计、各种测量参数的实 时显示以及对历史数据的分析等。 (4)、测量数据的频谱分析。主要涉及对测量数据进行频谱分析的主要理论知识及算法的实现。§1.4以下各章主要内容第二章:光电在线测径仪概述第三章:测量头测量电路设计 第四章:误差分析及其非线性校正第五章:数据分析系统软件的设计与开发 第六章:测量数据的功率谱密度估计第七章;结束语 !堂皇壅垡型堡堡墨苎塑塑坌堑墨笙堕堑窒―――――――一第二章光电在线测径仪概述本文所设计的光电在线测径仪是基于光电检测技术、非接触检测的一种高速 棒、线材生产线专用测径仪。具有检测精度高、响应速度快、抗干扰性好、可靠 性高、寿命长等特点,满足高速线材成产现场条件的使用要求。能够在高温、高 速等恶劣环境下测量线材的直径。本章主要介绍其测量原理、系统结构和主要性能指标。§2.1测量原理光电在线测径仪测量原理如图2.1所示。发光源发出的光经准镜Ll准直后可 获得平行性很好的平行光束,此光束照射在视场中的线材上,再经过一组光学放大镜头L2、L3放大后成像于CCD感光面上。CCD器件把感光面上的光信息转 换成与光强成比例的电荷置。CCD在一定频率的时钟脉冲的驱动下,在CCD的输出端可以获得线材的视频信号。被线材遮挡的部分其光敏像元输出为低电平信 号,反之,没有被遮档的部分其光敏像元输出高电平信号。CCD视频输出信号的图形如图中所示。其中,N1、N2对应于线材的两个边缘在CCD上的成像位置。因此,线材d的大小应与N1、N2之差成比例。为了得到线材直径的大小d,我13’|Ⅵccn输出僵警图2.1测量原理们通过对CCD输出视频信号进行二值化处理,得到N1、N2的大小,然后根据下面的公式得到直径的大小,d=K×(Ⅳl一Ⅳ2)式(2―1)从上面的测量原理可以得知,与激光扫描式测径仪的测量原理有着很大的区 别:激光扫描式测径仪测量原理是根据扫描线材所需的对间大小来确定线材直径 的大小,通过高频脉冲填充输出视频信号中相应低频脉冲来获得扫描时问,从而得到线材直径的大小。 第二章光电在线测径仪概述在实际测量中,为了提高整个系统的测量精度,我们采用了8对测量头,这 8对测量头等间隔地安放在与线材截面同一平面内,如图2.2所示。其中,T表示 测量头发射端,R表示接收端,黑圈表示线材的截面,外圈表示测量头所在的平 面,T1和RI是一对测量头,其它类似。这样保证了8对测量头测量的数据来自 同一截面,我们可以从不同的角度来了解线材直径的情况,同时这样做也会给测量数据的处理带来方便。毒阶譬煎窜R5帮1啦t毒图2.2测量头分布示意图记T1R1方向的线材直径的测量结果为dl,按逆时针顺序标定其他方向线材 直径的测量结果为d2、d3、d4、d5、d6、d7、d8。椭圆度的计算公式可以用下式 (2―2)来表示。E。max{dl―d5I,I(,2一d6J,Id3-d7],ld4一d8|}§2.2光电在线测径仪的系统结构式(2―2)光电在线测径仪系统主要有4部分组成:检测机头、主控制柜、LED显示 屏、数据分析软件。其设备系统结构如图2.3所示。图2.3光电在线测径仪系统结构图 !堂皇垄丝型堡垡垦基垫塑坌堑墨堕塑婴壅下面将分别介绍各部分的主要功能:一一(j)、检测机头:用于在线检测线材的直径,这是光电在线测径仪关键部 件。整个检测机头包括8对测量头,这8对测量头均匀等间隔地放置在与线材截面同一平面上,从而保证某时刻检测到的测量数据来自同一线材直径截面,从而 提高了测量的精度,也为后来的数据处理提供了方便。检测机头每对测量头检测 到的数据是经Rs一485总线传输到主控制柜的。为了保证测量头光学系统在高温 线材通过视场时能够正常地工作,采用了水冷却方式,使光学检测部件处于冷却 系统内。为了检测冷却效果和保护光学检测部件,在光学检测部件上还安装了温 度传感器,用以检测冷却后的温度是否超过了规定的温度;在冷却管道中还安装了流量传感器,当没有冷却水或温度过高时,系统都会及时发出警报。待检测的 线材通过导卫,保证从检测机头中心穿过,并保持在测量所要求的区域内,即使 线材在运动中跳动,也能精确地检测到线材直径的数据。(z)、主控制柜:系统的控制系统核心,与检测机头共同完成参数的测量。 主要功能有参数的测量、非线性校正、测量结果的显示、数据通信、设备报警指 示、超差报警指示、设备自检和电源设备管理等。通过RS.485总线分别从8对测量头得到来自同一线材截面的测量数据,包括线材直径对应CCD光敏像元位置Nl和N2、测量头工作状态(测量头需要清洗、测量头视场中无目标、测量数据 为有效数据等状态)和报警信息数据,并将这些数据进一步处理(包括直径、椭圆度的计算,非线性校正等);将结果(直径最大值、最小值、平均值和椭圆度 大小)分别送往LED显示屏上进行实时显示。并通过RS--232总线将测量数据传 输到远程数据分析系统软件上。报警信息也在面板上明显及时地显示出来,包括 冷却水报警、设备故障报警等。 (3)、LED显示屏:用于测量参数的显示,包括直径最大值、最小值、平均值 和椭圆度的大小。现场人员可以很清楚地了解到线材直径的变化情况,从而可以根据实际情况适当地调整生产工艺。 (4)、数据分析系统软件:该软件系统的主要功能有测量数据的显示(线材的直径、椭圆度、直径最大值和直径最小值)、误差分析的显示(超差百分比、均 方误差、可信度)、实时图形的显示(直径实时显示图、椭圆度实时显示图、测量数据的直方图和线材的截面图),并将测量结果以数据库的形式存储,给用户 的数据管理系统提供接口。§2.3光电在线测径仪的性能指标本文所设计的光电在线铡径仪,在整体设计中是以国外同类产品为目标,在 技术指标、功能和可靠性方面均按照国际水平要求设计。产品性能指标如下: 第二章光电在线测径仪概述7检测区域:30ram钡0量范围:中4mm一由25ram测量精度:±0.02ram 测量分辨率:0.01mm 响应速度:1.4ms(700次/秒) 线材温度:小于1300度 !堂皇垄垡型堡堡垦基塑塑坌堑墨堕塑婴塞一第三章测量头测量电路设计测量头主要由光学系统与电路两部组成。测量头中光学系统主要包括光源发 射端和接收端两部分,采用的是物方远心光路系统,从而克服了线材高速运动中 上下抖动带来的测量误差。为了减小高温红热线材发出的红光以及外界光对测量精度的影响,在接收部件透镜前加了一个绿色的滤光片(根据该测径仪选用的CCD 的特性,光路的光源采用的是绿光)。对于光学系统的设计不是本章讨论的重点,本章主要论述的是电路部分的设计。本章首先讨论了测量头硬件电路设计的框图,其次结合实际电路系统对核心器件TCDl208AP进行了介绍,然后给出了视频输出信号的边缘特征的提取算法,最后给出了测量头接口电路部分的设计和单 片机部分代码的编写。§3.1测量头电路设计框图测量头完成的主要功能是对线材直径的测量,其电路部分主要功能有CCD驱动信号的产生、CCD输出视频边缘信号特征的提取、与主控制柜之问的数据传 输与通信等。设计的电路其框图可用图3.1表示。串行通卜一 信电路L一 AT89c6l ................一通信封l――一驱动L―』 ――叫电路卜_―叫AT90S1200TCDl208仨―一输出信号陛一 r―]处理申.路fr―图3.1电路设计框图如图所示,在整个系统中我们采用了两片单片机,这是整个测量头电路部分 的核心控制部分。其中AT90S1200单片机是一款基于AVR RISC的低功耗CMOS的8位单片机。通过在一个时钟周期内执行一条指令,它可以取得接近1MIPS/MHz的性能,工作在12MHz时具有12MIPS的性能。该单片机主要完成的功能是产生TCDl208AP工作所需的驱动信号、完成对CCD输出信号的高速实时采集(输出信号的边缘特征的提取),并将测量结果(包括测量头的状态)实 时地传送到单片机AT89c51中。AT89c51单片机是一种常用的单片机,在这个系统中主要完成的任务是实时地接收来自AT90S1200单片机的测量数据和测量头的 状态,待收到主控制柜需要数据的命令后将最近的钡4量数据和测量头的状态传送 一.一.塑三童型量墨型里皇墅望盐一――――一9§3.2到主控制柜中去,这之间通过串口通信方式完成的,数据传输总线为RS-485总线。AT89c51单片机还负责解决CCD输出信号的高速采集与整个系统的数据低 速率传输之间的矛盾。TCDl208AP芯片介绍及相关电路设计CCD芯片的性能对整个系统的性能尤其对测量精度的影响很大,CCD:c!j:片的 选择至关重要。结合整个系统的性能指标,线阵CCD我们选定的是TCDl208AP。TCDl208AP是典型的二相线阵CCD,下面将结合电路的实际设计介绍其基本结构、工作原理、驱动电路和输出信号处理电路。 (1)、TCDl208AP的基本结构 图3.2所示为TCDl208AP的基本结构原理图。它由2212个pn结光电二极管 构成光敏元阵列,其中前40个和后12个是用作暗电流检测而被遮蔽的,图中用Dn表示;中间的2160个光电二极管是曝光像敏单元,图中用Sn表示。每个像敏 单元的尺寸为14urn长、14脚高,中心距亦为14/.on。光敏阵列总长为30.24ram,光敏元的两侧是用作存储光生电荷的MOS电容列(存储栅),MOS电容阵列两侧是转移栅电极SH,转移栅的两侧为CCD模拟移位寄存器,其输出部分由 信号输出单元和补偿输出单元构成。圈3.2TCDl208AP结构原理图由于光路部分视场高度为30ram,而CCD阵列总长为30.24ram,因此整个光路 放大倍数0约为1,CCD的分辨率为14,埘,因此CCD对线材的空间分辨率约为14#删,所以说该系统测量分辨率为能够达到0.Olmm。(2)、工作原理TCDl208AP在图3.3所示的驱动脉冲作用下工作。当脉冲o。。高电平到来 时,正值①。电极下均形成深势阱r同时◇。的高电平使①,电极下的深势阱与 些堂皇垄垡型堡垡墨基塑塑坌堡墨竺竺堑塞―――――――一MOS电容存储势阱沟通。如图3.3所示,MOS电容中的信号电荷包通过转移栅转移到模拟移位寄存器的(p,电极下的势阱中。当①。由高变低时,①。低电平形 成的浅势阱将存储栅下势阱与①.电极下的势阱隔离开。存储栅势阱进入光积分 状态,而模拟移位寄存器将在①.与①:脉冲的作用下驱动转移到西。电极下势阱中的信号电荷向左转移.并经输出电路由Os电极输出。张封口g埔“广1%”厂―]n n n自门门门几n n r、门几几n nn¥n n』_U1rU、,L翻.广――、} “、。h i}…“1”一”’”………一―叶一一¨.,。,。..+。=:t女=i≈^§;i≥羹萋一¨广1。 ; ,n n n n n nn门n煳n n n n n―n n n门n n n.n广”Innl nn nH队M舢札A n n n n nI n鲥舢n n nn n n^nM n^n n n日n n n n n n n咖n^a nn。m‘_Yvlovvl,'州vlrlrvlrY、11v_一,、I、n^n九nflfln九几nnnn九nn^nnrr圹1rvvl,v心、,1rvY.-r圹图3.3TCDl20SAP驱动脉冲波形图由于结构上的安排,0S端首先输出13个虚设单元信号,再输出27个暗信号,然后才连续输出S。到S:,。的有效象素单元信号?第S:.。信号输出后,又输出9个暗信号,再输出9个暗信号,再输出2个奇偶检测信号,以后便是空驱 动。空驱动数目可以是任意的。由于该器件是两列并行分奇、偶传输的,所以在一个①Ⅲ周期中至少要有1106个①。脉冲,即T跗>1106T,。图3.3中的①。为复位级的复位脉冲。复位一次输出一个信号。(3)、驱动电路以及输出信号处理电路驱动电路及输出信号处理电路如图3.4所示。由?AT90S1200单片机产生的四路脉冲信号作为TCDl208AP的①。、①。、①2、①。信号,在这四路驱动脉冲的作用下,TCDl208AP输出Os信号及DOS信号。将从二路输出信号分别送到差分放大器的正、反输入端差分放大,抑制掉共模①。引起的干扰,就可得到图3.5所示的信号波形。将该输出信号再经放大器放大,就可以进一步处理。为了达到测量响应速度为1.4ms(700次/秒)的性能要求,由TCDl208AP的工作原理可知,每测量一次必须有2212个①。个时钟脉冲。因此,可以用下面的公式确定TCDl208AP的工作频率。――S―― 西。 700 ①.=①:=0.5中。22121 ――――――――_――――――――――_――――――――――_―――――――――――――――――――――一。 一箜三童型量墨型量皇堕堡:!±一――旦MHz。对可以算得①Rkl.477MHz,我们取①^=1.5MHz,而①12(p2=0.75 于①。的要求,只需要满足丁。>ii06T.即可。图3.4驱动电路及输出信号处理电路图3.5输出脉冲波形图§3.2CCD视频信号的边缘特征提取在测径仪整个系统中,根据测量原理,我们对CCD输出的视频信号是不要求 灰度的,因此为了提高处理速度和降低成本,我们对CCD视频输出信号采用二值 化处理的方法进行边缘特征提取。光学系统把被测对象线材成像在CCD光敏像元 上,由于线材与背景在光强上的变化反映在CCD视频输出信号中所对应的图像尺 寸边界处会有明显的电平变化,通过二值化处理把CCD视频输出信号中图像尺寸 部分与背景部分分离成二值电平。实现CCD视频信号二值化的方法很多,一般采 用硬件电路实现,下面简要地介绍几种常用的二值化处理方法“”“”。(1)、固定阈值法 光电在线测径仪及其数据分析系统的研究固定闽值法是一种最简单的二值化处理方法。将CCD输出的视频信号送入电 压比较器的同项输入端,比较器的反相输入端加可调的电平就可以构成了固定阈 值二值化处理电路。当CCD视频信号的幅度稍稍大于阈值电压(电压比较器反相 输入端的电位)时,电压比较器输出为高电平;CCD视频信号小于或等于阈值电 压时电压比较器输出为低电平。CCD视频信号经电压比较器输出的是二值化方波 信号。调节阈值电压,方波的前、后沿将发生移动,脉冲的宽度发生变化。当 CCD的视频信号输出含有被测物体直径的信息时,可以通过适当地调节阈值获得 方波脉冲宽度与被测物体直径的精确关系。 (2)、浮动阚值法 浮动闽值法是使电压比较器的阈值电压随测量系统的光源或CCD输出视频信号的幅值变动。这样,当光源强度变化引起CCD的视频信号起伏变化时,可以通 过电路将光源的起伏或CCD视频信号的起伏变化反馈到阈值上,使阈值电位跟着变化,从而使方波脉冲的宽度基本不变。(3)、微分法分析CCD视频信号的输出波形可以看出图像边界在波形图曲线变化率最大的 点处。为此,可用微分的方法找到曲线的最大变化率所对应的点。这种方法称为 微分法。微分法的电路原理框图如图3.6所示。对于其详细的原理在这里就不在 详细讲述1竺兰H竺H竺兰竺r] 【。...――――――――――一【.―...,―,,...―一【....―..,―....J图3.6微分法原理图fATgosl200单片机自带了一个模拟比较器。模拟比较器比较正输入端PBO(AINO)和负输入端PBI(AINI)的值。如果PBO(AINO)的电压高于PBI(AINI)地 值,比较器的输出ACO(模拟比较控制器控制和状态寄存器一--ACSR的第5位) 将置位?因此我们在进行CCD输出信号二值化处理中没有纯粹地采用上述3种方 法的任何一种,而是结合单片机的性能,在固定闽值法的基础上,采用软件实现 CCD输出视频信号的边缘特征的提取。其原理如下:将CCD输出信号经过放大处 理后,输入到单片机的PBO(AINO)口,而PBI(AINI)端输入的值为某一固定阈值电压,这样就省去了固定闽值法中的反相比较器。利用①。作为同步信号,用一个整型变量Place来记录CCD像敏单元的位置(1~--2212),当新的扫描行开始时,该整型变量设为l,每发出一个(p。脉冲信号,就去读取ACO中的数值,同时变量Place加l,当连续读到的ACO中的值由1变成0时,将此时 第三章测量头测量电路设计Place的数值减去40(因为最初40个为虚设单元)作为图2一l中N1的值(也就 是CCD输出信号中第一个边沿位置),而后,若连续读到的ACO中的值由0变l 时,将此时Place的数值减去40作为图2一l中N2的值(也就是CCD输出信号 中第二个边沿位置),从而完成了对CCD视频信号边缘特征的提取。 这种方法电路简单,程序代码也比较简单,测量精度高,而又避免了复杂的 电路设计,能够有效地利用单片机资源。当然这种方法与固定闽值法有着类似的 问题,就是对检测光学系统有较高的要求。首先提供给PBl口的阈值电压要稳 定;其次,CCD视频信号只与线材的直径有关,而与时间t无关,即要求时间稳 定。显然这就要求测量系统的光源及CCD驱动脉冲,主要是转移脉冲的周期丁。要稳定。测量头提供的光源是由稳定的恒流源供电的稳定光源,而71。的稳定是由ATgOSl200提供的。§3.3接口设计为了实现远距离传输,节省传送线,降低成本,采用串行数据传送总线进行数据传输。下面首先简单地介绍~下串行通信的基本概念,然后再介绍我们采用 的串行总线RS-485,最后介绍我们采用的芯片MAXl478E。 (1)、串行通信的基本概念及技术Ⅲ卜‘“ ①、串行数据的编码 串行通信是以字符形式传送信息的,而字符通常又是采用美国标准信息码交 换码ASCII(American Standard Code for Information Interchange)进行编码。②、数据传送数率一一波特率(BaudRate)衡量数据传送快慢地指标是波特率。所谓波特率,即每秒串行发送或接收二 进制数位。例如,每秒传送20个字符,每秒字符由10位组成,那么,传送速率 是200波特。③、半双工与全双工 根据发送和接收数据能否同时进行分为半双工与全双工两种。半双工(HaIfDuplex):用单根传送线实现双向数据传送时,发送和接收不能同时进行,而只能分时进行,这种方式称为半双工通信:全双工(Full Duplex):用两根传送 线来连接两个设备,数据的发送和接收可以同时进行,这种方式称为全双工通 信。通常情况下,RS一232使用的是全双工通信,RS一422使用的是全双工通 信,而RS--485使用的是半双工通信。就RS--232而言,它之所以能达到全双工 的功能,是因为其引脚在设计上就是接收与传送分属两个不同的引脚与线路。RS 光电在线测径仪及其数据分析系统的研究--485上的数据线虽然也有两条,不过这两条线路却是一个信号标准电位的正负 端,真正信号必须是两条线路相减所得到的,因为在一个时间内,只可以有一个方向的数据在传送,也就形成了半双工的工作模式。④、串行通信方式 根据时钟控制数据发送和接收的方式,串行通信分为同步通信和异步通信。 在同步通讯中,为了使发送和接收保持一致,串行数据在发送和接收两端使 用的时钟应是同步。在异步通信中,发送和接收两端分别使用自己的时钟,只要求时钟频率在短期内保持同步。同步通信与异步通信相比较,它的优点是传输速 度快,不足之处是由同步通信的实用性完全取决于发送器和接收器保持同步的能 力。另外,若在~次串行数据的传输过程中,接收器由于某种原因(如噪声)漏 掉一位.则所有以下的接收的数据都是不正确的。异步通信是相对同步通信而言,传输数据的速度较慢,但若在一次串行数据传输过程中出现错误,仅影响~个字节。因此,目前大多数系统中,串行数据的传输采用的是异步通信方式。图3.7为串行通信方式示意图(左为同步方式,右为异步方式)。图3.7串行通信方式示意图⑤、异步串行通信协议异步串行通信协议规定每个数据以相同的位串形式传送,每个串行数据由起 始位、数据位、奇偶校验位和停止位组成,串行数据的位串格式如图3.8所示。 具体定义如下(图中数据位为7位):。图3.8串行数据位串定义当通信线上没有数据传送时应处于逻辑“1”状态。当要发送一个字符数据时,先发送一个起始位,其作用是协调同步:然后发送数据位,数据位可以是5、6、7或8位,数据位从最低有效位开始逐位发送;然后再发送奇偶校验位: 最后发送停止位-用于标志一个数据的传送完毕,可以是1、1.5或2位。当接 第三章测量头测量电路设计坚收设备接收到停止位后,通信线路就恢复到逻辑“l”状态,直至下一个字符数 据起始位到来。为了有效地进行通信,通信双方必须遵守统一的数据传送格式和 相同的传送速率。 (2)RS-485总线的选择与接口实现RS一232是使用十分广泛的串行总线,但它存在若干固有的不足:①、数据传输速率慢,一般低于20kbps。 ②、传送距离短,一般局限于15m,即使采用较好的器件及优质同轴电缆,其最大距离也不应超过60m。⑨、没有规定标准的连接器,因而产生了25插针及9插针等多种设计方案。 ④、信号传输为单端电路,共模抑制比较小,抗干扰能力较差。 ⑤、接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不 兼容故需使用电平转换电路方能与TTL电路连接。 ⑥、Rs一232一c接口在总线上只允许连接1个收发器,即单站能力。而光电在线测径仪使用的环境是强噪声的一个环境,再加上我们需要的通信距离较长,更为重要的是,共有8个测量头与主控制柜进行通信,为了使用最少的信号线实现多个设备互联成网,因此我们选用了RS一485总线进行通信。Rs一 485总线的特点为:①、平衡传输 数据信号采用差分传输方式,也称作平衡传输,它使用的是一对双绞线,将 其中一线定义为A,另一线定义为B,如图3.9所示。\玳Ⅲ跳幽3.9 RS--485连线定义州小?删通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是一个逻辑状态,负电平在--2~--6V,是另外一个逻辑状态。还有一个信号地C和一个“使 能”端。“使能”端是用于控制发送器与传输线的切断与连接。 收、发端通过双绞线将AA与BB对应相连,当在收端AB之间有大于+200mV的电平时,输出正逻辑电平小于一200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV~--6V之间。如图3.10所示。 坚堂皇垄塑型堡垡墨基塑塑坌堑墨丝堕堕茎一一一6V图3.10传输电压范围②、对于RS--485总线的性能我们可以与RS--232的性能作一比较,表3.1为对比的结果。表3.1 Rs一485和RS-232各项性能对比RS一232 RS――485操作方式单端15m 20kbps差分1200m lOMhps最大传输距离 最大传输速率 可连接的台数工作方式1台驱动、一台接收 全双工±15'/多台驱动、多台接收半双工±5V ±1.5V ±0.2V ≥12K0驱动输出电压(无负载)驱动器输出电压(有负载) 接收器输入灵敏度±5V~±15V±3V3-7KQ接收器输入阻抗③、RS--485网络安装在进行网路连接时.RS一485我们采用的是二线方式。接口芯片采用的是 Maxl487E。其网络连接示意图为图3.1l所示。 为了保证系统的可靠性,需要注意下面几个问题: a)、传输线的选择和阻抗的匹配在差分平衡系统中,~般采用双绞线作为信号传输线。双绞线价格低廉,使 用方便,两条线基本对称,外界干扰噪声主要以共模方式出现,对接收器的差动 输入影响不大。信号在传输线上传送时,如果遇到阻抗不连续的情况,会出现反 射现象,因而造成电磁干扰。双绞线的特性阻抗一般在110Q~130Q之间,因此通常在传输线末端接一个120 Q的电阻进行阻抗匹配。 b)、隔离RS--485总线在多站连网时,相距较远的不同站之间的地电位差可能很大, 各站不加隔离地直接连网很有可能导致接口芯片的损坏,尤其是接收芯片。解决 第三章测量头测量电路设计这一问题的一种简单有效的方法是将各站的串行通信接口电路与其他站进行电气隔离。c)、抗静电放电冲击 RS--485接收器差分输入端对地的共模电压范围为~7v~12V,超过此范围 时可能损坏器件。芯片在安装和使用过程中,可能受到静电放电冲击。解决的办 法是选用带静电保护的RS一485接口器件。我们选用的MAXl487E就带有静电 保护。 d)、传输线的铺设及屏蔽在系统安装时,应尽量做到传输线单独铺设,不与交流动力线一起铺设在同 一条电缆沟中。强信号线与若信号线避免平行走向,尽量使二者正交。图3.11RS--488两线式网络连接示意图§3.4C51固件代码编写AT89c51单片机在整个测量头中完成的主要功能有:实现与主控制柜之间的串口通信和实时接收传输来自AT90S1200单片机的测量结果。下面分别介绍这两 个功能在设计中是如何实现的。(1)、串口通信 AT89c51带有~个全双工增强型UART,可以同时发送和接收,它还具有接收缓冲,在第一个字节从寄存器读出之前,可以开始接收第二个字节。但是如果第二个字节接收完毕时第一个字节仍未读出,其中~个字节将会丢失。串口的发送 和接收寄存器都是通过SFR SBUF进行访问的:写入SBUF的数据装入发送寄存 18光电在线测径仪及其数据分析系统的研究器,对SBUF的读操作是对物理上分开的接收寄存器进行访问。89c51串口有四种 操作模式: 模式0:串行数据通过RxD进出,TxD输出时钟。每次发送或接收以LSB(最低位)作首位,每次8位,波特率固定为MCU时钟频率的1/12。模式l:TxD脚发送,RxD脚接收,每次数据为10位,一个起始位,8个数据位 (LSB在前)及一个停止位(1)。当接收数据时,停止位存于SCoN的RB8内, 波特率可变,由定时器1溢出率决定。 模式2:TxD脚发送,RxD脚接收,每次数据为11位,一个起始位,8个数据位 (LSB在前)、一个可编程第9位数据及一个停止位(i)。发送时,第9位数据 存SCON的RB8位,停止位忽略。波特率可编程为MCU时钟频率的1/32或1/64, 由PCON内SMODI位决定。 模式3:TxD脚发送,RxD脚接收,每次数据为1l位,一个起始位,8个数 据位(LSB在前)、一个可编程第9位数据及一个停止位(1)。事实上模式3除了波特率外均与模式2相同。其波特率可变并由定时器1溢出率决定。5l单片机与主控制柜之间的串口通信协议是9600bits/s、一位开始位、8位 数据位、一位停止位,无奇偶检验位。因此我们使串口工作方式为模式l。为了得到所需的波特率,计数器l工作方式为模式2(此模式下计数器寄存器作为可 自动重装的8位计数器(TLl),TLl的溢出不仅置位TFI,而且将THl内容重新 装入TLl,THI内容由软件预置,重装时THI内容不变)。计数器1的THl寄存器装载值可由式(3―3)得到。册1=256一@。伪。n8%84+肋“凇眦)式(3―3)式中k=1(PCON中SMODI=0)或k=2(PCON中SMODl=1),OscFreq为5l单片机的晶振频率,BaudRate为希望的波特率。在本系统中,SMODI=10,OscFreq224MHz,BaudRate29600,因此THI:OxF3H。下面给出了串口初始化部分 代码。movtmod, thl,#20h }}Of3h #Of3h 945h #80h #50h:timerl/counterl in modeO:9600baud rate set :9600baud rate set :Timerlcasuemovmovtli,teen, pcon,SCOn,movinterruptmoVmov:Baud rate double :Serial in model.ren enabled(2)、接收、传输测量结果 第三章测量头测量电路设计为了保证得到最新的测量数据,并且解决高速数据采集与低速率的数据传输 之间的矛盾,我们在c51中的存储器中开辟了两个数据存储区datal和data2用 来存储来自AT90S1200单片机的测量数据(包括测量头状态、N1、N2),其初始 地址分别为addI、add2。并定义了两个变量:varl,var2,其中varl是用来标识 c51是否正在从数据存储区(datal、data2)中读取数据并且通过串口发送出去,如果varl=l表示‘是’,varl=0表示‘否’;var2是用标识新接收到的数据是存储在datal中还是存储在data2中,如果var2=l,表示将新收到的数据存储在datal中,var2=0,表示将新收到的数据存储在data2中。这样就保证了每次接收 到的数据时,如果c51没有向主控制柜传输上一次的测量数据,则新收到的数据将交替存储在datai和data2中(如果,上次数据存储在datal中,则这次存储 在data2中),如果c51正在向主控制柜传输上一次的测量数据,则新收到的数 据将一直覆盖另一个存储区(如果c51正在传输datal中的数据,则新收到的数据一直存储在data2中,直到c51传输完毕,才开始交替存储)。大致的工作原 理为:c5I通过外部中断1获得新接收到的数据将存储在哪一个存储区;通过外部中断0将新收到的数据存储在相应的存储区中;主程序收到主控制柜的命令后 将最新的测量数据传输到主控制柜中去。图3.12是c51单片机的主程序流程图。图3.12C51主程序流程图 20光电在线测径仪及其数据分析系统的研究第四章光电在线测径仪误差分析及校正光电在线测径仪需要具有较高的测量精度和测量速度,因此必须实时剐测量 数据进行修正与处理,才能够满足使用要求。智能仪器的特点之一,是可以利用微计算机(微处理器)对测量数据进行处理,修正仪器存在的非线性误差,减小 测量过程中随机误差、系统误差和粗大误差对测量结果的影响,提高测量精度。 本章介绍了这三类误差的特点以及在测径仪中是如何采用软件进行处理,以减少这三类误差对测量结果的影响。尤其对测径仪的测量结果呈现非线性的原因进行 了分析,并且对如何利用计算机进行非线性校正也进行了详细的论述。§4.1随机误差及其处理方法随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,其大 小和符号作无规则变化而无法预测,但多次测量结果符合统计规律。任何测量系 统都会存在随机误差,并且随机误差是不可能消除的,只能通过一定的方法减小随机误差。为克服随机干扰引入的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波。采用数字滤波算法克服随机干扰引入的误差有如下优点【={1]:①、数字滤波无需硬件,只用一个计算过程,可靠性高,不存在阻抗匹配问 题。尤其是可以对频率很高或很低的信号进行滤波,这是模拟滤波器所不及的。 ②、数字滤波是用软件算法实现的,多个输入通道可以共用一个软件“滤波器”,从而降低系统开支。③、只要适当改变软件滤波器的滤波程序或运算参数,就能方便地改变其滤波特性,这对于低频、脉冲干扰、随机噪声等特别有效。 基于数字滤波的优点,在现在的智能仪器中数字滤波越来越得到青睐。常用的数字滤波有程序判断法、中值滤波法、算术平均滤波法、加权平均滤波法、滑 动平均滤波法和低通滤波法m¨知m”。 由光电测径仪的测量原理知,同一截面有8个测量数据,这8个数据基本上是以某一固定值(对同一线材)为中心上下波动,对整条线材的测量数据也是基 本上以某一固定值为中心上下波动,因此我们可以认为任何单次测量数据均服从以甄为均值、盯2为方差的正态分布,即五服从N(甄,盯2),其中‰是线材直径的真值。结合这种数据特点,我们采用了算术平均滤波法,来克服随机误筹。 第四章光电在线测径仪误差分析及校正算术平均滤波法就是连续取N个采样值进行算术平均,其数学表达式为i=寺∑五式(4―1)式中,i称为N个采样值的算术平均值;X,为第i个采样值。 算术平均滤波法是如何减少随机误差,可用下面的方法来解释。我们假设, 第i次的测量值内包含了信号成分S。和噪音成分绝,则进行了N次测量的信号成 分之和为Ⅳ∑量=Ⅳ?5,‘l噪音的强度是用均方值来衡量的,进行N次测量的噪音强度之和为√∑薪=厨?nV}=ln广上述S、n分别表示进行N次测量后信号和噪音的平均幅值。对N次测量进行平均后信噪比为粤旦:而.兰(√川’印”式(4-2)式中形是算术平均前的信噪比。因此,算术平均后信噪比提高了√万倍。当N->c。大时,显然噪声的影响就很小了。算术平均滤波法对信号的平滑程度完全取决于N。当N较大时,平滑度高,但灵敏度低;当N较小时,平滑度低,但灵敏度高。在用汇编语言编写算术平均滤波法的子程序时,为了方便地求出平均值,N一般取4,8,16之类的2的整数幂,以便于用移位来代替除法。结合测径仪的实际情况,我们把来自同一截面的8个测量数据取平均值作为 一次线材直径的测量数据。FILT: CLR设8次采样值依次存放在DATA开始的连续单元中,:清累加和滤波结果保留在累加器A中,子程序如下:AMOVMOV MOVR2,AR3,AR0,#DATA R7.#08H A,@RO A,R3 R3,AA;指向第一个采样值MOV FILTl: MOV ADD MOV CLR;取~个采样值 ;累加到R2,R3中ADDC A,R2 垒堂皇垄垡型堡堡墨基塑塑坌塑墨篓塑婴壅gOVINC一.――R2,A RODJNZ R7,FILTlFILT2 SWAP A RL XCHA A.R3累加8次(R2,R3)/8SWAP A RL AADD ANLA.#80H A.#1FH四舍五入ADDC A,R3 RET§4.2系统误差及其处理方法(1)、系统误差的分类及其对测量结果的影响 系统误差的特点是:在相同条件下,多次测量同一量时,其大小和符号保持 不变或按某种规律变化。克服系统误差与抑制随机误差干扰不同,系统误差不能 依靠概率统计方法来消除或削弱,不像抑制随机干扰那样能导出~些普通通用的处理方法,而只能针对具体情况采取一定的措施。 系统误差按其表现形式分为定值系统误差和变值系统误差。 定值系统误差;在同一条件下,多次重复测量同一量时,误差的绝对值和正负符号恒定不变,这种误差就叫做定值系统误差。变值系统误差:在多次测量同一量时,由于在测量过程中,测量条件有变 化,而使误差的绝对值和正负号按一定规律变化的误差,叫作变值系统误差。又分为(1)累进(线性)系统误差、(2)周期误差、(3)复杂系统误差。定值系统误差只影响~系列重复测量值的算法平均值i,对测量值的残差1, 没有影响,即不影响随机误差的分布规律和精度参数。如图4.1所示。设每一个测量值x,都有一个定值系统误差△。,则实测值为咒=咒+△。,其平均值i’为∑X7。∑(石+△。) i’=』旦―一;』旦―――――一刀疗聿+訾嘎埝而残差1,’,为v7,=x7,一i’=(咒+△o)一(Z+△o)=誓一x’,=v 第四章光电在线测径仪误差分析及校正望故对测量值的残差无影响。变值系统误差则不然,由上两式可知,如△。为变值,它对i及v,都有影响,即影响分布规律,也影响标准差矿,等精度参数值。图4.1定值系统误差对测量结果的影响(2)、光电在线测径仪系统误差产生的原因 在光电测径仪测量头系统中,系统误差引起的主要原因如下:①、高速线材在运动过程中的上、下振动引起系统误差。图4.2所示为高速线材运动跑道的横截面图。高速线材在运动中处于中心位 置。在轴向运动的同时还具有上下和左右的振动。由于光电测径仪光线平行通过线材,因而高速线材的左右(即水平方向)振动对测量结果没有影响。对于上下(即垂直方向)振动作如下分析。广-_―――――’l‘I跑道的宽I图4.2高速线材运动跑道横截面图经过现场观察确认,高速线材上下以一定的频率和振幅振动,当测径仪的测 量速度一定时(即测径仪的每秒钟的测量次数一定),测量结果会产生一个固定 的系统误差。该系统误差是线性系统误差,为了减少该系统误差最好的解决方法 是提高测量速度(也即提高测径仪每秒钟的测量次数)。然后通过大量的测量数据可以得到该系统误差,从而很好地可以解决该系统误差。②、CCD芯片输出偏差引起非线性误差。CCD输出产生偏差的原因有。“:a)、像敏单元的不均性造成输出信号出现偏差。像敏单元的不均匀性包括两部分:一是各像敏单元的半导体材料不均匀(如个别单元有缺陷等),造成各像 24光电在线测径仪及其数据分析系统的研究敏单元光响应度不同:二是各像敏单元的几何尺寸不均匀,造成各单元受光量不一致。这样,即使在均匀光强的入射光照射下,激发出的信息电荷也是不均匀的,总存在一定的偏差。b)、暗电流造成输出信号出现偏差。CCD的暗电流主要包括耗尽区内产生 的电流、耗尽区边缘的扩散电流和器件表面产生的俘获电流三部分。它们的存在导致光信息的电荷包发生变化,因而使输出信号产生偏差。另外,各个像敏单元产生的暗电流也是不均匀的,它们形成的图形噪声也严重影响了信息质量,、在工 作环境温度较高时更是如此。 c)、转移效率与转移次数(与像敏单元数有关)不同引起的各信息电荷包 在转移过程中的损失不同,造成输出信号产生偏差。像敏单元离输出端越远,所 需的转移次数越多,造成电荷包的损失也就越大。 从上分析可知,CCD的输出中必然含有偏差,并且各像敏单元产生的偏差是 不均匀的。因此,当线材通过视场时,由于线材边缘对应的CCD像敏光元的两个 边沿位置不一定相同,从而得到的测量结果也就不同,产生了非线性系统误差。对于这种误差必须利用计算机进行非线性校正,详细的方法在下一节介绍。幽4.3标准线材测量结果示慈图在试验过程中,为了验证这点,我们做了如下试验:选用一个标准件(直径 标准大小为15.2ram),固定好测量头,用一个微系统载着标准件沿垂直于平行光的方向逐步平移,以第一个位置作为原点,记为“0”,每次向前平移一固定 距离进行测量,记测量点为1、2、…、96(共测量了97个数据)。将测量数据 用图形表示如图4.3所示。从图中我们明显地可以看到这种因不均匀性造成的非线性误差。 (3)、系统误差处理 由以上分析可知,本系统含有复杂的非线性误差。结合智能仪器的特点,为 克服这种复杂的非线性误差,我们可采用利用校准曲线通过查表法修正该误差。 第四章光电在线测径仪误差分析及校正望对于定值系统误差的克服,在我们消除(大大削弱)非线性误差后,采用补偿的 方法就可以消除。①、利用校准曲线通过查表法修正系统误差原理对于复杂的系统的误差来源很不清楚时,可以给系统一系列已知的被测参数 x1,x2,…,xn,系统测得相应的结果y1,y2,…,yn,然后作出一条校正曲线,最 后在内存中建立一张数据表,即把v(i=1,2,…,n)作为EPROM的地址,把对应的r.(i=1,2,…,n)作为内容存入相应的EPROM中。实时测量时,测得一个1,,通过查表获得被测参数修正后的值]c;。 这种方法的问题在于,当实测值Y介于两个校正点v和1,之间时,只能按 最接近的Y和Y查表,显然会引入一定的误差。误差可作如下估算:设两校正点闾的校正曲线为一直线段,其斜率为S----△x,△y(校正时,y是自变量,X是函数值),并设最大斜率为S,,则由图4.4可知,可能引起的最大误差△z。为 A.,ym=^sr,?妙考虑取双向误差时误差的绝对值可减半,则最大误差为1式(4―5)±△x。=±{^Sr,?ay式(4―6)图4.4校准数据校正的误差设Y的量程为Y,校正时取等间隔的N个校正点,则Y,,i-y。=缈=%于是如=s。?%Ⅳ显然,查表法修正系统误差的精度,既取决于校正点数N,又取决于运算时 的字长a点数越多,字长越长,修正精度越高,但点数增多和字节变长都大幅度 增加存储器的开支。为此,通常去较少的校正点,而在校正点之间进行内插,以 达到既节约内存,又不损失修正精度的目的,常用的插值方法是线性内插法。②、代数插值法 塑堂皇垄垡型堡堡塾基塑塑坌堑墨堑塑堕壅.――设有n+l组离散点(xO,yO)、(xI,y1)、(x2,y2)、…、(XYI,yn),x∈[a,b]和未知函数f(x),并有f(x。)=夕01f(x,)=Yl f(x2)=y:,,?,f(x。)2少。式(4―8)要寻找一个函数g(x),使g(x)在xi处于f(x)相等,满足这个条件的函数称 为f(x)的插值函数,z.称为插值节点。在以后的计算中,可以用g(X)在区阃 [a,b]上近似代替f(x)。代数插值法选择g(x)为n次多项式P。(工),现在要用一个次数不超过n的多项式P,(x)=aor+以。,-I+?t+a。去逼近f(x),使只(功在节点五处满足 式(4―9) (i21,2,…,n) R(石)=f(x,)=少.将n+l组离散数据代入上式,可得到一个含有n+1个未知数a。,配v…,口。的线性方程组,即月n―I矾甄+鼠一J甄十…+鼠甄+编2y。na--I瓯五+an一1而+…+口】zj+口o 2夕1^n―l编溉+瓯一l五+…+西五+口02见当X。,L一…,甄互异时,上述方程组有唯一的一组解。解这个方程组,可以求出口.,从而可以得到只(x)a实际应用中,先通过实验获得x和Y.,再离线求解出a.,然后按所得的a, 编写一个计算P。(x)的程序,就可以对各输入值x,近似实时地计算f(x)。通常,给出的离散点总是多于求解插值方程所需要的离散数,因此在用多项式插值方法求解离散点的插值函数时,首先必须根据所需的逼近精度来决定多项 式的次数。它的具体次数与所要逼近的函数有关,例如函数关系接近线性的,可 从中选取两点,用一次多项式来逼近。函数关系接近抛物线的,可从中选取三点,用二次多项式来逼近.……同时,多项式次数还与自变量的范围有关,一般来说,自变量的允许范围越大(即插值区间越大),达到同样精度时的多项式 次数也就较高。对于无法预定多项式次数的情况,可采用试探法,即先取一个较小的n值,看看逼近误差是否接近所要求的精度,如果误差太大,则把n加1,再试一次,直到误差接近精度要求为止,在满足精度要求的前提下,n不应取得 太大,以免增加计算时间。插值。 a)、线性插值一般常用的插值函数为线性插值和抛物线(二次)线性插值是在一组数据(焉,只)中选取两个有代表性的点(甄,少。)、(咒,y,),然后根据插值原理求出插值方程 第四章光电在线测径仪误差分析及校正删2罴”嚣胪卵‰对于非线性程度严重和测量范围较宽的非线性特性,采用一个线性方程进行 校正往往达不到精度要求。这时可采用分段直线方程来进行非线性校正。分段后的每一段非线性姐线用一个直线方程来校正,即P(x)=aJ,x+awb)、抛物线插值i21,2,…,N抛物线插值是在数据中选取三个点(甄,Yo),(x。,y。),(工:,少:),相应的插值方程为P:(,)。E(;xi二-jXil而)(x-X2),j+i;;糕y,+i夏(xj二-jX云。而)(x-X)y:式(4―1 ’③、最小二乘法代数插值法可以保证在n+1个节点上校正误差为零,即逼近曲线恰好经过这 些节点。但如果这些数据是实验数据,含有随机误差,则该校正方程并不一定能 反映出实际的函数关系。因此对于含有随机误差的实验数据的拟合,通常采用最 小二乘法N_22,使逼近模型比较符合实际关系。在形式上也可能地简单,其数学 描述如下: 设被逼近函数为f(x。),逼近函数为g(咒),z。为x上的离散点,逼近误差为V(x,)=lf(x,)一g(x。)i式(4―12)即≯=∑矿2(z),令由一>min,即在最小二乘意义上使V(x)/iid、化。为了使逼近函数简单化,通常选择g(x)为多项式。下面介绍用最小二乘法实现直线拟合。设一组实验数据(Z,y,)的最佳拟合直线方程(回归方程)为y3编+aI工式(4--13)式中,口。,a。称为回归系数。令‰.5蔷矿2蕃∽一(口o+日-x)]2根据最小二乘原理,要使≯鼬口。最小,对瓯,疗.求偏导数,并令其为o,得:嚣。驴N(z-ao-al删=。 嚣2[-2地Ⅷ硇舻。又可得到如下方程组(称为正则方程组):∑∥,=na。+口。∑x, 兰堂皇垄垡型堡堡墨茎墼塑坌堡墨笙堕婴墨――――――――一∑x。y,=口。∑x,+口,∑x;J―l,2I’。J解得Oo2―――■―――i―F一一(∑x;)一(∑x。)”。(∑yⅨ∑xj)一(∑x,y,)(∑x,)f_l岛2旦■―且々∑茁y一(∑五∑少.)一(∑x;)~(∑x0“‘f-l将各测量数据(校正点数据>代入正则方程组,即可解得回归方程的回归系数鼠,口,,从而得到这组测量数据在最小二乘意义上的最佳拟台直线方程a ④、查表法在测径仪中的应用为了消除(或大大削弱)因光敏像元输出的不均匀性产生的非线性误差我们 采用了查表法。因为这种非线性是由CCD像元位置的不同其输出信号不均匀产生 的,而线材的大小与图象边缘对应CCD像元位置的差成比例关系,因此,周一线材在不同的像元位置上成像得到的测量结果会不同,如图4.3所示,就很明显地 给出了这利t结果。所谓测径仪输出线性化,即对同一线材在不同的像元位置成像 其测量结果应尽量相近,也就是使图4.3变成近似一条水平线。根据测量头的测量原理,我们能够得到线材在CCD所成图像的边缘对应CCD 有效光敏像元的位置N1、N2,如果我们直接根据式(2―1)来确定线材的直 径,显然其误差是很大的。如果我们采用一个很细的标准线材,使其沿着与CCD 平行的方向(与平行光垂直的方向)逐步推移,使N1的值由某一个值s0等间隔 地增加(减小)到另~个值Sn,并记录线材平移的相对距离D。这样我们就得到一个表格,再将该表格绘成曲线,这样我们就可以得到一条校准曲线,其横坐标 为Nl的值,纵坐标为线材平移的相对距离D。横坐标的原点为CCD光敏像元的 有效初始位置,纵坐标的原点可以记为当Nl为S0时线材所在的位置(也可以认为线材平移的相对距离为O)。这样,我们就可以根据这条校准曲线进行非线性校正。如图-I.5所示,如果我们在测量时得到有效光敏像元的位置N】、N2,查 表能够得到N1、N2对应的线材平移的相对距离D1、D2的值,这样线材的直径的 大小可以认为是d=D2一D1。然后再对数据d进一步处理就可以得到线材直径的 精确数值。如果,测得Nl或N2在表中没有,我们可以采用上面介绍的内插方法解决。 塑婴至堂皇查垄型堡堡堡薹坌盟垄堕至.――一29UZD1/ 一一一一√/l图4.5非线性校正示意图在实际校准时,我们取NI的范围为50--一1850(CCD的光敏像元的有效位 置记为O一--2160),Ni变化的间隔为50,这样就得到了37组测量数据。不过N1是从1850递减至50,当N1为1850时,线材的相对平移距离没有设成…o’,而是设成“23.8”,这主要是为了读数方便,并不影响结果。内插法采用的是一 次线性内插法,为了再提高精度还可以采用二次插值法。表4.1即为测量数据, 表中“Dsub”列的物理含义是N1变化50时D变化的数值。图4.6为校正曲线图 (图中虚线表示一条直线,由于纵坐标变化较小,其非线性不太明显)。表4.1校正测量数据 序号20 N1 900 850 800 750 700 650600序号l 2 34N1D(mm)0.234 0.879 1.500 2.1102.779Dsub(mm)D(mⅢ)13.244 13 958 t4.67l 15.399 16.120 16.82917 547Dsub(111111)0.743 O.714 O 713 0 7280185018001750 1700 165016000.64I O.621 0 610 0.669 0.663 0.608 0.621 O.754 0.733 0.6540 6732l 22 23 24 25 2627 285 6772l3.442 4.0504.67l0.709 01550 1500145071889 10 11 12550 500 450 400 350 300 250 200 150 100 5018.246 18.90919 5800.599 0.6630 O 67l5.425 6.158 6.812 7.485 8.198 8.900 9.620 10.310 11.040 11.779 12.50l1400 1350 1300 1250 1200 1150 1100 1050 1000 95029 303I20.249 20.88l21.531669O 6320.65013 14 15160.713 0.702 0.720 0.690 0.73032 33 3422.177 22.769 23.439 24 029 24.579O.646 0.592 0 670 0 590 0.550353617 18 190.7390.72237 光电在线测经坟及其数据分聿厅系统黪秘襄匿4.§校正穗线对圈4.3所示的测量数搬进行非线性校正,其校正后的测量数据曲线可用图 4.7裘示,蚕中,实绽霞表魏鼹未经校正的测量数攘,蕊线我表熬楚校正曩麓测 量数据。从波澎中可以看出,校正效粟是十分明显酶。 ⑤、线性捩菠 整个系统除了含霄菲线性误差外,还富有线性误差,在实验过稳中,我们对 直径为5.0000mm、12.8000mm、15。2000mm、t9.9200mm疆释轹漆线藉避行了 25次的随机测鬣(就是Nl的数值楚变化的),经过非线性校正届,其测餐数据 的均遵分别为4.6622mm、1.4393mm、14,8008mm、19。483tmm,从结果串可以 看出,系统逐存在羲定蓬(线性)蘩统误茇。我黧鬟要对这透组数掇避行线性戮 会,拙合粒线为嘲4.7测量数据校正前后对比煳 第溪肇光电在线测径仪谈麓分辑及接正拟合的结果是k=O.9934,b一0.2958。其拟含曲线如图4.8所示。因此,为了得到比较精确的测量值,首先应对测量数据进行非线性校正,得到校正后的测量数 据y1,对yl按式(4--14)进行线性变换,得到数据xl,xl就为最后的单次测 量数攥。表4.2绘出了上述嚣个标准线材终测爨缝暴毙较。x=(y―b)/k衷4 2线材测量结果对比数据式(《一15)线材赢径标准值(mm)未经非线 性处壤 均值王(ram) 方差o(ram) 均值i(ram) 方差o(ram) 均值i(mm) 方差o(ram)5.00 4.5381 0,0152 4.8622 0 0398 4.9912 0.040t 4.99i2 0.008012.80 12.2958 0.08{? i2.4393 0.043715 20 14.7284 0.0893 i4.8008 0.0263 15.1975 0.0265 15,1975 0.0053一÷19 9219.71770+0438经过j#线性处理i9,483l0 0278经过线性校正 最终溅缀 结豢12.82030.0440 】2、8203 0。0088t。19.9111 0 0280{0 Q1{1均僮孑(mm)方差C‘(mm)0 0056/c.一/一’,.一一’/厂///////声//∥///一‘一一.一图4.8线性叛合馥线盈为了更好地说明校正的效果,将直径为15,20mm的线材其测慧数据用表4.3列出,阁图4.9表示其非线性校正前、非线性校正后、线性校正后的测量结果。表4.3直径为1 5,20mm的线材的测量数据}序号I,| } l2 。 4潮量蓬14.9366 14.9387 14.8547 14,8071非线性校 正毽14.8113 14.8133 14.7642 i4,7500线性校正篷15.2081 15.2101 15 160714序号l}线性校受鼙篷线睦校正I 值15 2056 15正镱14.6930 14.6468 14.65lO 14。64lg 14.808814 7852i jj15 16 17181814.8054 14.810315.202Ii5 2071ll15.1464l 光电在线测径仪及其数据分析系统的研究514.8078 14 807814 777215.17381814 637014 8167 14.8278 14 8532 14.830015.21356 7 8 9 10ll14.804514 8054 14 793715 2012 15 202115.19041920 2114.6370 14.658714.656615.2247 15.250315 2269 1 5.202214.7791 14.75】814.7266 14 7560 14 737114.7827 14.8237 14.8158 14.782715.1793 15.2206 15.212615.1 79322 23 242514.6538 14.6720 14 6832 14.6580L4.8055 14.8038 14.7886 14.733515.200515 185212 1314.691614 726615.1298,%3≮s:}m!;u:※# .一。固14 826315.2232≈攀£蓬¥《j。粥一踟。蘩 V、。V―\广、,k―/“\.、.一、07弋>,一、/\o一一74\…、。、。\/、、、.V\\一~生一~/,、①、线材标称尺寸15.20mm ③、经非线性校正的测量数据《②、原始测量数据(未经非线性校正) ④、最终测量数据结果图4,9 15.2mm线材测量数据图§4.3粗大误差及其处理方法粗大误差又称疏忽或过失误差。它是Eh于技术不熟练,测量时不小心或外界 的突然干扰等原因造成的。含有粗大误差的测量数据,常比正常数据相差较大 (过大或过小)。当对某一个测量值做多次独立的等精度重复测量,如其中个别 或少数数据明显地偏大或偏小时,可怀疑数据中含有粗大误差。在一组测量数据中,若存在异常数据,直接影响着测量结果的精度。因此,在获得测量数据后,应采取一定方法,消除粗大误差,以提高测量精度。下面介绍几种剔除异常数据 准则。 ①、3 o准则 笙璺兰堂皇垄垡型堡垡堡茎坌塑墨堇重―――――――一丝又称莱以达准则。当测量结果中,某一个数据的残差的绝对值JVI卜30"时,则剔除此数据。因为如果各测量值只含有随机误差,且按正态分布,残差V落在± 3。以外的概率只有0.27%,它在有限次重复测量中发生的可能性很小,故当 Ivl卜3盯时,即可判断此数据含有粗大误差而予台弃。3 o准则比较保守,因为在测量次数有眼时,出现在靠近±3 o界限处的数据极少,除非有较大的粗大误 差,否则ivl卜3盯而导致数据被剔除的可能性很小。3 o准则只宜用重复测量次数较多的重要测量中(n>50)。②、肖维勒(Chauvenet)准则肖维勒准则也是以正态分布为前提的。假设多次重复测量所得n个测量值中,某个数据的残差1vi卜Z。仃,则剔除此数据。实用中Z。<3。这在一定程度上 弥补了3 o准则的不足。有概率论知,fVI卜Z。口的概率为P=l一2≯(Z。)。即2≯(z。)=p{lx,-y.}<Z。o-],在等精度的n次重复测量中,若只有一个测量值的残差v超出某一界限±Z。盯,而相应的概率P=1―2声(Z。)21/n,则按正态分布规律,此值的残差正常超出,因为n个等精度测得值中出现一个的概率恰好为l/n.这说明此值中含有随机误差,但不含粗大误差。若按以上条件算出的概率P值小于i/n很多,则上述正常超出的可能性减小,而含有粗大误差的非正常超出的可能性增大,这就是肖维勒准则的出发点。肖维勒准则规定:当一p:1―2烈7)=.二时,则判断测量值的残差v因含有粗大误差的非正常超出, 一。Z"故应将该值剔除。P和z加下标c以表示用于肖维勒准则:P=1―2≠(Z。)=1/2n式(4―16)忆户等Z。值由≯(Z。)查正态概率积分表确定,而≯(Z。)又按上式n值,因此可得简表以备查用。表4.2肖维勒(chauVenet)准则的Z。值6 1.73 15 2.137 8 9 1 92{N f Z。 jN34 1.54 13 2.07 50 2.585 1.65 14101.96111.38 12 2,03 40 2.491.80 162.L5l 86 182 202.00 302202.2425 2,33lz。N2.1039llz。除了上述两种方法外,还有格拉布斯(Grubbs)准则、t检验准则(罗曼诺夫 斯基准则)、狄克逊准则等,在这里就不详述了。对每一根线材,我们获得的数 光电在线测径仪及其数据分析系统的研究据量远远大于50个,且测量结果可以认为是符合正态分布。因此,对于粗大误 差的消除,我们采用的3 0准则。 第五章数据分析系统软件的设计与实现一35第五章数据分析系统软件的设计与实现测径仪的硬件系统部分是整个系统的关键部分,完成的主要功能足列线利直 径和椭圆度的测量,并且将测量结果实时地显示在现场LED上,工人可以根据显 示的数据进行适当地调整生产工艺,以达到提高生产效率、节约资源等目的。在 完成测径仪硬件系统开发的基础上开发了一套远程数据分析系统软件,这也是本 人论文的主要工作之一,是采用Visual C++6.0语言完成的。该软件是与测径仪配 套使用的,它完成的主要功能有两个:一是将主控制柜传输过来的测量数据进行 实时地显示(通过串121将数据接收过来),并将测量结果以数掘库的形式存储起 来,给线材生产厂家的数据管理系统提供一个软件接口;另一个功能是存储最近 几根线材直径的测量数据(本软件中保留了10根线材直径所有的测量数据), 并且根据这些测量数据作进一步的分析,为工艺分析提供科学快速的数据分析结 果。本章首先介绍的远程数据分析系统软件的功能;其次给出了远程监控部分软 件流程图;最后给出软件开发中部分功能实现的方法。§5.1数据分析系统软件的功能远程数据分析系统软件的功能主要是根据用户的需求来设计的,其操作尽量 的简单、方便。用户需求概括起来主要有:对测量的数据能以图形的形式实时地 显示出来;在测量完一根线材后,能够给出测量结果的统计信息(包括直径的平 均值、直径的均方误差、椭圆度的平均值、超差百分比等信息),并将最终的结 果存储成数据库的形式;能够看到线材的截面示意图,并且给出相应的测量数据 等。 结合以上用户的需求,我们开发的远程数据分析系统可以相应地分成两部 分:远程监控和历史数据分析。前者主要的功能有参数的设定、数据的获取、测 量数据的实时显示、测量结果的显示等。后者完成主要的功能有线材截面示意图 的显示、各个测量方向的测量数据的显示等。下面将对这两部分的功能作一个详 细的描述。 (1)、远程监控部分图5.1所示就是数据远程数据分析系统的远程监控界面图。从图中可以看出整个界面包含如下功能: ①、参数设置 兰参数设置包括两部分:系统参数设置和截取参数设置e堂皇查垡型堡堡墨茎塑堡坌塑垒丝堕婴圣一系统参数只能由计算机管理人员进行设置,主要功能有:对串口通信参数的 设置(包括串口的选择,波特率、数据位、奇偶校验位及停止位的设置);数据 刷新时间的设置(通常情况下,每接收到一个数据,就进行显示,但是这样数据刷 新太快,技术人员根本无法看到测量数据。因此,需要对数据刷新时间进行设 置,才能保证技术人员能够看到测量数据);以及密码的修改。斟5 l题程监控界面幽截取参数设置部分主要功能有设置线材头部尾部截取的最短长度和最大长 度、设置线材截取步长(所谓截取步长,就是在计算线材头尾截取长度时,在最 短截取长度的基础上,每次增加多少长度计算是否再截取线材。截取步长取得越 大,计算速度越高,但计算的精度越小;反之,截取步长取得越小,计算速度越 ’漫,但计算的精度越高)。线材经轧制后,头部和尾部的一段长度其椭圆度不符 合要求,因此需要将其截取掉。传统的方法是待线材冷却后,工人根据经验进行 截取。现在有了在线测径仪后,计算机能够根据测量得到的数据计算出线材头尾 需要截取得长度,从而工人可以根据计算机提供的数据进行截取,也可以采用自 动化的方法将线材头部尾部截掉。 ②、产品设置 产品设置主要是用户输入目前将要测量的线材的基本信息。包括产品的规 格、标称尺寸、直径误差要求以及椭圆度的误差要求、目前将要测量的线材的速 第五章数据分析系统软件的设计与实现度等信息的设置。界面中还包含添加、编辑和删除按钮,能够使用户方便地对产 品信息进行添加、编辑和删除。 ③、历史分析界面(按钮) 点击该按钮就可以进入“历史数据分析”部分。该按钮是远程监控部分与历 史数据分析部分的一个桥梁。 ④、数据显示 数据显示主要包括产品信息显示、直径和椭圆度的实时测量数据显示、测量 结果的显示及线材头部和尾部的截取信息的显示。 产品信息显示主要是用户在产品设置中选中的产品信息,包括标称尺寸、直 径误差要求和椭圆度误差要求。 测量数据的显示包括直径和椭圆度测量数据的实时显示,与实时显示图形中 的数据是一~对应的。 测量结果显示主要是计算机得知整根线材的测量已经完成时,显示出测量的 统计数据。包括直径的平均值、直径的均方误差、椭圆度的平均值、椭圆度的均 方误差、直径的最小和最大值以及整根线材的超差百分比。 截取信息显示主要是待一根线材测量完毕后,将计算机计算出的线材头部尾 部截取长度进行显示,还包括线材截取部分的统计数据(平均直径、椭蚓度和j缒 差百分比)。 ⑤、测量数据图形显示 为了使测量数据明显展现给用户,将测量数据实时用图形的形式显示出来, 主要包括直径的实时显示图和椭圆度的实时显示图。在测量过程巾,屏幕中只能 显示200个点,待整根线材测量完毕后,将再将所有的测量数据都显示出来。纵 坐标表示的是测量数据,横坐标表示的是测量点,已经转换成长度显示。 ⑥、直方图显示 主要给出了直径和椭圆度的测量数据的直方图。这样用户可以估训到线材测 量数据的大致分布形式; ⑦、启动、停止按钮 这个功能主要是针对串口的打开和关闭。⑧、测量结果和测量数据的存储在每根线材测量完毕后,都会将测量结果和铡量数据以数据库的形式存储, 以备用户数据管理软件调用和被“历史数据分析”部分调用。 (2)、历史数据分析部分 在远程监控部分,用户点击“历史数据分析界面”按钮,就可以进入该界 面。图5,2显示的就是历史数据分析界面。 从图中可以看出,该界面主要功能有:直径和椭圆度测量数据的图形显示、 光电在线测径仪及其数据分析系统的研究测量结果的显示以及线材截面图的显示。用户进入该界面后,首先设置需要显示 的点数(默认值为200点);然后选择最近十根线材中的某一根线材作为分析的 对象(im过组合框选择),这时存储在数据库中对应于该线材的测量数据就显示 在界面绘图框中,对应的测量结果显示在编辑框中;用户选择测量头单选按钮 后,将该测量头测量的数据进行显示;当用户拖动图中的滑块时,截面示意图将 显示线材该处截面的示意图,并将该处的直径和椭圆度数据显示在编辑框中。图5.2历史数据分析界面§5.2数据分析系统软件监控部分流程图远程数据分析系统软件中的监控部分,是整个软件的重点,其功能占据了整 个软件功能的三分之二以上,本部分软件开发成功与否直接关系到整个远程数据 分析系统软件开发的是否成功。本节给出了远程监控部分软件的程序流程图。详 细的功能实现在下面几节中给出。图5.3所示为远程监控部分软件的流程图。 蔓至主塑塑坌篓墨堑塑丛塑丝生兰塞堡一――一39图5.3远程监控部分软件流程国§5.3Windows环境下串口编程串行口是计算机标准接口之一,现在的Pc机一般至少含有两个串行口 COMl和COM2。串行口尽管传输的速度较慢,但是传输距离比并行口远。目前计算机上的串行使用的都是DB.9连接器,通信距离较近时(12m),可以用电 缆线直接连接标准RS.232端口(RS--422、RS.485较远);通信距离较远时, 可以通过附加调制解N器(Modem)来实现。 40光电在线测径仪及其数据分析系统的研究为了实现与主控制柜的远距离通信,又节约成本,远程数据分析系统软件通过计算机串口COMl(可以选择不同的串口进行通信)与主控制柜通信,获取测量数据。为了保证数据的正确传输,主控制柜与计算机串口的通信参数设置必须一致,同时,还需要主控制柜与远程数据分析系统软件程序之间还要有一个双方 都应遵循的数据传输格式协议。这样当远程数据分析软件从串口接收到数据后, 才能判断数据是否是来自主控制柜,接收到的数据是否为有效数据,从而才能决 定是否对接收到的数据进行进一步处理。在这一节里,将给出如何在Windows环境下如何实现串口通信,如何在Visual C++6.0环境下开发串口通信程序。与以往DOS环境下串行通信程序不同的是,Windows不提倡应用程序直接控 制硬件,而是通过Windows操作系统提供的设备驱动程序来进行数据传递。串行口在Win 32中是作为文件来进行处理的,而不是直接对端口进行操作,对于串 行通信,Win 32提供了相应的文件I/o函数与通信函数,通过了解这些函数的使用,可以编制出符合不同需要的通信程序。与通信设备相关的结构有COMMCONFIG,COMMPROP,COMMTIMEOUTS,COMSTAT,DCB,MODEMDEVCAPS,MODEMSETTINGS共7个,与通信有关的Windows API函数共有26个,详细说明可 参考MSDN帮助文件。在Windows环境下实现串口通信通常有三种方法…叫“1:利用MSComm控件实现串151通信、在单线程中编写自定义的串口通信类实现串口 通信和利用多线程实现串121通信。结合实际情况,我们采用了第二种方法,下面 将详细介绍如何在单线程中编写自定义的串口通信类实现串口通信。 为了能够满足我们自己的实际需要,在开发串口通信时,我们通常采用WindowsAPI函数来自定义串口类,这样使用起来就十分灵活。在32位的Windows系统中,串口和其他通信设各是作为文件处理。串口的打开、关闭、读取和写入所用的函数与操作文件的函数完全一致。在开发远程数据分析系统软件时,就自定义了一个串口类Ccomm。包含的属性与MSComm控件类似,其类声明如下:class CCollq.rnfpublic:CComm0; virtual--CComm0;“打开卑口BOOLOpen(LPCTSTRszPort,//port numberrateDWORD dwBaudRate=CBR 9600.//baudBYTEbyParity=NOPARITY,//parityBYTEbyDataBits=8.//data bits BYTEHWND一苎亘童塑塑坌堑墨竺塑笪塑堡生皇壅塑一塑byStopBits=ONESTOPBITo{stop bitshWnd=NULL,//theowner(HWND)ofthe//comm port(receivesmessage)UFNTuMessage=WM_COMM NOTIFY,//通知消息); BOOLClose();BOOL//关闭串口Write(LPCVOID lpByte.DWORD dwBytesToWrite);//写数据Read(LPVOID lpBuffer.DWORD dwBytesToRead);//读数据DWORDj类Ccornm中Open()N数包括了串口的打开、配置和获取串口资源旬柄等功 能。Write()i函数实现对串口的写数据。Read()i函数实现对串口的读操作。Close() 完成对串口的关闭操作。其实现方法如下:◆打开串口,获取串口资源甸柄 在该函数中调用了CreateFile0函数打开串口并得到串口资源句柄。该旬柄将 被用于后续的通信操作,并贯穿整个的通信过程。CreateFile0函数非常复杂,复 杂性的原因之一是它是通用的。可以使用CreateFile打开已经存在的文件,创建 文件和打开根本就不是文件的设备,例如我们所使用的串口资源。CreateFile0函 数声明如下:HANDLE CreateFile(LPCTSTR lpFileName, N file flame //access mode //share modeDWORDdwDesiredAccess,DWORD dwShareMode,LPSECURIT£A fTRIBUTES lpSecurityAttributes=//SD DWORD dwCreationDisposition, //how to createDWORD dwFlagsAndAttributes,N file attributestoHANDLE hTemplateFile||handletemplate file);对于串口而言,其参数的设置需注意:串口共享方式应设为0,串口为不可 共享设备;创建方式必须为0PEN_EXISTING,即打开已有的串口。对于 dwFlagAndAttribute参数,对串口有意义的值是FILE―FLAG_OVERLAPPED,该标 志表明串口采用异步通信模式,可进行重叠操作:若值为NULL,则为同步通信方 式,在同步方式下,应用程序将始终控制程序流,直到程序结束,若遭遇通信故 障等因素,将导致应用程序的永久等待,所以一般多采用异步通信。◆串口设置 光电在线测径仪及其数据分析系统的研究串口打开后,其属性被设置为默认值,根据具体需要,通过调用 GetCommState(hComm,&dcb)读取当前串口设备控制块DCB(DeviceControlBlock)设置,修改后通过SetCommState(hComm,&dcb)将其写入。还需要注意异 步读写的超时控制设置,通过C0ⅦMTIMEOUTS结构设置超时,调用SetCommTimeouts(hComm,&timeouts)将结果写入。◆读写串口利用Win32通信API读写串口时,既可以同步执行,也可以重叠(异步)执 行。在同步执行时,函数直到操作完成后才返回。这意味着在同步执行时线程会 被阻塞,从而导致

我要回帖

更多关于 圆弧半径测量仪 的文章

 

随机推荐