Renishaw激光干涉仪位移传感数据融合技术

来源 :人间 | 被引量 : 0次 | 上传用户:yuxjmail
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:英国Renishaw公司旗下的激光干涉仪自带的Laser10人机交互平台,没有提供开发的驱动程序,这使得数据的处理必须局限在Laser10上的功能。本文通过LabVIEW软件平台调用写入钩子函数的动态链接库将激光干涉仪测量的位移数据进行实时的显示和数据处理,从而极大地提高工作效率。
  关键词:激光干涉仪;钩子函数;动态链接库
  中图分类号:TP212 文献标识码:A 文章编号:1671-864X(2014)09-0117-02
  前言
  随着现代加工工艺的革新,人们对测量的精度有了更高的要求。为了更加精确的确定被测对象的量值,往往会选用精度高的测量基准。目前,在精密测量领域,精度比较高的位移传感器主要有光栅传感器和激光干涉仪,它们经常被当做测量基准去测量和标定被测对象。而这些精度较高的测量仪器制造方法和工序相当的严苛和复杂,需要整个制造链都在一个高标准、高品质的背景下去生产。目前,国内有制造也已有了迅猛的发展,其中的某些环节的工艺水平已经达到世界先进水平,但是整体还没均衡,因此,高精度测量仪器的国产化还不现实。在需要精密测量时,进口国外的测量仪器还是比较普遍的。
  Renishaw公司是世界计量和光谱分析仪器领域的领导者,主要提供测量、运动控制、光谱仪和精密加工等核心技术,从制造领域提高效率和产品质量、极大提高研发能力,使用户能够实现按溯源标准进行几何尺寸的测量。而Renishaw公司旗下的激光干涉仪就是常被用到的精密测量仪器。激光干涉仪不仅提供了高品质的硬件设备同时还提供了较为直观的开发软件Laser10供用户使用。但是,Renishaw激光干涉仪的位移读数只能通过Laser10显示,并且Renishaw公司没有提供开发的驱动程序,这极大地限制了用户多元化的开发。
  一、基于Visual C++的钩子函数
  钩子(Hook)函数是WINDOWS操作系统非常重要的特性,正如它名字一样它就像一个的钩子,捕获那些我们感兴趣的WINDOWS消息并获得控制权,进行相应的处理,比如数据运算、数据传递、强制传递等。钩子函数即是一个消息处理机制的平台,程序员在相应的代码段加入子程序以便监控某个特定的WINDOWS窗口消息,一旦所监控的窗口消息被钩子函数所探测到就将其截获,以便行进相应的处理。充分利用钩子函数的特性,不仅可以探测到其他进程发生的事件还能够截获程序员感兴趣的特定进程,再通过“钩挂”的形式,发给WINDOWS一个处理或过滤事件的回调函数,当每次发生您感兴趣的事件时,WINDOWS都将调用该函数[1]。Laser10运行的平台是WINDOWS操作系统同样遵循该操作系统的运行法则。这使得我们自然的想到,用钩子函数去截获Renishaw激光干涉仪数据的传输,只要我们能够找到激光干涉仪在传输数据时的窗口消息。通过观察Laser10开发软件发现,每当激光干涉仪有新测量数据产生时,Laser10软件会对窗口进行刷新从而进行数据的跟新显示,而这个刷新窗口的WINDOWS窗口消息则正式我们所需要的。钩子函数对该消息进行监控,一旦刷新窗口消息触发了钩子函数,钩子函数则截获该消息并将激光干涉仪更新的数据提取保存起来,等待其他的程序调用。
  二、基于钩子函数LabVIEW与Laser10间的通信
  激光干涉仪的数据被钩子函数截获之后,需要有其他的软件操作平台对此进行处理。通常Visual C++开发的操作平台对钩子函数的整合更好,但是Visual C++开发的软件平台在后续的数据处理和代码编程的问题上并不是很理想,目前,更趋向于图像化的编程方式。LabVIEW和C语言以及BASIC语言一样属于通用的编程系统,有着庞大的数据库,包括CPIB、数据分析、数据储存、串口控制和数据采集等。LabVIEW与其他编程语言最大的区别在于图形化的编程方式,用图形替代文本、数据流替代顺序执行,从而充分的发挥计算机的能力,创造出功能更加出色的仪器。
  Laser10相对于我们自己开发的LabVIEW软件平台应归为他方进程,双方之间的通信就应为进程间的通信。进程间如若要进行数据的交换必须要有即成的服务器端和通信协议,只有这样,服务器才能够响应哪些和自己达成通信协议的客户端,否则就称为“无意识”型通信 [25]。
  而上一节所讲述的钩子函数则是双方建立通信的桥梁。钩子函数不能直接被LabVIEW所使用,因为进程之间的通信需将钩子函数放到动态链接库中去并作为远程钩子来进行调用。动态链接库作为一个独立的文件它不能被直接的运行更不能接受消息,只有在其他模块调用动态链接库的函数时,它才能发挥相应的作用[2]。从图1可以知道,Laser10作为激光干涉仪的人机交互平台,实时的显示激光干涉仪的测量数据信息。每当有数据更新时伴随一个“窗口刷新”消息进入队列等待处理,而早已在动态链接库中的钩子函数正是监控该“窗口刷新”消息,一旦激活则将里面的数据全部提取并保存,最后等待LabVIEW软件平台进行调取使用。这样,激光干涉仪的位移测量数据被传输到的LabVIEW软件平台进行更全面的诊断和处理。通过LabVIEW强大的数据处理模块,可以对激光干涉仪测量的位移数据进行误差分析、曲线拟合等操作,使原本单一的数据监控方式变得更加开放、多元以及智能。
  图1 激光干涉仪数据融合原理图
  三、LabVIEW调用动态链接库
  动态链接库的存在使程序外部访问代码成为的了现实,LabVIEW要成功的调用动态链接库还必须要满足一些要求,即是要知道被调用函数代码所在的库文件以及在库文件中使用的函数名称、调用的规则以及函数参数的数量和类型包括返回类型[3]。当这些信息都具备后,就可以通过LabVIEW进行调用。然而,在编写调用程序的时候,往往会遇到复杂的指针、多位数组结构,要想确定它们对于调用函数节点的配置是比较麻烦的,而LabVIEW中的调用库函数节点则可以很好的处理这些问题。
  在编写调用代码的过程中最为重要的一个环节就是对调用库函数节点进行初始化,这是进程间进行通信的握手协议。图2为调用库函数节点初始化的界面,不难发现,初始化信息主要分为四个部分:函数、参数、回调和错误检查。
  图2 调用库函数节点配置窗口图
  函数部分需要知道被调用动态链接库的的库名以及它所在的路径,函数名则要填写被调用钩子函数的函数名称。而线程在默认的情况下,初始化为“在UI线程中运行”,此时调用的函数值将直接在用户线程中运行。如果,多个线程同时调用动态链接库中的函数时则要选择以递归方式调用的“在任意线程中运行”。调用规范默认情况下就选择“C”规范。参数部分是初始化调用函数的返回类型,返回类型可以是是 Void,Numeric 或String。通过回调选项卡可预先设置函数调用的次数。该函数允许用户根据配置的调用库函数节点的实例,初始化、更新或清除用于DLL或共享库的数据。通过为函数配置的“调用库函数节点”的实例数据指针传递调用。通过错误检查页可指定“调用库函数节点”的错误检查级别。
  四、结束语
  通过LabVIEW开发软件调用含有钩子函数的动态链接库,可以获取激光干涉仪的位移测量数据,这使得数据处理环节变得更加的开放和多元,为下游市场的开发和操作提供了更多的可能性。但是进程间的通信在方便同步的同时消耗了CPU额外的时间,在面对大量信息实时操作时还是显得有些不足并需要完善。
  参考文献:
  [1]徐志凯.热动类基本数据库与函数库的研究与开发.东南大学.2004。
  [2]梁庚等.Windows下进程间通信方式探讨.微型电脑应用. 2006(12)。
  [3]李涛.图形用户界面GUI的自动测试工具的研究.四川大学.2005。
