基于机床加工的交互系统、方法及存储介质与流程

文档序号:24400080发布日期:2021-03-26 13:57阅读:85来源:国知局
基于机床加工的交互系统、方法及存储介质与流程

1.本发明属于机床加工的技术领域,涉及一种机床加工时的交互方法,特别是涉及一种基于机床加工的交互系统、方法及存储介质。


背景技术:

2.数控机床在加工工件前,需要对工件进行定位,现有的技术中,对于数控机床的工件进行定位和测量,有的使用碰触式探头,这种定位或者测量过程探头需要与被测工件接触,会产生系统误差和随机误差,并且会损伤探头或者工件,由于多次碰触,会对定位和测量效率造成影响,效率低。例外,有的数控机床结合视觉定位系统,通过两者之间的外部通信实现工件加工时的定位。但现有的视觉定位系统与cnc交互的方法多为视觉定位系统在外置工控机上实现,通过网络与cnc交互,通常采用i/o或者外部参数的方式和工控机中的视觉程序进行通信,工控机上的视觉程序,定时监控i/o或者约定好的某个外部参数,当满足条件时,进行拍照,计算结果并将结果写入其他的外部参数,g代码程序根据外部参数进行后续的加工。交互起来相对复杂,出现问题排查起来相对麻烦。并且需要增加工控机和显示器,增加了成本,多占用了车间的空间,网络通信的响应速度较慢。
3.因此,如何提供一种基于机床加工的交互系统、方法及存储介质,以解决现有技术无法通过视觉定位系统与数控机床的交互进一步提高通信速率及工件加工效率等缺陷,成为本领域技术人员亟待解决的技术问题。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于机床加工的交互系统、方法及存储介质,用于解决现有技术无法通过视觉定位系统与数控机床的交互进一步提高通信速率及工件加工效率的问题。
5.为实现上述目的及其他相关目的,本发明一方面提供一种基于机床加工的交互系统,所述基于机床加工的交互系统包括:视觉定位模块,用于根据定位请求信号对机床上的工件进行图像采集,并根据采集的图像进行分析处理,生成定位结果;数控加工模块,与所述视觉定位模块通过共享内存进行交互,用于向所述视觉定位模块发出所述定位请求信号,并调用所述视觉定位模块生成的定位结果对工件进行加工。
6.于本发明的一实施例中,所述共享内存中存储的数据包括:定位请求信号、定位完成信号、定位脚本编号、定位参考值、定位返回状态、定位结果;其中,不同的定位脚本编号对应不同的视觉定位脚本。
7.于本发明的一实施例中,所述视觉定位脚本包括定位目标特征、定位逻辑、定位返回状态的类型以及定位结果的数据类型中的至少一种。
8.本发明另一方面提供一种基于机床加工的交互方法,应用于所述的基于机床加工的交互系统;所述基于机床加工的交互方法包括:数控加工模块向视觉定位模块发出所述定位请求信号;所述数控加工模块与所述视觉定位模块通过共享内存进行交互;视觉定位
模块获取定位请求信号,根据所述定位请求信号对机床上的工件进行图像采集,并根据采集的图像进行分析处理,生成定位结果;数控加工模块调用所述视觉定位模块生成的定位结果对工件进行加工。
9.于本发明的一实施例中,所述数控加工模块向视觉定位模块发出所述定位请求信号的步骤包括:所述数控加工模块将定位脚本编号写入所述共享内存,完成写入动作后向所述视觉定位模块发送所述定位请求信号。
10.于本发明的一实施例中,所述视觉定位模块获取定位请求信号,根据所述定位请求信号对机床上的工件进行图像采集,并根据采集的图像进行分析处理,生成定位结果的步骤包括:所述视觉定位模块在获取所述定位请求信号后,由所述共享内存中提取所述定位脚本编号;根据所述定位脚本编号设定的定位操作对机床上的工件进行图像采集,并根据采集的图像进行分析处理;生成与所述定位脚本编号预设需求相对应的定位结果;将所述定位结果写入所述共享内存中之后,并向所述数控加工模块发送定位完成信号。
11.于本发明的一实施例中,所述调用所述视觉定位模块生成的定位结果对工件进行加工的步骤包括:所述数控加工模块接收所述定位完成信号后,由所述共享内存中提取所述定位结果,并将所述定位结果写入机床系统参数中,以便所述数控加工模块中的加工代码读取所述机床系统参数后,对所述工件进行加工。
12.于本发明的一实施例中,所述数控加工模块与所述视觉定位模块通过共享内存进行交互的步骤包括:所述视觉定位模块通过g代码的指令调用,由所述共享内存中提取所述定位脚本编号后进行图像采集及定位分析;所述数控加工模块通过g代码的指令调用,由所述共享内存中提取所述定位结果后对所述工件进行加工;其中,所调用的指令包括视觉脚本编号和定位参考值;所述视觉脚本编号用于确定所述视觉定位模块执行的脚本类型,所述定位参考值用于所述数控加工模块设置定位参考值,以及用于所述视觉定位模块反馈与所述定位参考值预设需求相对应的定位结果。
13.于本发明的一实施例中,在通过数控加工模块向视觉定位模块发出所述定位请求信号的步骤之前,所述基于机床加工的交互方法还包括:启动所述视觉定位模块,以使所述视觉定位模块在非定位时等待所述定位请求信号。
14.本发明最后一方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于机床加工的交互方法。
15.如上所述,本发明所述的基于机床加工的交互系统、方法及存储介质,具有以下有益效果:
16.(1)通过将视觉定位模块对应的视觉软件安装在数控机床的控制器中,省去了外加工控机和显示器的繁琐设计。
17.(2)在视觉定位模块与数控加工模块之间通过共享内存交互,提高了通信速率和双方对指令的响应速度。
18.(3)通过g代码的指令调用,并用系统参数作为返回值,更加符合编程习惯,操作方便灵活。
19.(4)在视觉定位与加工时采用异步操作,可以充分利用系统的多任务功能,在工件由拍照位置移动到加工位置的过程中,视觉定位模块完成图像处理,并将结果数据准备好,由此数控加工模块在调用所需要的定位结果数据时,不需要等待,或者等待很少的时间就
可以进行后续的加工,提高了完成一道工序的效率。
20.(5)对于需要多个拍照位置,有一定的逻辑相关处理的情况,需要拿到所有位置的图像后,才能进行图像处理,获取多个特征,由此,在处理多特征的工件的视觉定位与加工过程中可以通过异步调用提高加工效率。
21.(6)数控加工模块与视觉定位模块之间实现了包括同步调用和异步调用的多种调用方式。用于cnc和视觉模块交互的g指令包括visionlocate、mvcall和mvget,其中,visionlocate为同步调用指令,mvcall为异步调用的请求指令,mvget为异步调用的获取数据指令。
附图说明
22.图1显示为本发明的基于机床加工的交互系统于一实施例中的结构原理图。
23.图2显示为本发明的基于机床加工的交互系统于一实施例中的数据结构示意图。
24.图3显示为本发明的基于机床加工的交互方法于一实施例中的原理流程图。
25.图4显示为本发明的基于机床加工的交互方法于一实施例中的交互示意图。
26.元件标号说明
[0027]1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
基于机床加工的交互系统
[0028]
11
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
视觉定位模块
[0029]
12
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
数控加工模块
[0030]
s31~s33
ꢀꢀꢀꢀꢀꢀꢀꢀ
步骤
具体实施方式
[0031]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0032]
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0033]
本发明所述的基于机床加工的交互方法在视觉定位模块与数控加工模块之间通过共享内存交互,提高了两者之间通信的响应速度,并且通过指令的异步调用提高了工件的加工效率。本发明实现了在数控机床内部嵌入视觉定位功能。其中,数控机床是cnc(computer numerical control machine tools,数字控制机床)的简称,是一种装有程序控制系统的自动化机床。该控制系统能够逻辑地处理具有控制编码或其他符号指令规定的程序,并将其译码,用代码化的数字表示,通过信息载体输入数控装置。经运算处理由数控装置发出各种控制信号,控制机床的动作,按图纸要求的形状和尺寸,自动地将零件加工出来。具体地,将视觉定位嵌入cnc加工代码中,cnc译码程序和视觉定位程序运行在同一台计算机上,通过共享内存的方式通讯。cnc加工代码可以在加工中调用视觉定位程序,视觉定
位程序获得的定位测量数据可用于后续的cnc加工及判断。
[0034]
以下将结合图1至图4详细阐述本实施例的一种基于机床加工的交互系统、方法及存储介质的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本实施例的基于机床加工的交互系统、方法及存储介质。
[0035]
请参阅图1,显示为本发明的基于机床加工的交互系统于一实施例中的结构原理图。如图1所示,所述基于机床加工的交互系统1包括:视觉定位模块11和数控加工模块12。其中,视觉定位模块中包含视觉定位程序,数控加工模块中包含cnc加工代码(g代码),cnc加工代码可以调用cnc译码程序。cnc系统参数以及cnc加工代码是机床领域的专有名词,存储在数控机床的数控系统中。cnc译码程序是cnc的一个模块,用于将g代码翻译成机床的动作或者其他逻辑。
[0036]
所述视觉定位模块11用于根据定位请求信号对机床上的工件进行图像采集,并根据采集的图像进行分析处理,生成定位结果。
[0037]
所述数控加工模块12与所述视觉定位模块11通过共享内存进行交互,用于向所述视觉定位模块11发出所述定位请求信号,并调用所述视觉定位模块11生成的定位结果对工件进行加工。
[0038]
请参阅图2,显示为本发明的基于机床加工的交互系统于一实施例中的数据结构示意图。如图2所示,在本实施例中,所述共享内存中存储的数据包括:定位请求信号、定位完成信号、定位脚本编号、定位参考值、定位返回状态、定位结果。
[0039]
其中,不同的定位脚本编号对应不同的视觉定位脚本。定位脚本编号是以整数的形式给出,比如0,1,2....,该编号对应视觉定位程序中设置的脚本程序编号(一个脚本程序为一个处理过程,可以在视觉程序界面修改);定位参考值,用于给视觉定位程序传入一个值作为参考,比如可以传入圆的直径值,代表识别多大尺寸的圆,用于在众多相同特征中,找到合适尺寸的圆。
[0040]
其中,定位请求信号和定位完成信号,使用的是操作系统的同步信号量,用于进行两者之间的同步操作,操作系统有专门的信号量,用于多个进程之间同步和互斥操作,cnc先发出请求定位请求信号,视觉定位程序检测到定位请求信号后,进行图像识别和定位操作,完成后发出定位完成信号,通知cnc读取数据,进行后续的加工。
[0041]
在本实施中,所述定位脚本编号对应的脚本包括定位目标特征、定位逻辑、定位返回状态的类型以及定位结果的数据类型中的至少一种编号。
[0042]
具体地,定位返回状态的类型包括定位成功与定位失败,所述定位结果包括位置、角度、尺寸及匹配度等数据。于实际应用中,定位结果数据对应7个cnc参数:
[0043]
mvstatus——定位结果的状态,成功/失败;例如,mvstatus为0表示成功,1表示失败。
[0044]
mvlocatex——xy平面内x轴方向的偏移;
[0045]
mvlocatey——xy平面内y轴方向的偏移;
[0046]
mvlocater——xy平面内的旋转角度;
[0047]
mvlocatew——xy平面内特征的宽度;
[0048]
mvlocateh——xy平面内特征的高度;
[0049]
mvlocated——匹配度。
[0050]
需要说明的是,上述参数的含义描述只是通用的含义,只要视觉定位模块和g代码的编程人员约定好写入和使用的规则即可,比如当图像中有多个不同尺寸的圆时可以约定为找多大直径的圆,视觉的脚本程序可以读到这个参数的值,然后在视觉脚本中使用该参数。视觉定位模块通过脚本语言可以方便的修改参数的含义和写入规则。上述参数还可以作为其他含义使用,可以理解为,通过上述参数提供了视觉定位模块和数控加工模块(cnc模块)之间的通信方式,通过g代码的指令调用,来实现cnc与视觉定位模块的交互。其中,g代码(g

code,又称rs

274),是最为广泛使用的数控(numerical control)编程语言,主要在计算机辅助制造中用于控制自动机床。g代码有时候也称为g编程语言。g代码是数控程序中的指令,或称为g指令。使用g代码可以实现快速定位、逆圆插补、顺圆插补、中间点圆弧插补、半径编程、跳转加工。
[0051]
请参阅图3,显示为本发明的基于机床加工的交互方法于一实施例中的原理流程图。应用于所述的基于机床加工的交互系统。在定位请求信号发出之前,启动所述视觉定位模块,视觉定位模块中的视觉定位程序在后台运行,以使所述视觉定位模块在非定位时等待所述定位请求信号。如图3所示,所述基于机床加工的交互方法具体包括以下几个步骤:
[0052]
s31,数控加工模块向视觉定位模块发出所述定位请求信号;所述数控加工模块与所述视觉定位模块通过共享内存进行交互。
[0053]
在本实施例中,所述数控加工模块将定位脚本编号写入所述共享内存,完成写入动作后向所述视觉定位模块发送所述定位请求信号。
[0054]
具体地,cnc加工代码运行到visionlocate=ftype时,cnc译码程序将定位脚本编号置为ftype,然后发送定位请求信号,并阻塞等待定位完成信号,即cnc停止执行,等待视觉定位完成后,再继续向下执行。
[0055]
s32,视觉定位模块获取定位请求信号,根据所述定位请求信号对机床上的工件进行图像采集,并根据采集的图像进行分析处理,生成定位结果。
[0056]
在本实施例中,s32包括:
[0057]
(1)所述视觉定位模块在获取所述定位请求信号后,由所述共享内存中提取所述定位脚本编号。
[0058]
具体地,视觉定位程序接收到定位请求信号后,进行以定位脚本编号设定的定位操作,得到定位返回状态和定位结果数据。
[0059]
(2)根据所述定位脚本编号设定的定位操作对机床上的工件进行图像采集,并根据采集的图像进行分析处理。
[0060]
具体地,定位操作通常包括图像中找到特征的位置,并根据相机标定参数,计算特征的物理位置(xy坐标),用户可以通过脚本进行修改,实现自定义的功能。
[0061]
(3)生成与所述定位脚本编号预设需求相对应的定位结果。
[0062]
具体地,将定位结果以定位脚本编号预设的定位返回状态类型、定位结果数据的类型写入共享内存中的对应位置,最后发送定位完成信号。在完成一次定位后,视觉定位程序继续等待定位请求信号。
[0063]
s33,数控加工模块调用所述视觉定位模块生成的定位结果对工件进行加工。
[0064]
在本实施例中,所述数控加工模块接收所述定位完成信号后,由所述共享内存中提取所述定位结果,并将所述定位结果写入机床系统参数(cnc系统参数)中,以便所述数控
加工模块中的加工代码读取所述机床系统参数后,对所述工件进行加工。
[0065]
具体地,cnc接收到定位完成信号后,作为定位的结果,共享内存中的定位返回状态和定位结果的数据将被数控加工模块写入cnc的系统参数中,用于cnc加工代码读取使用,然后释放visionlocate=ftype的阻塞。
[0066]
本发明中所述数控加工模块与所述视觉定位模块通过共享内存进行交互的实现形式如下:
[0067]
所述视觉定位模块通过g代码的指令调用,由所述共享内存中提取所述定位脚本编号后进行图像采集及分析处理。
[0068]
所述数控加工模块通过g代码的指令调用,向所述共享内存中写入定位脚本编号并由所述共享内存中提取所述定位结果后对所述工件进行加工。具体地,用于数控加工模块cnc和视觉模块交互的g代码指令包括visionlocate、mvcall和mvget,其中,visionlocate为同步调用指令,mvcall为异步调用的请求指令,mvget为异步调用的获取数据指令。
[0069]
其中,所调用的指令包括视觉脚本编号和定位参考值;所述视觉脚本编号用于确定所述视觉定位模块执行的脚本类型,所述定位参考值用于所述数控加工模块设置定位参考值,以及用于所述视觉定位模块反馈与所述定位参考值预设需求相对应的定位结果。
[0070]
具体地,当利用异步调用方式指令时,异步调用中分为请求指令用mvcall(ftype,param)和返回指令mvget=ftype,其中,ftype为视觉脚本编号,param为定位参考值;请求指令和返回指令来实现visionlocate指令的功能,并增加cnc传入给视觉的参数param,该参数可以由cnc和视觉定位模块双方约定其功能。mvcall(ftype,param)指令负责通知视觉模块拍照,进行图像采集,并告知需要什么样的处理,具体的处理由视觉的脚本程序决定,视觉程序里有多个可以修改的脚本,编号为0,1,2...,mvcall(ftype,param)指令的第一个参数的值,代表使用视觉的哪个脚本,比如mvcall(1,10),表示用视觉的1号脚本处理,并传入参数10,视觉定位程序会执行编号为1的脚本,并拿到10这个参数。cnc调用mvcall指令后,并不等待视觉处理完成,直接通过g代码进行后续的处理,直到运行至mvget指令时,再等待视觉结果返回。
[0071]
进一步地,比如相机的视野很小,特征比较大,需要4张图片拼接才能得到完整的特征,进而去匹配位置,由此,只有等4个照片拍照完成后,得到多个特征,才能进行图像匹配。
[0072]
请参阅图4,显示为本发明的基于机床加工的交互方法于一实施例中的交互示意图。如图4所示,视觉定位模块于该实施例中,选择7个cnc参数中的4个(mvstatus定位结果状态,mvlocatex xy平面内x轴方向的偏移,mvlocatey xy平面内y方向的偏移,以及mvlocater xy平面内的旋转角度r)进行基于机床加工的交互方法的原理说明。数控加工模块的指令运行至visionlocate=ftype指令处,将定位参数编号写入共享内存,并发送定位请求信号,视觉定位模块中的视觉定位程序接收到定位请求信号,由共享内存中获取定位脚本编号,并按照定位脚本编号的要求进行定位操作及分析处理,计算出定位脚本编号所需要的定位结果的数据,并返回定位返回状态及定位结果数据,将定位完成信号发送至cnc,由此,cnc将定位结果数据写入系统参数,供cnc加工代码使用,进而通过cnc译码程序将包含系统参数的g代码翻译成机床的动作,实现工件的加工。
[0073]
在视觉定位的在g代码中,通过创建宏程序mvloc,传入四个输出类型变量(定位结果状态,xy平面内x轴方向的偏移,y方向的偏移,以及xy平面内的旋转角度r)和一个输入类型变量(即定位脚本编号),在宏程序中使用visionlocate=ftype(ftype输入类型的变量)指令,将结果分别赋值给mvloc的四个输出类型变量中。nc主程序调用mvloc宏程序,由共享内存中获取定位结果,将定位结果赋值给零点偏移(如g54),或者变量,然后在该零点偏移下,进行加工。程序中可以多次调用mvloc宏程序,并将结果赋值给不同的零点偏移,这样可以实现在一次nc代码程序中,工件加工前,进行多次不同位置和不同特征(即不同的定位脚本编号)的定位,然后进行工件加工,由于定位区域和加工区域在机床内部不同的位置,集中进行定位和加工,提高了加工的效率。
[0074]
在g代码中,可以直接使用mvcall和mvget指令,或者将mvcall和mvget指令也封装到宏程序中,将定位和轴的移动放到其中(即在宏程序中写mvcall和mvget指令,以及运动指令,而不是修改用户加工的g代码)。宏程序可以理解为一个特定功能的子程序,通过子程序调用,使g代码变的简洁,最大限度的减少对原nc程序的改变。
[0075]
将mvcall指令和mvget指令封装到测量的宏程序中,创建宏程序,可以实现单特征或者多特征的测量功能,测量的结果通过宏程序来判断是否满足要求,也可以将测量的结果,通过宏程序写入文件,以便于后续查看所有的结果。其中,单特征测量指的是测量一个特征的尺寸,例如圆的直径,多特征指的是多个特征之间的位置关系,比如两个圆之间的距离。
[0076]
本发明所述的基于机床加工的交互方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
[0077]
本发明所述的基于机床加工的交互系统可以实现本发明所述的多模型的管理方法,但本发明所述的多模型的管理方法的实现装置包括但不限于本实施例列举的基于机床加工的交互系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
[0078]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述基于机床加工的交互方法。
[0079]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的计算机可读存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的计算机存储介质。
[0080]
综上所述,本发明所述基于机床加工的交互系统、方法及存储介质通过将视觉定位模块对应的视觉软件安装在数控机床的控制器中,省去了外加工控机和显示器的繁琐设计。在视觉定位模块与数控加工模块之间通过共享内存交互,提高了通信速率和双方对指令的响应速度。通过g代码的指令调用,并用系统参数作为返回值,更加符合编程习惯,操作方便灵活。在视觉定位与加工时采用异步操作,可以充分利用系统的多任务功能,提高了完成一道工序的效率。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0081]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因
此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1