大型铸件缺陷检测的控制方法

文档序号:6280203阅读:224来源:国知局
专利名称:大型铸件缺陷检测的控制方法
技术领域
本发明涉及计算机数据通信技术,具体是大型铸件缺陷检测的控制方法。
背景技术
伦琴先生发现X射线后不久,就认识到X射线可以用于材料检测。但直到上世纪70年代,X射线才开始被用于工业领域。在X射线检测的过程中,扇形的X射线穿过待检样品,然后在图像接收器(现在大多使用X射线图像增强器)上形成一个放大的X光图。X光的焦点面积和物距决定了成像面积的大小,加大物距可增大成像面积,但由于X光是面光源,加大物距会也使影像变得模糊。因此,影像的清晰度限制了X光成像的面积,这直接造成必须对大型铸件进行多工位拍摄,才能完成对其内部缺陷的检测。目前国内对大型铸件的检测现状是手动调节拍摄工位,包括X光的多角度和工件的多位置,逐幅图像进行人眼识别。由于生产线没有计算机自动识别铸造内部缺陷的技术应用,因而现有的检测线上没有自动放置工件位置的要求,随着图像处理识别技术越来越先进,使得图像的智能识别系统与检测线的可编程控制器可编程控制器控制系统之间的通信和交互控制成为实现全自动检测铸件内部缺陷的一项关键技术。
授权公告日为2004年3月3日的中国发明专利CN1140797C《铸件内部缺陷自动分析识别装置及其分析识别方法》公开了一种铸件内部缺陷自动分析识别方法及装置,该发明为铸造生产提供实时的在线铸件内部缺陷图象分析识别装置及分析识别方法,克服和解决了铸件质量检测技术存在检察员眼睛易疲劳、准确性差、随机性大、效率低、不可靠等的缺点和问题,图象处理速度快,保密性强、精度高。但该发明仅仅是图像的自动识别,尚未实现整个检测过程的自动化。
现有的铸造缺陷检测技术中,检测线上没有自动放置工件位置的可编程控制器工控系统,未能达到完全的自动检测。

发明内容
本发明的目的在于克服上述现有技术的不足,提供一种准确性和可靠性高,界面友好,可在PC机上直接设置参数以调配可编程控制器工控系统运作的大型铸件缺陷检测的控制方法。
本发明的一种大型铸件缺陷检测的控制方法,包括
——PC端智能系统预设以下硬件参数X光机支撑臂摆动的绝对角度铸件一次的旋转量总的位置数每个位置所需拍摄次数X光机电压;——PC端智能系统通过数据输入模块来修改上述硬件参数;——确认硬件均已通过连接线正常连接,PC与可编程控制器均采用异步串行通信的工作模式匹配;——PC端智能系统把硬件参数传递到可编程控制器控制器;——可编程控制器控制器根据PC端智能系统传递过来的硬件参数动作;并及时将相应状态返回给PC端智能系统。
所述PC机与可编程控制器通信方法利用多线程技术实现,包括PC通过用户主线程(User Thread)、后台铸件检测线程(Worker Thread)和串口监控线程(CommThread)实现与可编程控制器的协调同步;所述用户主线程的步骤包括(1)初使化软件界面,初始化软件其他模块;(2)初始化串口,开启串口监控线程;(3)开启后台铸件检测线程,进入大型铸件检测环节;所述后台铸件检测线程的步骤包括(1)判断当前大型铸件的类型,搜索数据库中与之匹配的样品,若有,则直接调用该样品参数;若没有,则进入手动设置参数界面,设置完后继续线程;(2)提取参数信息中的传送带位移与转动的信息,按照可编程控制器通信协议发送给下位机,大型铸件开始移向X光机拍摄区;接着等待串口监控线程返回大型铸件已到达X光机拍摄区的信息;(3)若上述传送带转动等动作完成无误,即确定了大型铸件已进入传送带的指定区域-X光机拍摄区;此时,提取参数信息中的X光机摆臂的动作信息,包括摆动角度和摆臂上下位移幅度和传送带反向位移量;通过发送这些控制信息到可编程控制器以使X光机在指定动作下对大型铸件进行一系列的拍摄;得到的一系列X光图片当即送入控制台进行图象处理;在这个过程中,PC每次发送的指令都是在接收到串口监控线程返回执行上次指令动作完成的信息之后;
(4)若上述X光机动作完成无误,则确定了已得到了所需的大型铸件缺陷图像信息,即主线程已启动软件的缺陷检测模块对图像进行缺陷分析;分析的结果,即大型铸件分类信息由主线程获取并及时传给后台铸件检测线程,该线程在获取到主线程提供的大型铸件分类信息后,立刻对可编程控制器发送控制指令,可编程控制器则按照该指令进行喷漆动作标记大型铸件,对大型铸件进行了合格与不合格的区分;同时后台铸件检测线程在得到串口监控线程的返回信息后,判断可编程控制器已正确执行完分类动作,即完成了对一个大型铸件的检测分类;此时,后台铸件检测线程把控制权转入用户主线程,进行一些数据记录同时转入对下一个大型铸件的检测;所述串口监控线程的步骤包括(1)等待串口事件的触发;(2)接收到可编程控制器端主动传来的数据,通过事先在编程上与可编程控制器端的控制程序协商好的判断规则来判断该次传来的数据含义;按照可编程控制器工作动作的顺序,若传来的数据为“1”,则表示可编程控制器已成功完成了第一个动作,例如对传送带的前后位移与左右移动操作,通过这个操作把大型铸件从传送带如口处送入了X光机拍摄区;若传来的数据为“2”,则表示可编程控制器已成功完成了第二个动作,例如完成了对大型铸件的拍摄。若传来的数据为“3”,则表示可编程控制器已成功完成了第三个动作,例如完成了对大型铸件的喷漆分类;(3)通过上述方法判断出可编程控制器是否正确完成指定动作,把信息返回给后台铸件检测线程,并把控制权交还给后台铸件检测线程;同时等待串口下次触发该线程;本发明包括三个线程之间的调用方法如下用户主线程是用来操控全局的,它最先执行;后台铸件检测线程和串口监控线程都是由主线程创建并启动的;后台铸件检测线程被创建后便开始指挥可编程控制器进行一系列的动作,以对大型铸件进行分类;而串口监控线程被创建后便协同后台铸件检测线程,确保可编程控制器端按照后台铸件检测线程的指令正确地执行。
本发明应用于大型铸件缺陷检测系统,具体地,本发明的目的通过下述方案实现PC机上的智能系统包括数据输入模块、数据存储模块、数据处理计算模块,通过通信接口与可编程控制器通信,实现铸件与X光源的相对位置控制;该系统显示屏上还含有开关模块、选择模块、模式预采集和识别显示模块、监视模块,使控制面板上不出现硬件器件,用户还可以根据检测工件的需要,自己修改控制参数和显示画面。通信控制系统包括PC机控制台(上位机),X光机,可编程控制器(下位机),步进电机。上位机通过串口RS-232与下位机连接,X光机通过位置调整组件与下位机相连接。
智能系统中的各模块功能如下所述。
(1)数据输入模块在界面上提供有参数区域,该区域显示的是某种型号铸件对应的软件参数与硬件参数,用户可修改里面的参数,并且可以把参数保存更新到数据库。软件参数主要是分区算法参数与缺陷检测算法参数;硬件参数主要是PC发给可编程控制器控制电机完成一些系列动作的参数,如X光机支撑臂摆动的绝对角度、铸件一次的旋转量、总的位置数(X光机支撑臂一共要摆动的角度数)、每个位置所需拍摄次数、所需电压等。
(2)数据存储模块对于每种型号铸件的参数(包括软件与硬件参数),都会保存于PC机内存储媒介的数据库中。每次检测一个铸件,系统首先会通过模式预采集和识别模块从数据库中找到与当前检测铸件相匹配的型号,并把数据库中该型号的参数读入数据存储模块之中,具体地说即读入PC机的内存之中。数据存储模块存放着系统当前工作中的软硬件参数。设计的形式可利用全局数据的特性,以使其它模块可直接访问,实际上,数据存储模块中的存储的各种参数是系统各模块所用参数的直接来源。
(3)开关模块负责启动、挂起和终止后台铸件检测线程。在系统界面上,用户可点击相应的按钮图标,轻松控制后台铸件检测线程的各种状态。
(4)选择模块在铸件检测线程中,实现工作模式(手动、自动、半自动)的切换选择。
(5)模式预采集和识别模块负责前端铸件外部图像的采集和型号的匹配识别。在铸件还没进入封闭的铅屏蔽房时,先对铸件的外形图像进行预处理,与数据库中所存储的铸件型号进行匹配。该模块通过本发明提出的专用铸件模式匹配算法对前端两个摄像头所拍摄的照片进行匹配分析,以实现型号识别。
(6)监视模块后台检测控制模块是整个检测过程的执行者。用户主线程通过设置事件的方式把用户指示传给后台检测线程,而后台检测线程通过发送消息,把当前铸件检测状态告诉用户主线程。该模块与模式预采集和识别模块、数据处理计算模块、与及用户界面主线程密切联系,协调工作。
智能系统的参数通常进行预先设定,但在实际在线使用过程中,用户也可通过数据输入模块修改和设定所有系统参数,这些参数如下所列。
软件参数(1)分区算法参数区域形状(圆形、椭圆、矩形)区域位置信息区域覆盖信息区域填充颜色区域线颜色区域内算法选择(2)检测类中的参数边缘强度强边比例检测尺度最小对比度最小观测角度(3)统计类中的参数缺陷最小直径缺陷最小密度缺陷统计的矩形尺寸(4)前端匹配模块算法参数硬件参数X光机支撑臂摆动的绝对角度铸件一次的旋转量总的位置数(X光机支撑臂一共要摆动的角度数)每个位置所需拍摄次数X光机电压PC与可编程控制器通信主要包括(1)确认硬件均已通过连接线正常连接,双方采用异步串行通信的工作模式匹配。
(2)一种型号的大型铸件对应一组硬件参数和一组软件参数。软件参数主要是图象处理中用到的算法参数,硬件参数是PC控制可编程控制器所涉及的参数,包括传送带移动的位移量、传送带移动的方向(前、后、左、右)、X光线源上下移动的位移量、X光支撑臂摆动的角度、支撑臂所需摆动的角度个数以及每个角度对应的拍摄图像张数。
(3)参数传送给可编程控制器后,可编程控制器按指定参数进行操作,并及时将相应状态返回给PC机。
(4)每检测一种型号大型铸件,PC首先从大型铸件参数数据库中寻找匹配的型号参数。若找到匹配的,则直接调用数据库中的参数指示可编程控制器动作;若找不到,则要操作人员手动调设,当调设好后,可添加进数据库。
(5)PC机对大型铸件图片分析处理后,做出判断决定,并指示可编程控制器控制相应设备把大型铸件分类成合格或不合格品。
PC机与可编程控制器通信方法的实现如下所述通信方法,其工作机制利用多线程技术实现。PC通过用户主线程(User Thread)、后台铸件检测线程(Worker Thread)、串口监控线程(CommThread)实现与可编程控制器的协调同步。
用户主线程的步骤包括(1)初使化软件界面,初始化软件其他模块;(2)初始化串口,开启串口监控线程;(3)开启后台铸件检测线程,进入大型铸件检测环节。
后台铸件检测线程的步骤包括(1)判断当前大型铸件的类型,搜索数据库中与之匹配的样品,若有,则直接调用该样品参数。若没有,则进入手动设置参数界面,设置完后继续线程。
(2)提取参数信息中的传送带位移与转动的信息,按照可编程控制器通信协议发送给下位机,大型铸件开始移向X光机拍摄区。接着等待串口监控线程返回大型铸件已到达X光机拍摄区的信息。
(3)若上述传送带转动等动作完成无误,即确定了大型铸件已进入传送带的指定区域-X光机拍摄区。此时,提取参数信息中的X光机摆臂的动作信息,包括摆动角度和摆臂上下位移幅度和传送带反向位移量。通过发送这些控制信息到可编程控制器以使X光机在指定动作下对大型铸件进行一系列的拍摄。得到的一系列X光图像实时送入控制台进行图象处理。在这个过程中,PC每次发送的指令都是在接收到串口监控线程返回执行上次指令动作完成的信息之后。
(4)若上述X光机动作完成无误,则确定了已得到了所需的大型铸件缺陷图像信息,即主线程已启动软件的缺陷检测模块对图像进行缺陷分析。分析的结果,即大型铸件分类信息由主线程获取并及时传给后台铸件检测线程,该线程在获取到主线程提供的大型铸件分类信息后,立刻对可编程控制器发送控制指令,可编程控制器则按照该指令进行喷漆动作标记大型铸件,对大型铸件进行了合格与不合格的区分。同时后台铸件检测线程在得到串口监控线程的返回信息后,判断可编程控制器已正确执行完分类动作,即完成了对一个大型铸件的检测分类。此时,后台铸件检测线程把控制权转入用户主线程,进行一些数据记录同时转入对下一个大型铸件的检测。
串口监控线程的步骤包括(1)等待串口事件的触发;(2)接收到可编程控制器端主动传来的数据,通过事先在编程上与可编程控制器端的控制程序协商好的判断规则来判断该次传来的数据含义。按照可编程控制器工作动作的顺序,若传来的数据为“1”,则表示可编程控制器已成功完成了第一个动作,例如对传送带的前后位移与左右移动操作,通过这个操作把大型铸件从传送带如口处送入X光机拍摄区。若传来的数据为“2”,则表示可编程控制器已成功完成了第二个动作,例如完成了对大型铸件的拍摄。若传来的数据为“3”,则表示可编程控制器已成功完成了第三个动作,例如完成了对大型铸件的喷漆分类;(3)通过上述方法判断出可编程控制器是否正确完成指定动作,把信息返回给后台铸件检测线程,并把控制权交还给后台铸件检测线程。同时等待串口下次触发该线程。


图1是本发明各模块之间的调用关系示意图。
图2是本发明硬件连接示意图;图3是OMRON系列可编程控制器的HOSTLINK协议报文组成示意图;图4是用户主线程示意图;图5是后台铸件检测线程示意图;图6是串口监控线程示意图;具体实施方式
下面结合实施例及附图对本发明作进一步详细说明,但本发明的实施方式不限于此。
图1是本发明各模块之间的调用关系示意图。首先通过用户主线程调用数据输入模块,输入或预设系统的各项参数,并对系统存储模块进行修改。此后,用户主线程和后台铸件检测线程均可直接对数据存储模块进行数据读取操作。用户的主线程通过调用选择模块来切换后台检测线程的工作模式,例如工作模式包括手动,半自动和全自动等。用户主线程通过调用开关模块来开启、中止或挂起后台的铸件检测线程。用户主线程和后台铸件检测线程也直接进行通信,用户主线程将产品归类的指示,即产品合格与否的指示传递给后台检测线程,然后控制归类模块去控制硬件完成产品归类和运送的一些动作。后台检测工作线程工作时还需要调用铸件的模式预采集和识别模块,或称为前端模式匹配模块,同时还需要调用数据处理计算模块,即该系统的核心计算技术图像处理模块。后台铸件检测线程还需要不断地发送消息给用户主线程以告知当前检测线程的工作状态,因此用户主线程和后台铸件检测线程需在工作时保持及时通信。
图2示出本发明可编程控制器控制模块的连接方式是通过PC机的RS232串口与可编程控制器的上位连接模块(例如连接适配器C200H-LK201)相连接。为实现PC机与可编程控制器的通信,上位机是PC机,下位机可选OMRON系列可编程控制器,并选用C200H-LK201为连接适配器。通过适配器,可编程控制器端可以主动发出数据信息给PC端,告知PC端现在可编程控制器端的工作进程,而PC端及时获取该状态信息,并做出相应的控制。
图3是PC与OMRON系列可编程控制器之间的通信采用该种格式的报文传送。报文的各字段含义如下所示@——开始符;设备号——指定与上位机通信的可编程控制器(在可编程控制器的DM6648,DM6653中设置设备号);识别码——设置两个字节的命令码;正文——设置命令参数;FCS——设置两个字符的帧检查顺序码,用于校检,它是从@开始到正文结束的所有字符的ASIIC码按位异或运算的结果;结束符——设置“*”和“回车”两个字符表明命令结束。
图4示出了用户主线程流程,描叙了软件的开启运行和模块的初始化。即当本系统软件开始点击运行时,首先创建了用户主线程进行全局的管理与调度。该线程首先初始化软件系统的其它模块,包括数据库和串行口的初始化,确保上位机和下位机的连接无误。当用户点击软件界面上的“开始检测”按键时,用户主线程便开辟后台铸件检测线程和串口监控线程进行协同工作,对送上传送带的当前大型铸件进行操作及缺陷检测。
图5示出了后台铸件检测线程的工作过程。即用户主线程转入后台铸件检测线程时,后台铸件检测线程首先搜索数据库,以匹配当前大型铸件类型,并提取数据库中保存的参数,该参数包括两方面的信息传送带的移动速度和转动步数,以及X光机光源的摆动角度和上下移动幅度。若当前铸件是新型号或新品种,则需转入参数设置界面手工设置参数。后台铸件检测线程把所获得的参数信息按照可编程控制器通信协议组装成可编程控制器能识别的数据帧发出,以控制可编程控制器的一系列动作,在本系统中这一系列的动作是分段进行控制的,即PC机要等到可编程控制器端正确执行完当前指示的若干动作,才会继续指示可编程控制器继续执行下一系列动作,以确保整个过程中没有偏差。可编程控制器在接收到参数信息后并执行完相应的一系列动作后,可编程控制器会主动返回动作完成的信息给PC机。而串口监控线程则负责接收这些返回信息并判断可编程控制器执行动作的情况。在获取到大型铸件的X光射线图像后,从用户主线程得到分析的结果即对铸件的分类信息。后台铸件检测线程通过向可编程控制器发送该分类信息对可编程控制器进行动作控制,可编程控制器完成相应的动作(例如对大型铸件喷漆标记等),这就完成了对一个大型铸件的检测以及质量判断和分类。
图6所示为串口监控线程的工作过程流程。当可编程控制器端发送的操作执行信息触发该线程时,该线程通过事先与可编程控制器端程序的协商而判定可编程控制器所执行的动作完成情况。由于在编程上事先已与可编程控制器协定好以传送数字“1”,“2”,“3”分别代表可编程控制器三次动作,如“1”代表可编程控制器已把大型铸件正确送入X光机拍摄区,“2”代表可编程控制器已控制X光机完成了对大型铸件的拍摄,“3”代表可编程控制器已完成了对大型铸件的分类操作。当串口监控线程读取出可编程控制器传送的数字时,便能判断可编程控制器当前完成动作的情况。串口监控线程把这些可编程控制器的工作状态及时返回给后台铸件检测线程,以便让后台铸件检测线程继续工作。
权利要求
1.一种大型铸件缺陷检测的控制方法,包括——PC端智能系统预设以下硬件参数X光机支撑臂摆动的绝对角度铸件一次的旋转量总的位置数每个位置所需拍摄次数X光机电压;——PC端智能系统通过数据输入模块来修改上述硬件参数;——确认硬件均已通过连接线正常连接,PC与可编程控制器PLC均采用异步串行通信的工作模式匹配;——PC端智能系统把硬件参数传递到PLC控制器;——可编程控制器根据PC端智能系统传递过来的硬件参数动作;并及时将相应状态返回给PC端智能系统。
2.根据权利要求1所述的大型铸件缺陷检测的控制方法,其特征在于PC机与可编程控制器通信方法利用多线程技术实现,包括PC通过用户主线程、后台铸件检测线程和串口监控线程实现与可编程控制器的协调同步;所述用户主线程的步骤包括(1)初使化软件界面,初始化软件其他模块;(2)初始化串口,开启串口监控线程;(3)开启后台铸件检测线程,进入大型铸件检测环节;所述后台铸件检测线程的步骤包括(1)判断当前大型铸件的类型,搜索数据库中与之匹配的样品,若有,则直接调用该样品参数;若没有,则进入手动设置参数界面,设置完后继续线程;(2)提取参数信息中的传送带位移与转动的信息,按照可编程控制器通信协议发送给下位机,大型铸件开始移向X光机拍摄区;接着等待串口监控线程返回大型铸件已到达X光机拍摄区的信息;(3)若上述传送带转动等动作完成无误,即确定了大型铸件已进入传送带的指定区域-X光机拍摄区;此时,提取参数信息中的X光机摆臂的动作信息,包括摆动角度和摆臂上下位移幅度和传送带反向位移量;通过发送这些控制信息到可编程控制器以使X光机在指定动作下对大型铸件进行一系列的拍摄;得到的一系列X光图片当即送入控制台进行图象处理;在这个过程中,PC每次发送的指令都是在接收到串口监控线程返回执行上次指令动作完成的信息之后;(4)若上述X光机动作完成无误,则确定了已得到了所需的大型铸件缺陷图像信息,即主线程已启动软件的缺陷检测模块对图像进行缺陷分析;分析的结果,即大型铸件分类信息由主线程获取并及时传给后台铸件检测线程,该线程在获取到主线程提供的大型铸件分类信息后,立刻对可编程控制器发送控制指令,可编程控制器则按照该指令进行喷漆动作标记大型铸件,对大型铸件进行了合格与不合格的区分;同时后台铸件检测线程在得到串口监控线程的返回信息后,判断可编程控制器已正确执行完分类动作,即完成了对一个大型铸件的检测分类;此时,后台铸件检测线程把控制权转入用户主线程,进行一些数据记录同时转入对下一个大型铸件的检测;所述串口监控线程的步骤包括(1)等待串口事件的触发;(2)接收到可编程控制器端主动传来的数据,通过事先在编程上与可编程控制器端的控制程序协商好的判断规则来判断该次传来的数据含义;按照可编程控制器工作动作的顺序,若传来的数据为“1”,则表示可编程控制器已成功完成了第一个动作,例如对传送带的前后位移与左右移动操作,通过这个操作把大型铸件从传送带如口处送入了X光机拍摄区;若传来的数据为“2”,则表示可编程控制器已成功完成了第二个动作,例如完成了对大型铸件的拍摄。若传来的数据为“3”,则表示可编程控制器已成功完成了第三个动作,例如完成了对大型铸件的喷漆分类;(3)通过上述方法判断出可编程控制器是否正确完成指定动作,把信息返回给后台铸件检测线程,并把控制权交还给后台铸件检测线程;同时等待串口下次触发该线程。
3.根据权利要求1所述的大型铸件缺陷检测的控制方法,包括三个线程之间的调用方法,其特征在于用户主线程是用来操控全局的,它最先执行;后台铸件检测线程和串口监控线程都是由主线程创建并启动的;后台铸件检测线程被创建后便开始指挥可编程控制器进行一系列的动作,以对大型铸件进行分类;而串口监控线程被创建后便协同后台铸件检测线程,确保可编程控制器端按照后台铸件检测线程的指令正确地执行。
全文摘要
本发明涉及一种大型铸件缺陷检测的控制系统及方法,其特点是用PC的智能系统直接控制检测机构的动作模式,该系统含有数据输入模块、数据存储模块、数据处理计算模块,通过通信接口与可编程控制器通信,实现铸件与X光源的相对位置控制;该系统显示屏上还含有开关模块、选择模块、模式预采集和识别显示模块、监视模块,用户还可以根据检测工件的需要,自己修改控制参数和显示画面,与控制面板的手控硬件相比,大大提高了铸件检测的自动化程度。
文档编号G05B15/00GK1995995SQ200610124098
公开日2007年7月11日 申请日期2006年12月7日 优先权日2006年12月7日
发明者黄茜 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1