其他文献
摘要:音乐教学无论是先进的教育理念,还是变革中的课程,最终都要通过教师落实到课堂上,体现在课堂教学方式和教师教学行为上。如何激发学生兴趣,让他们积极投入到对音乐课堂学习的参与中,已经成为眼下许多初中音乐教师思考的问题。本文对能够活跃课堂气氛,充实教学内容,吸引学生注意力这几个方面展开分析论证。  关键词:初中音乐课;课堂教学;课堂导入;设计  中图分类号:J6 文献标识码:A 文章编号:1671-
期刊
摘要:本文以为期一年的讲师团结对活动为依据,总结这一年培训所获,感慨良多。  关键词:讲师团;结对活动;感慨;总结  中图分类号:G717 文献标识码:A 文章编号:1671-864X(2014)09-0131-01  时光荏苒,光阴似箭,一转眼,为期一年的讲师团结对活动就这样结束了,这一年来的时间对我而言是收获颇丰的一年,是成长的一年,也是最有价值的一年。  在这一年里,我对自己过去的一些教学方
期刊
摘要:针对烟厂厂烟梗加工过程中遇到一个突出的问题,秉承“消除浪费、持续改善”的生产核心理念,我们把优化烟梗配方作为攻关课题,对保定卷烟厂库存烟梗进行深入研究,根据积累的生产经验和烟梗本身对生产过程的影响,从长度、直径、吸水性及颜色四个方面对烟梗测量评价,利用六西格玛观测值聚类的先进工具对烟梗进行分类划分。通过此课题,探索出一套科学维护烟梗配方的方法,保证了产品质量的稳定,减低了烟丝辅料等的消耗。 
期刊
摘要:小学品德课社会化、生活化,因此,作为思想品德老师,我们必须去培养学生的学习兴趣,如何让学生对思想品德课产生兴趣,这就需要教师想办法把课堂和生活连接起来。思想品德课本身就源于生活,小学思想品德课更是和生活密切相关,小学生处在一种对生活还充满各种新鲜感的阶段,因此,要想让学生对这门课产生兴趣,就必须理论结合实践,让学生在课堂上感悟生活,在生活中学习课堂知识,如此一来,才能真正的学好这门课程。  
期刊
摘要:在应试教育的大背景下,现代社会在某种程度上追求着效率本位,一切以“更高、更快、更强”为出发点,学校为适应发展的需要,也在探索如何进行高效管理。越来越多的学校采取了封闭式管理模式来管理学校,约束学生,企图用这种管理模式提高学生成绩,提高升学率。在此,本人通过对封闭式管理的产生及其发展原因的分析,从应试教育下的视角来浅析封闭式管理的利与弊,并提出了一些建议。  关键词:应试教育;学校管理;封闭式
期刊
摘要:国家之间的竞争关键是人才实力的竞争,同时人力资源管理开发是一门实践性很强的学科,对于人力资源的开发管理的研究和实践需要一定的理论基础来进行指导,只有这样才能使人力资源管理开发更加完善和具有实效,本文试图从人力资源开发的重要性进行分析和研究,论述了人力资源开发对人力资源发展的重要的价值和作用,具体分析了人力资源开发实践过程中的问题,最后提出了合理进行人力资源开发的实践方法。  关键词:人力资源
期刊
摘要:幼儿也是素质教育的重要组成部。本文主要针对幼儿素质教育的内涵、特征、实施方法做了初步的研究与探讨,力求正确把握方向,体现综合素质培养的目标。  关键词:幼儿园教育;综合素质;培养  中图分类号:G610 文献标识码:A 文章编号:1671-864X(2014)09-0145-01  幼儿时期是人一生中德、智、体、美等综合素质全面培养和发展的奠基时期, 这段时期的启蒙教育对幼儿今后综合素质的发
期刊
摘要:教师是人类灵魂的工程师,而作为一名小学班主任,更是担负着对启蒙时期孩子教育的关键任务,你的一言一行都直接对一个孩子今后人生产生巨大地影响。小学班主任要有迷人的人格魅力,良好的师德修养,要有春风化雨般的爱心,还要有一颗纯真的童心。要坚持一心为了学生,一心为了教育事业的理念,对日常管理中的每一件小事,多一点淡定、多一点乐观,多一份思考、多一份耐心,才能实现科学管理、全面育人的目标。  关键词:班
期刊
摘要:人格是人类心理成长与发展的过程;而David则认为人格乃是可以判定个人与他人之间具有共同性与差异性的一种恒久特质与倾向;简而言之,人格即指个人特征(Characteristics)的独特组成,其决定了人与环境的互动模式。  关键词:思政工作;人格特质;工作压力  中图分类号:B848;F272.92 文献标识码:A 文章编号:1671-864X(2014)09-0148-01  运用“人格特
期刊
摘要:阿拉伯数字的创始人是印度人;数据有其神秘性,0.618这个数据广为显现;实践中有许多其妙的数字。  关键词:黄金分割;0.618;新奇;有趣  中图分类号:G633.6 文献标识码:A 文章编号:1671-864X(2014)09-0146-01  由于公元前大约6世纪古希腊的毕达哥拉斯学派研究过正五边形和正十边形的作图,因此现代数学家们推断当时毕达哥拉斯学派已经触及甚至掌握了黄金分割。公元
期刊