CN110146157A - 一种基于labview的光束质量因子的测量分析实现系统及方法 - Google Patents
一种基于labview的光束质量因子的测量分析实现系统及方法 Download PDFInfo
- Publication number
- CN110146157A CN110146157A CN201910318133.6A CN201910318133A CN110146157A CN 110146157 A CN110146157 A CN 110146157A CN 201910318133 A CN201910318133 A CN 201910318133A CN 110146157 A CN110146157 A CN 110146157A
- Authority
- CN
- China
- Prior art keywords
- circulation
- program
- serial ports
- measurement
- quality factor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000005259 measurement Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004458 analytical method Methods 0.000 title abstract description 10
- 230000004087 circulation Effects 0.000 claims description 77
- 230000008569 process Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 13
- 230000003139 buffering effect Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 29
- 238000004891 communication Methods 0.000 description 14
- 230000033001 locomotion Effects 0.000 description 12
- 238000012360 testing method Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000691 measurement method Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000931526 Acer campestre Species 0.000 description 1
- 241000208340 Araliaceae Species 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 206010034719 Personality change Diseases 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01J—MEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
- G01J1/00—Photometry, e.g. photographic exposure meter
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01J—MEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
- G01J1/00—Photometry, e.g. photographic exposure meter
- G01J1/02—Details
- G01J1/0219—Electrical interface; User interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种基于labview的光束质量因子的测量分析实现系统,包括:初始化模块;串口接收循环模块;UI事件处理循环模块;执行循环模块;循环配置模块和程序接口模块。本发明还提供一种基于labview的光束质量因子的测量分析实现方法。本发明在已有光束分析程序的基础上进行二次开发,提供高效率运行的串口通讯方式,提供对M2测试仪导轨移动的灵活控制,实现激光光束质量因子测量。
Description
技术领域
本发明涉及用于工业过程控制的方法与装置的计算机实现,尤其涉及一种激光光束质量M2因子的检测及实现方法,具体为一种基于labview的光束质量因子的测量分析实现系统及方法。
背景技术
光束质量是激光的一项重要参数,其与激光的应用如成像、加工等领域的各项误差均有很大的关系,因此对于该特性的测量具有重大意义。理想的激光应出射平面波,并能被准直为一束完全等价于圆柱体的光束,其纵向截面为标准的矩形。然而实际中的光束总会具有一定偏差,为高斯光束,并具有双曲线形的截面,该双曲线可用如下公式描述:
W(z)2=W0 2+Θ2(z-Z0)2 (1)
其中z为传输方向的距离坐标;W(z)为坐标z处光束直径;W0为束腰直径,即焦点直径;Θ为远场发散角,Z0为束腰坐标。
激光光束质量因子(M2)是目前常用于评价激光这一准直性优劣的一项核心参数,其定义为光束的束腰-发散角乘积的实际值与理论值之比,该值越接近1,则说明光束质量越好,目前较为主流的测试方法是基于光束传播方程的束宽测量法,也是ISO标准推荐的测量方法,具体产品包括Spiricon公司生产的M2-200系列测量装置。
光束传播方程公式为:
M2=W0Θπn/4λ (2)
其中n为激光传输介质的折射率,通常取1;λ为激光波长。实际测量M2时,大多采用多项式拟合的方法,即测量z取不同位置时的光束直径,然后根据最小二乘法拟合出W(z)的数学表达式,即y2=A*x2+B*x+C的形式,通过将表达式与式(1)对比系数求出各物理量,再代入式(2)获得M2参数,具体内容参考专利CN201610723333、CN201510593334、CN201610820724等,此处不再赘述。
由于多项式拟合在远场位置过于弯曲,直接拟合可能会引入误差,因此在拟合时还可为每个各数据点引入相应的加权系数。
双曲线是轴对称曲线,在远离对称轴时几乎为直线,而在接近对称轴时具有可以反映更多细节的弯曲。因此,为了提高拟合精度,在测量激光光束质量因子时,需要保证瑞利长度ZR内有足够多的测量点。瑞利长度的表达式为:
ZR=W0/Θ (3)
由于M2在经过透镜聚焦后不变,因此实际测试时会首先使用透镜聚焦以减少测量占用的空间,此时,束腰位置即为焦点位置。
串口是工业控制中通用的计算机与外部串行设备之间的数据通信方式,该方式具有国际通用的标准,其特点为接口简单、使用方便、成本低廉。
Labview是一种专为工业自动化控制、机器视觉、电子模拟仿真、测试测量等设计的具有图形化界面编程语言,其人机界面友好、代码直观、可与其他开发语言相互调用且开发快捷方便,在数据采集和仪器控制方面有很大优势。
目前使用Labview进行串口通讯主要有两种方法,一种是不断循环查询缓冲区字节数,当字节数不为0时读取数据,为了提高读取的实时性,需要缩短循环延时,当没有数据传输时会不断执行空循环,浪费大量资源;另一种是使用Active X技术,可仅在有数据上传时,通过回调函数来返回串口数据。该方法虽然可以减少资源占用,但Active X执行不稳定,且功能繁杂、名称抽象,不利于开发;而对于非Active X编程,现有串口通讯多采用发送-接收模式,仅在发送串口命令时读取串口,且当串口响应出现问题时,也会导致程序卡住或出错导致退出,使用起来不灵活,如早期的专利CN201410246988。同时,已有M2测试仪的导轨的移动仅依靠输入坐标来控制,操作麻烦。
多线程技术是指从软件或者硬件上实现多个任务并发执行的技术,程序通过队列、通知、事件等实现不同线程之间的同步与数据交换。程序可通过事件结构来等待并响应用户操作软件时的随机操作事件,然后控制其它线程进行后台处理。在Labview中,可通过用户事件在后台产生事件。当用户事件被注册为“事件注册”后,再将其连接至事件结构的动态事件接线端,则事件结构将能够接收通过对应的用户事件所发送的事件。
发明内容
本发明的目的是针对现有技术存在的问题,提供一种基于labview的光束质量因子的测量分析实现系统及方法,在已有光束分析程序的基础上进行二次开发,提供高效率运行的串口通讯方式,提供对M2测试仪导轨移动的灵活控制,实现激光光束质量因子测量。
为实现上述目的,本发明采用的技术方案是:
一种基于labview的光束质量因子的测量分析实现系统,包括:
初始化模块,用于创建各个循环的队列并发送初始化消息;
串口接收循环模块,用于在串口连接成功时接收来自执行循环的消息,并周期性监测和读取缓冲的数据,在监测到缓冲数据时,读取缓冲数据并赋给字符串控件;
UI事件处理循环模块:当UI界面产生用户事件时向执行循环的队列发送指令;在串口字符串控件发生值改变事件时,对字符串内容进行预处理,提取出数据;在光束质量因子的测量程序关闭时,向其他循环发送停止消息并终止该循环;及,在对字符串内容进行预处理时,根据M2测试仪导轨移动的操作状态决定是否忽略错误信息;
执行循环模块:用于执行UI事件处理循环步骤中发送的指令,完成光束质量因子测量的主要功能。
优选地,所述系统进一步包括循环配置模块,用于对其他各模块中涉及的循环的参数进行配置。
优选地,所述系统进一步包括程序接口模块实现程序嵌套,包括连接上一级程序的初始化输出至本级程序和/或连接本级程序的初始化输出至下一级程序,其中,每一级程序具有相同的架构。
优选地,所述串口接收循环模块包括;由while循环与事件结构组成串口接收循环,利用字符串控件存储串口上传的数据,并在UI循环中包含有该控件值改变的事件,以实现读取数据向内部的传递。
优选地,所述执行循环模块执行的指令包括:数据处理、发送串口指令控制设备运动、访问光束分析程序的光斑直径参数或向上级程序发送事件或指令消息、向配置窗口发送更新数据,或者自行决定并向自己的队列发送下一命令。
一种基于labview的光束质量因子的测量分析实现方法,采用所述的系统实现,包括:
初始化步骤:创建各个循环的队列并发送初始化消息;
串口接收循环步骤:在串口连接成功时接收来自执行循环的消息,并周期性监测和读取缓冲的数据,在监测到缓冲数据时,读取缓冲数据并赋给字符串控件;
UI事件处理循环步骤:当UI界面产生用户事件时向执行循环的队列发送指令;在串口字符串控件发生值改变事件时,对字符串内容进行预处理,提取出数据;在光束质量因子的测量程序关闭时,向其他循环步骤发送停止消息并终止该循环;及,在对字符串内容进行预处理时,根据M2测试仪导轨移动的操作状态决定是否忽略错误信息;
执行循环步骤:执行UI事件处理循环步骤中发送的指令,完成光束质量因子测量的主要功能。
优选地,所述方法还包括:
循环配置步骤:对其他各步骤中涉及的循环的参数进行配置。
优选地,所述方法还包括:
程序嵌套步骤:包括连接上一级程序的初始化输出至本级程序和/或连接本级程序的初始化输出至下一级程序,其中,每一级程序具有相同的架构。
具体地,所述程序嵌套步骤实现两级程序嵌套,其中,所述上一级程序为光束分析程序,所述本级程序为光束质量因子的测量程序。通过将光束分析程序的初始化输出连接至光束质量因子的测量程序,该光束质量因子的测量程序可被动接收来自光束分析程序的事件或通过通知器状态主动获取数据,也可发送事件。
优选地,所述串口接收循环步骤进一步包括:由while循环与事件结构组成串口接收循环,利用字符串控件存储串口上传的数据,并在UI循环中包含有该控件值改变的事件,以实现读取数据向内部的传递。
优选地,所述执行循环步骤执行的指令进一步包括:数据处理、发送串口指令控制设备运动、访问光束分析程序的光斑直径参数或向上级程序发送事件或指令消息、向配置窗口发送更新数据,或者自行决定并向自己的队列发送下一命令。
与现有技术相比,本发明的有益效果是:
(1)本发明提供一种编程框架实现高效率运行的多线程串口通讯,通过发送事件与原有上级程序交互,确保关闭程序时UI循环也能够正常结束,并通过内部的动态事件实时控制串口数据的接收线程,串口数据的接收处理可在确保实时性的同时不再占用过多的资源;
(2)本发明利用labview编程实现光束质量因子的测量,并利用labview内部函数的调用实现串口通讯,无需其他相关的Windows函数,代码易于开发和维护;
(3)本发明在光束质量因子测量过程中的数据交互通过labview编程的串口通讯实现,由于串口的发送与接收功能分别在不同的线程里,两者互不干扰,程序在发送串口数据后不必等待接收串口数据以免在设备响应前卡住,通讯的连接出错时无需重开,从而提高通讯的实时性,使程序交互性更好;
(4)本发明方法的控制程序支持M2测试仪导轨的连续移动且响应快速,方便测试使用,同时由于不必频繁发送运动控制协议,且通讯的实时性好,因此可以保证流畅运行;
(5)本发明对光束质量因子测量程序的开发不改变已有的光束分析程序,与原有程序代码完全分离,仅作为原有光束分析程序的扩展,占用资源完全由模块内部进行管理,两级程序分别也可以单独运行,方便维护与调试;
(6)本发明利用labview编程实现M2测试仪导轨移动,可辅助或自动完成激光光束的M2测量。
附图说明
图1为根据实施例的本发明系统的软件结构示意图;
图2为根据实施例的本发明中用于测量光束质量因子的测量方法的流程示意图;
图3为根据实施例的本发明中本级程序与上级程序之间的嵌套示意图;
图4为根据实施例的串口接收循环模块的程序框图。
具体实施方式
下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动条件下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明提供一种基于labview的光束质量因子的测量分析实现系统,共包括7个模块。其中初始化模块(101)为先执行的部分,上级程序接口(106)为光束分析程序的初始化模块输出,其余模块为后续同步执行的多个线程。各模块具体功能如下:
初始化模块(101):用于创建各个循环的队列并发送初始化消息,包含有本模块的队列、通知器、用户事件以及通过用户事件注册的“事件注册”等同步函数的引用,该模块的输出也可作为下一级程序的接口;
串口接收循环(102):在串口连接成功时收到来自执行循环的消息,然后周期性监测和读取缓冲的数据,当存在缓冲数据时赋给字符串控件,从而在UI循环产生值改变事件,达到模仿Active X实现串口通讯的目的;
UI事件循环(103):1.当UI界面产生用户事件时向执行循环的队列发送指令;2.当显示串口字符的控件发生值改变事件时,对字符串内容进行预处理,提取出数据;3.程序关闭时,向其它循环发送停止消息并终止该循环;4.在处理串口数据时,可根据是否正在连续移动等操作状态决定是否忽略错误信息;
程序中包含一仅开发模式下可见的停止按钮,在UI事件循环中对应的处理代码与上级程序关闭时相同,用于单独测试该模块时关闭程序;
执行循环(104):执行指令并完成主要功能,包括数据处理、发送串口指令控制设备运动、访问光束分析程序的光斑直径参数或向上级程序发送事件或指令消息、向配置窗口发送更新数据,或者自行决定并向自己的队列发送下一命令;由于串口的发送与接收功能分别在不同的线程里,两者互不干扰,程序在发送串口数据后不必等待接收串口数据以免在设备响应前卡住,连接出错时无需重开,从而提高通讯的实时性,使程序交互性更好;
配置循环(105):用于对其它各个循环的参数进行配置,可以有多个,做成不同的子窗口,该模块通过初始化模块创建的引用与其它线程进行交互;
上级程序接口(106):连接上一级程序的初始化模块的输出,包含有上级程序的队列、通知器、用户事件及其注册的“事件注册”等同步函数的引用,可与上一级程序进行交互;通过将其“事件注册”引用连接至UI循环事件的动态事件接线端可使M2测量模块接收光束分析程序发送的事件;当需要获取上级光束分析程序的光斑直径时,则通过执行循环获取其通知器引用,再调用“获取通知器状态”函数来获取具体参数;当需要向上级程序发送事件时,则通过其用户事件引用发送即可;
在运动控制的协议中,可预先定义一对包含连续移动的开启和停止协议,当程序前面板中对应的功能按钮被按下后,执行循环仅发送一次启动协议,设备将进入持续移动状态并实时返回坐标,同时忽略停止协议以外的指令干扰;当程序前面板的功能按钮释放时,执行循环发送停止协议;设备在接收到停止协议或运动达到限位后,停止运动并返回相应的协议字符作为响应。
如图2所示,用于测量光束质量因子的测量方法的流程具体为:
(1)测量时,首先找出并移动至焦点位置,测量该焦点位置处的光斑直径D,根据波长λ,计算出其理论上(M2=1)的瑞利长度π*D2/4λ;
(2)根据设置的测量点数,求出均匀分布于焦点前后瑞利长度范围内各测量点的坐标;
(3)根据设置的瑞利长度外的测量间隔,计算瑞利长度以外各测量点的坐标;
(4)过滤掉位于可执行测量范围以外的坐标点;
(5)测量各个坐标位置的光束直径;
(6)进行加权拟合,计算光束质量因子。
作为一种实施方案,如图3所示,提供一种本级程序与上级程序之间的嵌套方案,具体为:
(1)图中初始化模块(303和304)分别用于为各自所属的模块创建内部的队列、事件与通知器引用,分别供后面的多个循环线程305、306调用;
(2)图中光束测量模块(301)为已有的光束分析程序,其具有与M2测量模块302类似的架构,但位于M2测量模块的更上一级,可与下一级程序交互以完成不同的动作;
(3)M2测量模块(302)为本专利所保护软件的主体部分,通过将光束分析程序的初始化输出端与其连接,可接被动收来自光束分析程序的事件或通过通知器状态主动获取数据,也可发送事件。
在开发软件时,可创建多个如图1的结构,并仿照图3的模式进行任意级数的级联。
作为一种实施方案,如图4所示,提供串口接收循环模块的程序框图,具体为:
(1)该模块整体由while循环与事件结构组成。未连接串口时,事件结构的超时为-1,可永不超时,处于暂停待机的状态;
(2)在M2测量模块中添加一字符串显示控件用于存储串口上传的数据,并在UI循环中包含有该控件值改变的事件,从而实现读取数据向内部的传递;
(3)首先由UI循环产生串口连接事件,执行循环接收UI循环指令连接串口并产生动态事件,同时将连接的串口名称通过本模块的用户事件发送给串口接收模块的事件结构,从而给串口接收模块指定要读取的串口,并激活该模块;
(4)串口接收模块的事件结构在收到事件后保存该串口名称并启用中断,然后将超时设为0,事件结构在超时后利用中断函数等待串口数据;中断函数也包含一个超时输入,在超时前可以一直等待,并在有数据上传时立即读取数据并开始下次等待,从而保证通讯的实时性;
(5)当没有数据上传时,该循环处于等待状态,并且延迟处理其它事件;
(6)当有数据上传时,该循环立即读取缓冲数据,并赋给字符串显示控件的值改变属性,使UI循环获取数据,这与Active X的回调函数动作相似;
(7)中断函数的超时设置为一有限值,以保证循环在连接串口的情况下也能够再次执行事件结构以响应超时以外的分支事件,比如退出程序、连接或断开串口等允许适当延迟至超时后处理的事件;超时前中断函数可以在接收到数据后实时读出,超时后如果没有其它待处理事件则经过事件结构的0延时后直接进入下次中断等待状态,因此中断函数的超时对于串口通讯的实时性没有影响,可以设为较长的值,使循环周期大幅延长,降低反复读取的频率,从而减少占用资源;
(8)设备断开时,UI循环产生串口断开事件,执行循环接收UI循环指令处理内部参数并产生动态事件,同时将连接的串口名称通过动态事件发送给串口接收模块的事件结构,使其禁用中断并断开连接,同时将事件结构的超时设为-1,再次进入暂停待机的状态,不再读取串口。
实施例
本实施例提供一种基于labview的光束质量因子的测量分析实现系统。其软件程序采用开发的labview程序,硬件采用典型的测量系统,该系统为由可调衰减系统、聚焦镜、反射镜、自动导轨以及CCD/CMOS光束分析仪等组成的结构,激光在测量系统中经过反射镜再到达相机,通过移动反射镜控制光程来测量不同距离位置的光束直径。其中衰减系统、自动导轨与一块单片机相互连接,单片机、相机再与上位机相连。如图1所示,采用该系统实现基于labview的光束质量因子的测量分析的方法具体为:
S1,上级程序运行时,本模块也同步激活并开始运行,首先由初始化模块创建模块内部队列、事件等引用并向执行循环发送初始化命令,执行循环执行命令初始化界面,然后向循环自身发送读取配置指令,初始化循环内部的参数;
S2,该模块通过访问通知器状态来获取上级光束分析程序的光斑参数,并不会影响其执行状态;本模块同时还通过上级程序的“事件注册”引用来接收上级程序的事件,当上级程序退出时,通过其用户事件引用向各个模块广播退出事件,该模块也会接收到退出事件,然后在UI循环的事件结构中产生动态事件,之后UI循环向模块内部其他循环发送附带退出消息的队列指令或事件,使整个程序能够实现退出;
S3,用户操作连接串口,UI循环向执行循环发送队列指令,执行循环初始化串口,连接设备;
S4,模块通过内部的动态事件对串口接收循环的执行状态进行实时控制。连接成功后,执行循环向串口接收循环发送读取串口事件,并附带串口的接口名称;同时,执行循环还向自己发送设备初始化与查询指令,初始化设备并查询其参数,查询完毕后,通过內部的用户事件向配置窗口的后台循环发送更新事件更新其参数;
S5,串口接收循环在收到连接成功的事件后,将事件结构的超时设为0,每次超时后启用串口中断事件,从而周期性读取缓冲数据,在串口中断的执行超时之前可实时读取返回的数据;由于串口中断的超时对于串口通讯的实时性没有影响,因此可以设为较长的值,使循环周期大幅延长,降低反复读取的频率,从而在确保实时性的同时不再占用过多的资源;
S6,当用户操作前面板产生事件时,UI循环响应事件并向执行循环发送相应的指令,执行循环再根据指令执行相应的动作;
S7,在S6的情况下,用户在前面板操作添加数据时,执行循环通过获取通知器状态的函数访问上级光束分析程序,获取光斑参数与预览图像;
S8,在S6的情况下,用户在前面板操作移动反射镜后,执行循环根据指令内容向串口发送相应的字符串协议,使设备执行相应的动作,比如:步进10mm则发送“GO,10.000”,反向步进则发送“GO,-10.000”,其中GO也可以为自定的其他内容,如“MOV”、“GO-X”等;串口的响应内容如“OK”、“ERRORX”等通过串口接收循环接收后再经过UI循环发送到执行循环,通过执行循环的其它分支结构处理,与用户操作产生事件的处理流程一样。由于串口的发送与接收功能分别在不同的线程里,两者互不干扰,程序在发送串口数据后不必等待接收串口数据以免在设备响应前卡住,通讯出错时无需重开,从而提高通讯的实时性,使程序交互性更好;
S9,在上一步S8中,当使用连续移动功能时,预先给设备设置一对包含连续移动的开启和停止的协议。当程序前面板中对应的功能按钮被按下后,执行循环仅发送开启运动的协议“HX+”或“HX-”,而不必连续发送GO指令;设备进入持续移动状态并返回实时坐标,同时忽略停止协议以外的字符;当程序前面板的功能按钮释放时,执行循环再发送停止协议“HSTOP”;设备在接收到停止协议或运动达到限位后,停止运动并返回相应的协议字符;由于不必频繁发送运动控制协议,且通讯的实时性好,因此可以保证流畅运行;
S10,在S6的情况下,当需要断开设备连接时,执行循环向串口接收循环发送包含断开连接消息的动态事件,串口接收循环在最近一次的等待接收数据执行完成或超时后,响应该事件并断开连接由于利用Labview内部的函数来模拟代替Active X编程,开发时无需额外了解相关的windows函数;
S11,用户通过配置窗口对设备进行设置时,配置窗口向执行循环发送指令,执行循环再根据设置内容向串口发送其它相应的字符串协议;
S12,测试流程按照技术方案的说明并结合图2的内容进行,测试数据点达到5个以上后,每次添加数据时,程序还可实时进行加权拟合。拟合按照背景技术说明的内容进行,其中拟合的加权值采用测量点坐标平方的倒数作为加权系数;
S13,当满足测试数据点达到5个以上的条件后,每次增加或禁用某个数据点都会自动拟合并更新显示;
S14,模块还包含有一停止按钮,其在UI循环的事件结构中对应分支事件的处理代码与S2中收到上级程序的退出事件时相同,由于M2模块本身具备完整的初始化、执行与退出机制,该模块可以单独运行,只是没有上级程序的情况下,不能获取光斑参数。通过事先设置一组虚拟的数据,或编写替代的通知器vi,可实现模块功能的单独测试,测试结束时通过停止按钮退出即可;通过条件禁用结构可以设置该按钮在运行模式下不可见,以避免客户在使用时产生误操作。
在开发软件时,可将本实施例所采用的光束分析软件向上并入到其它Labview开发的应用软件中,或在M2测试模块下开发其它向下数个层级级的模块,也可将光束分析程序或M2测试模块分别嵌入到其它程序的模块中。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于labview的光束质量因子的测量分析实现系统,其特征在于,包括:
初始化模块,用于创建各个循环的队列并发送初始化消息;
串口接收循环模块,用于在串口连接成功时接收来自执行循环的消息,并周期性监测和读取缓冲的数据,在监测到缓冲数据时,读取缓冲数据并赋给字符串控件;
UI事件处理循环模块:当UI界面产生用户事件时向执行循环的队列发送指令;在串口字符串控件发生值改变事件时,对字符串内容进行预处理,提取出数据;在光束质量因子的测量程序关闭时,向其他循环发送停止消息并终止该循环;及,在对字符串内容进行预处理时,根据M2测试仪导轨移动的操作状态决定是否忽略错误信息;
执行循环模块:用于执行UI事件处理循环步骤中发送的指令,完成光束质量因子测量的主要功能。
2.根据权利要求1所述的基于labview的光束质量因子的测量分析实现系统,其特征在于,所述系统进一步包括循环配置模块,用于对其他各模块中涉及的循环的参数进行配置。
3.根据权利要求1所述的基于labview的光束质量因子的测量分析实现系统,其特征在于,所述系统进一步包括程序接口模块实现程序嵌套,包括连接上一级程序的初始化输出至本级程序和/或连接本级程序的初始化输出至下一级程序,其中,每一级程序具有相同的架构。
4.根据权利要求1所述的基于labview的光束质量因子的测量分析实现系统,其特征在于,所述串口接收循环模块包括;由while循环与事件结构组成串口接收循环,利用字符串控件存储串口上传的数据,并在UI循环中包含有该控件值改变的事件,以实现读取数据向内部的传递。
5.根据权利要求1所述的基于labview的光束质量因子的测量分析实现系统,其特征在于,所述执行循环模块执行的指令包括:数据处理、发送串口指令控制设备运动、访问光束分析程序的光斑直径参数或向上级程序发送事件或指令消息、向配置窗口发送更新数据,或者自行决定并向自己的队列发送下一命令。
6.一种基于labview的光束质量因子的测量分析实现方法,采用如权利要求1至5中任一项所述的系统实现,其特征在于,包括:
初始化步骤:创建各个循环的队列并发送初始化消息;
串口接收循环步骤:在串口连接成功时接收来自执行循环的消息,并周期性监测和读取缓冲的数据,在监测到缓冲数据时,读取缓冲数据并赋给字符串控件;
UI事件处理循环步骤:当UI界面产生用户事件时向执行循环的队列发送指令;在串口字符串控件发生值改变事件时,对字符串内容进行预处理,提取出数据;在光束质量因子的测量程序关闭时,向其他循环步骤发送停止消息并终止该循环;及,在对字符串内容进行预处理时,根据M2测试仪导轨移动的操作状态决定是否忽略错误信息;
执行循环步骤:执行UI事件处理循环步骤中发送的指令,完成光束质量因子测量的主要功能。
7.根据权利要求6所述的基于labview的光束质量因子的测量分析实现方法,其特征在于,所述方法还包括:
循环配置步骤:对其他各步骤中涉及的循环的参数进行配置。
8.根据权利要求6所述的基于labview的光束质量因子的测量分析实现方法,其特征在于,所述方法还包括:
程序嵌套步骤:包括连接上一级程序的初始化输出至本级程序和/或连接本级程序的初始化输出至下一级程序,其中,每一级程序具有相同的架构。
9.根据权利要求6所述的基于labview的光束质量因子的测量分析实现方法,其特征在于,所述串口接收循环步骤进一步包括:由while循环与事件结构组成串口接收循环,利用字符串控件存储串口上传的数据,并在UI循环中包含有该控件值改变的事件,以实现读取数据向内部的传递。
10.根据权利要求6所述的基于labview的光束质量因子的测量分析实现方法,其特征在于,所述执行循环步骤执行的指令进一步包括:数据处理、发送串口指令控制设备运动、访问光束分析程序的光斑直径参数或向上级程序发送事件或指令消息、向配置窗口发送更新数据,或者自行决定并向自己的队列发送下一命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910318133.6A CN110146157B (zh) | 2019-04-19 | 2019-04-19 | 一种基于labview的光束质量因子的测量分析实现系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910318133.6A CN110146157B (zh) | 2019-04-19 | 2019-04-19 | 一种基于labview的光束质量因子的测量分析实现系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110146157A true CN110146157A (zh) | 2019-08-20 |
CN110146157B CN110146157B (zh) | 2021-08-03 |
Family
ID=67588478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910318133.6A Active CN110146157B (zh) | 2019-04-19 | 2019-04-19 | 一种基于labview的光束质量因子的测量分析实现系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110146157B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080204712A1 (en) * | 2001-03-08 | 2008-08-28 | Busch Kenneth W | Dispersive near-infrared spectrometer with automatic wavelength calibration |
CN108414094A (zh) * | 2018-01-19 | 2018-08-17 | 武汉华工激光工程有限责任公司 | 基于Labview的激光光束分析系统及方法 |
CN109269637A (zh) * | 2018-08-27 | 2019-01-25 | 武汉华工激光工程有限责任公司 | 一种激光功率监测方法及装置 |
-
2019
- 2019-04-19 CN CN201910318133.6A patent/CN110146157B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080204712A1 (en) * | 2001-03-08 | 2008-08-28 | Busch Kenneth W | Dispersive near-infrared spectrometer with automatic wavelength calibration |
CN108414094A (zh) * | 2018-01-19 | 2018-08-17 | 武汉华工激光工程有限责任公司 | 基于Labview的激光光束分析系统及方法 |
CN109269637A (zh) * | 2018-08-27 | 2019-01-25 | 武汉华工激光工程有限责任公司 | 一种激光功率监测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110146157B (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wei et al. | MVR: An architecture for computation offloading in mobile edge computing | |
CN110941426B (zh) | 一种面向NB-IoT终端的图形化编程系统 | |
Biondi et al. | Achieving predictable multicore execution of automotive applications using the LET paradigm | |
Vo et al. | A scalable and distributed dynamic formal verifier for MPI programs | |
US8436726B2 (en) | Stage evaluation of a state machine | |
Bodin et al. | Periodic schedules for cyclo-static dataflow | |
Cui et al. | Enable simultaneous dnn services based on deterministic operator overlap and precise latency prediction | |
Xia et al. | DNNTune: Automatic benchmarking DNN models for mobile-cloud computing | |
CN103024324A (zh) | 一种短焦投影系统 | |
US20150317240A1 (en) | Testing implementation parameters of a computer program in a distributed environment | |
CN110928531A (zh) | 一种电磁频谱监测系统软件平台构建方法 | |
Gebrewahid et al. | Realizing efficient execution of dataflow actors on manycores | |
Chalaemwongwan et al. | Mobile cloud computing: A survey and propose solution framework | |
Wang et al. | FLOWPROPHET: Generic and accurate traffic prediction for data-parallel cluster computing | |
Zhang et al. | Astraea: towards QoS-aware and resource-efficient multi-stage GPU services | |
CN110146157A (zh) | 一种基于labview的光束质量因子的测量分析实现系统及方法 | |
Odendahl et al. | Split-cost communication model for improved MPSoC application mapping | |
Fleischhack et al. | A compositional Petri net semantics for SDL | |
Huang et al. | An integrated cloud-edge-device adaptive deep learning service for cross-platform web | |
CN114840410A (zh) | 测试分析方法、装置、计算机设备及存储介质 | |
US8918767B2 (en) | Pattern-based compilation of asynchronous consumption | |
CN109710878A (zh) | 数据交互方法及服务器 | |
Baiardi et al. | Development of a debugger for a concurrent language | |
CN115906531A (zh) | 高速缓冲存储器的模拟方法、装置、电子设备和存储介质 | |
Kasparick et al. | Measuring latencies of IEEE 11073 compliant service-oriented medical device stacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |