專利名稱:大型鑄件缺陷檢測(cè)的控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)通信技術(shù),具體是大型鑄件缺陷檢測(cè)的控制方法。
背景技術(shù):
倫琴先生發(fā)現(xiàn)X射線后不久,就認(rèn)識(shí)到X射線可以用于材料檢測(cè)。但直到上世紀(jì)70年代,X射線才開始被用于工業(yè)領(lǐng)域。在X射線檢測(cè)的過程中,扇形的X射線穿過待檢樣品,然后在圖像接收器(現(xiàn)在大多使用X射線圖像增強(qiáng)器)上形成一個(gè)放大的X光圖。X光的焦點(diǎn)面積和物距決定了成像面積的大小,加大物距可增大成像面積,但由于X光是面光源,加大物距會(huì)也使影像變得模糊。因此,影像的清晰度限制了X光成像的面積,這直接造成必須對(duì)大型鑄件進(jìn)行多工位拍攝,才能完成對(duì)其內(nèi)部缺陷的檢測(cè)。目前國(guó)內(nèi)對(duì)大型鑄件的檢測(cè)現(xiàn)狀是手動(dòng)調(diào)節(jié)拍攝工位,包括X光的多角度和工件的多位置,逐幅圖像進(jìn)行人眼識(shí)別。由于生產(chǎn)線沒有計(jì)算機(jī)自動(dòng)識(shí)別鑄造內(nèi)部缺陷的技術(shù)應(yīng)用,因而現(xiàn)有的檢測(cè)線上沒有自動(dòng)放置工件位置的要求,隨著圖像處理識(shí)別技術(shù)越來越先進(jìn),使得圖像的智能識(shí)別系統(tǒng)與檢測(cè)線的可編程控制器可編程控制器控制系統(tǒng)之間的通信和交互控制成為實(shí)現(xiàn)全自動(dòng)檢測(cè)鑄件內(nèi)部缺陷的一項(xiàng)關(guān)鍵技術(shù)。
授權(quán)公告日為2004年3月3日的中國(guó)發(fā)明專利CN1140797C《鑄件內(nèi)部缺陷自動(dòng)分析識(shí)別裝置及其分析識(shí)別方法》公開了一種鑄件內(nèi)部缺陷自動(dòng)分析識(shí)別方法及裝置,該發(fā)明為鑄造生產(chǎn)提供實(shí)時(shí)的在線鑄件內(nèi)部缺陷圖象分析識(shí)別裝置及分析識(shí)別方法,克服和解決了鑄件質(zhì)量檢測(cè)技術(shù)存在檢察員眼睛易疲勞、準(zhǔn)確性差、隨機(jī)性大、效率低、不可靠等的缺點(diǎn)和問題,圖象處理速度快,保密性強(qiáng)、精度高。但該發(fā)明僅僅是圖像的自動(dòng)識(shí)別,尚未實(shí)現(xiàn)整個(gè)檢測(cè)過程的自動(dòng)化。
現(xiàn)有的鑄造缺陷檢測(cè)技術(shù)中,檢測(cè)線上沒有自動(dòng)放置工件位置的可編程控制器工控系統(tǒng),未能達(dá)到完全的自動(dòng)檢測(cè)。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,提供一種準(zhǔn)確性和可靠性高,界面友好,可在PC機(jī)上直接設(shè)置參數(shù)以調(diào)配可編程控制器工控系統(tǒng)運(yùn)作的大型鑄件缺陷檢測(cè)的控制方法。
本發(fā)明的一種大型鑄件缺陷檢測(cè)的控制方法,包括
——PC端智能系統(tǒng)預(yù)設(shè)以下硬件參數(shù)X光機(jī)支撐臂擺動(dòng)的絕對(duì)角度鑄件一次的旋轉(zhuǎn)量總的位置數(shù)每個(gè)位置所需拍攝次數(shù)X光機(jī)電壓;——PC端智能系統(tǒng)通過數(shù)據(jù)輸入模塊來修改上述硬件參數(shù);——確認(rèn)硬件均已通過連接線正常連接,PC與可編程控制器均采用異步串行通信的工作模式匹配;——PC端智能系統(tǒng)把硬件參數(shù)傳遞到可編程控制器控制器;——可編程控制器控制器根據(jù)PC端智能系統(tǒng)傳遞過來的硬件參數(shù)動(dòng)作;并及時(shí)將相應(yīng)狀態(tài)返回給PC端智能系統(tǒng)。
所述PC機(jī)與可編程控制器通信方法利用多線程技術(shù)實(shí)現(xiàn),包括PC通過用戶主線程(User Thread)、后臺(tái)鑄件檢測(cè)線程(Worker Thread)和串口監(jiān)控線程(CommThread)實(shí)現(xiàn)與可編程控制器的協(xié)調(diào)同步;所述用戶主線程的步驟包括(1)初使化軟件界面,初始化軟件其他模塊;(2)初始化串口,開啟串口監(jiān)控線程;(3)開啟后臺(tái)鑄件檢測(cè)線程,進(jìn)入大型鑄件檢測(cè)環(huán)節(jié);所述后臺(tái)鑄件檢測(cè)線程的步驟包括(1)判斷當(dāng)前大型鑄件的類型,搜索數(shù)據(jù)庫中與之匹配的樣品,若有,則直接調(diào)用該樣品參數(shù);若沒有,則進(jìn)入手動(dòng)設(shè)置參數(shù)界面,設(shè)置完后繼續(xù)線程;(2)提取參數(shù)信息中的傳送帶位移與轉(zhuǎn)動(dòng)的信息,按照可編程控制器通信協(xié)議發(fā)送給下位機(jī),大型鑄件開始移向X光機(jī)拍攝區(qū);接著等待串口監(jiān)控線程返回大型鑄件已到達(dá)X光機(jī)拍攝區(qū)的信息;(3)若上述傳送帶轉(zhuǎn)動(dòng)等動(dòng)作完成無誤,即確定了大型鑄件已進(jìn)入傳送帶的指定區(qū)域-X光機(jī)拍攝區(qū);此時(shí),提取參數(shù)信息中的X光機(jī)擺臂的動(dòng)作信息,包括擺動(dòng)角度和擺臂上下位移幅度和傳送帶反向位移量;通過發(fā)送這些控制信息到可編程控制器以使X光機(jī)在指定動(dòng)作下對(duì)大型鑄件進(jìn)行一系列的拍攝;得到的一系列X光圖片當(dāng)即送入控制臺(tái)進(jìn)行圖象處理;在這個(gè)過程中,PC每次發(fā)送的指令都是在接收到串口監(jiān)控線程返回執(zhí)行上次指令動(dòng)作完成的信息之后;
(4)若上述X光機(jī)動(dòng)作完成無誤,則確定了已得到了所需的大型鑄件缺陷圖像信息,即主線程已啟動(dòng)軟件的缺陷檢測(cè)模塊對(duì)圖像進(jìn)行缺陷分析;分析的結(jié)果,即大型鑄件分類信息由主線程獲取并及時(shí)傳給后臺(tái)鑄件檢測(cè)線程,該線程在獲取到主線程提供的大型鑄件分類信息后,立刻對(duì)可編程控制器發(fā)送控制指令,可編程控制器則按照該指令進(jìn)行噴漆動(dòng)作標(biāo)記大型鑄件,對(duì)大型鑄件進(jìn)行了合格與不合格的區(qū)分;同時(shí)后臺(tái)鑄件檢測(cè)線程在得到串口監(jiān)控線程的返回信息后,判斷可編程控制器已正確執(zhí)行完分類動(dòng)作,即完成了對(duì)一個(gè)大型鑄件的檢測(cè)分類;此時(shí),后臺(tái)鑄件檢測(cè)線程把控制權(quán)轉(zhuǎn)入用戶主線程,進(jìn)行一些數(shù)據(jù)記錄同時(shí)轉(zhuǎn)入對(duì)下一個(gè)大型鑄件的檢測(cè);所述串口監(jiān)控線程的步驟包括(1)等待串口事件的觸發(fā);(2)接收到可編程控制器端主動(dòng)傳來的數(shù)據(jù),通過事先在編程上與可編程控制器端的控制程序協(xié)商好的判斷規(guī)則來判斷該次傳來的數(shù)據(jù)含義;按照可編程控制器工作動(dòng)作的順序,若傳來的數(shù)據(jù)為“1”,則表示可編程控制器已成功完成了第一個(gè)動(dòng)作,例如對(duì)傳送帶的前后位移與左右移動(dòng)操作,通過這個(gè)操作把大型鑄件從傳送帶如口處送入了X光機(jī)拍攝區(qū);若傳來的數(shù)據(jù)為“2”,則表示可編程控制器已成功完成了第二個(gè)動(dòng)作,例如完成了對(duì)大型鑄件的拍攝。若傳來的數(shù)據(jù)為“3”,則表示可編程控制器已成功完成了第三個(gè)動(dòng)作,例如完成了對(duì)大型鑄件的噴漆分類;(3)通過上述方法判斷出可編程控制器是否正確完成指定動(dòng)作,把信息返回給后臺(tái)鑄件檢測(cè)線程,并把控制權(quán)交還給后臺(tái)鑄件檢測(cè)線程;同時(shí)等待串口下次觸發(fā)該線程;本發(fā)明包括三個(gè)線程之間的調(diào)用方法如下用戶主線程是用來操控全局的,它最先執(zhí)行;后臺(tái)鑄件檢測(cè)線程和串口監(jiān)控線程都是由主線程創(chuàng)建并啟動(dòng)的;后臺(tái)鑄件檢測(cè)線程被創(chuàng)建后便開始指揮可編程控制器進(jìn)行一系列的動(dòng)作,以對(duì)大型鑄件進(jìn)行分類;而串口監(jiān)控線程被創(chuàng)建后便協(xié)同后臺(tái)鑄件檢測(cè)線程,確??删幊炭刂破鞫税凑蘸笈_(tái)鑄件檢測(cè)線程的指令正確地執(zhí)行。
本發(fā)明應(yīng)用于大型鑄件缺陷檢測(cè)系統(tǒng),具體地,本發(fā)明的目的通過下述方案實(shí)現(xiàn)PC機(jī)上的智能系統(tǒng)包括數(shù)據(jù)輸入模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)處理計(jì)算模塊,通過通信接口與可編程控制器通信,實(shí)現(xiàn)鑄件與X光源的相對(duì)位置控制;該系統(tǒng)顯示屏上還含有開關(guān)模塊、選擇模塊、模式預(yù)采集和識(shí)別顯示模塊、監(jiān)視模塊,使控制面板上不出現(xiàn)硬件器件,用戶還可以根據(jù)檢測(cè)工件的需要,自己修改控制參數(shù)和顯示畫面。通信控制系統(tǒng)包括PC機(jī)控制臺(tái)(上位機(jī)),X光機(jī),可編程控制器(下位機(jī)),步進(jìn)電機(jī)。上位機(jī)通過串口RS-232與下位機(jī)連接,X光機(jī)通過位置調(diào)整組件與下位機(jī)相連接。
智能系統(tǒng)中的各模塊功能如下所述。
(1)數(shù)據(jù)輸入模塊在界面上提供有參數(shù)區(qū)域,該區(qū)域顯示的是某種型號(hào)鑄件對(duì)應(yīng)的軟件參數(shù)與硬件參數(shù),用戶可修改里面的參數(shù),并且可以把參數(shù)保存更新到數(shù)據(jù)庫。軟件參數(shù)主要是分區(qū)算法參數(shù)與缺陷檢測(cè)算法參數(shù);硬件參數(shù)主要是PC發(fā)給可編程控制器控制電機(jī)完成一些系列動(dòng)作的參數(shù),如X光機(jī)支撐臂擺動(dòng)的絕對(duì)角度、鑄件一次的旋轉(zhuǎn)量、總的位置數(shù)(X光機(jī)支撐臂一共要擺動(dòng)的角度數(shù))、每個(gè)位置所需拍攝次數(shù)、所需電壓等。
(2)數(shù)據(jù)存儲(chǔ)模塊對(duì)于每種型號(hào)鑄件的參數(shù)(包括軟件與硬件參數(shù)),都會(huì)保存于PC機(jī)內(nèi)存儲(chǔ)媒介的數(shù)據(jù)庫中。每次檢測(cè)一個(gè)鑄件,系統(tǒng)首先會(huì)通過模式預(yù)采集和識(shí)別模塊從數(shù)據(jù)庫中找到與當(dāng)前檢測(cè)鑄件相匹配的型號(hào),并把數(shù)據(jù)庫中該型號(hào)的參數(shù)讀入數(shù)據(jù)存儲(chǔ)模塊之中,具體地說即讀入PC機(jī)的內(nèi)存之中。數(shù)據(jù)存儲(chǔ)模塊存放著系統(tǒng)當(dāng)前工作中的軟硬件參數(shù)。設(shè)計(jì)的形式可利用全局?jǐn)?shù)據(jù)的特性,以使其它模塊可直接訪問,實(shí)際上,數(shù)據(jù)存儲(chǔ)模塊中的存儲(chǔ)的各種參數(shù)是系統(tǒng)各模塊所用參數(shù)的直接來源。
(3)開關(guān)模塊負(fù)責(zé)啟動(dòng)、掛起和終止后臺(tái)鑄件檢測(cè)線程。在系統(tǒng)界面上,用戶可點(diǎn)擊相應(yīng)的按鈕圖標(biāo),輕松控制后臺(tái)鑄件檢測(cè)線程的各種狀態(tài)。
(4)選擇模塊在鑄件檢測(cè)線程中,實(shí)現(xiàn)工作模式(手動(dòng)、自動(dòng)、半自動(dòng))的切換選擇。
(5)模式預(yù)采集和識(shí)別模塊負(fù)責(zé)前端鑄件外部圖像的采集和型號(hào)的匹配識(shí)別。在鑄件還沒進(jìn)入封閉的鉛屏蔽房時(shí),先對(duì)鑄件的外形圖像進(jìn)行預(yù)處理,與數(shù)據(jù)庫中所存儲(chǔ)的鑄件型號(hào)進(jìn)行匹配。該模塊通過本發(fā)明提出的專用鑄件模式匹配算法對(duì)前端兩個(gè)攝像頭所拍攝的照片進(jìn)行匹配分析,以實(shí)現(xiàn)型號(hào)識(shí)別。
(6)監(jiān)視模塊后臺(tái)檢測(cè)控制模塊是整個(gè)檢測(cè)過程的執(zhí)行者。用戶主線程通過設(shè)置事件的方式把用戶指示傳給后臺(tái)檢測(cè)線程,而后臺(tái)檢測(cè)線程通過發(fā)送消息,把當(dāng)前鑄件檢測(cè)狀態(tài)告訴用戶主線程。該模塊與模式預(yù)采集和識(shí)別模塊、數(shù)據(jù)處理計(jì)算模塊、與及用戶界面主線程密切聯(lián)系,協(xié)調(diào)工作。
智能系統(tǒng)的參數(shù)通常進(jìn)行預(yù)先設(shè)定,但在實(shí)際在線使用過程中,用戶也可通過數(shù)據(jù)輸入模塊修改和設(shè)定所有系統(tǒng)參數(shù),這些參數(shù)如下所列。
軟件參數(shù)(1)分區(qū)算法參數(shù)區(qū)域形狀(圓形、橢圓、矩形)區(qū)域位置信息區(qū)域覆蓋信息區(qū)域填充顏色區(qū)域線顏色區(qū)域內(nèi)算法選擇(2)檢測(cè)類中的參數(shù)邊緣強(qiáng)度強(qiáng)邊比例檢測(cè)尺度最小對(duì)比度最小觀測(cè)角度(3)統(tǒng)計(jì)類中的參數(shù)缺陷最小直徑缺陷最小密度缺陷統(tǒng)計(jì)的矩形尺寸(4)前端匹配模塊算法參數(shù)硬件參數(shù)X光機(jī)支撐臂擺動(dòng)的絕對(duì)角度鑄件一次的旋轉(zhuǎn)量總的位置數(shù)(X光機(jī)支撐臂一共要擺動(dòng)的角度數(shù))每個(gè)位置所需拍攝次數(shù)X光機(jī)電壓PC與可編程控制器通信主要包括(1)確認(rèn)硬件均已通過連接線正常連接,雙方采用異步串行通信的工作模式匹配。
(2)一種型號(hào)的大型鑄件對(duì)應(yīng)一組硬件參數(shù)和一組軟件參數(shù)。軟件參數(shù)主要是圖象處理中用到的算法參數(shù),硬件參數(shù)是PC控制可編程控制器所涉及的參數(shù),包括傳送帶移動(dòng)的位移量、傳送帶移動(dòng)的方向(前、后、左、右)、X光線源上下移動(dòng)的位移量、X光支撐臂擺動(dòng)的角度、支撐臂所需擺動(dòng)的角度個(gè)數(shù)以及每個(gè)角度對(duì)應(yīng)的拍攝圖像張數(shù)。
(3)參數(shù)傳送給可編程控制器后,可編程控制器按指定參數(shù)進(jìn)行操作,并及時(shí)將相應(yīng)狀態(tài)返回給PC機(jī)。
(4)每檢測(cè)一種型號(hào)大型鑄件,PC首先從大型鑄件參數(shù)數(shù)據(jù)庫中尋找匹配的型號(hào)參數(shù)。若找到匹配的,則直接調(diào)用數(shù)據(jù)庫中的參數(shù)指示可編程控制器動(dòng)作;若找不到,則要操作人員手動(dòng)調(diào)設(shè),當(dāng)調(diào)設(shè)好后,可添加進(jìn)數(shù)據(jù)庫。
(5)PC機(jī)對(duì)大型鑄件圖片分析處理后,做出判斷決定,并指示可編程控制器控制相應(yīng)設(shè)備把大型鑄件分類成合格或不合格品。
PC機(jī)與可編程控制器通信方法的實(shí)現(xiàn)如下所述通信方法,其工作機(jī)制利用多線程技術(shù)實(shí)現(xiàn)。PC通過用戶主線程(User Thread)、后臺(tái)鑄件檢測(cè)線程(Worker Thread)、串口監(jiān)控線程(CommThread)實(shí)現(xiàn)與可編程控制器的協(xié)調(diào)同步。
用戶主線程的步驟包括(1)初使化軟件界面,初始化軟件其他模塊;(2)初始化串口,開啟串口監(jiān)控線程;(3)開啟后臺(tái)鑄件檢測(cè)線程,進(jìn)入大型鑄件檢測(cè)環(huán)節(jié)。
后臺(tái)鑄件檢測(cè)線程的步驟包括(1)判斷當(dāng)前大型鑄件的類型,搜索數(shù)據(jù)庫中與之匹配的樣品,若有,則直接調(diào)用該樣品參數(shù)。若沒有,則進(jìn)入手動(dòng)設(shè)置參數(shù)界面,設(shè)置完后繼續(xù)線程。
(2)提取參數(shù)信息中的傳送帶位移與轉(zhuǎn)動(dòng)的信息,按照可編程控制器通信協(xié)議發(fā)送給下位機(jī),大型鑄件開始移向X光機(jī)拍攝區(qū)。接著等待串口監(jiān)控線程返回大型鑄件已到達(dá)X光機(jī)拍攝區(qū)的信息。
(3)若上述傳送帶轉(zhuǎn)動(dòng)等動(dòng)作完成無誤,即確定了大型鑄件已進(jìn)入傳送帶的指定區(qū)域-X光機(jī)拍攝區(qū)。此時(shí),提取參數(shù)信息中的X光機(jī)擺臂的動(dòng)作信息,包括擺動(dòng)角度和擺臂上下位移幅度和傳送帶反向位移量。通過發(fā)送這些控制信息到可編程控制器以使X光機(jī)在指定動(dòng)作下對(duì)大型鑄件進(jìn)行一系列的拍攝。得到的一系列X光圖像實(shí)時(shí)送入控制臺(tái)進(jìn)行圖象處理。在這個(gè)過程中,PC每次發(fā)送的指令都是在接收到串口監(jiān)控線程返回執(zhí)行上次指令動(dòng)作完成的信息之后。
(4)若上述X光機(jī)動(dòng)作完成無誤,則確定了已得到了所需的大型鑄件缺陷圖像信息,即主線程已啟動(dòng)軟件的缺陷檢測(cè)模塊對(duì)圖像進(jìn)行缺陷分析。分析的結(jié)果,即大型鑄件分類信息由主線程獲取并及時(shí)傳給后臺(tái)鑄件檢測(cè)線程,該線程在獲取到主線程提供的大型鑄件分類信息后,立刻對(duì)可編程控制器發(fā)送控制指令,可編程控制器則按照該指令進(jìn)行噴漆動(dòng)作標(biāo)記大型鑄件,對(duì)大型鑄件進(jìn)行了合格與不合格的區(qū)分。同時(shí)后臺(tái)鑄件檢測(cè)線程在得到串口監(jiān)控線程的返回信息后,判斷可編程控制器已正確執(zhí)行完分類動(dòng)作,即完成了對(duì)一個(gè)大型鑄件的檢測(cè)分類。此時(shí),后臺(tái)鑄件檢測(cè)線程把控制權(quán)轉(zhuǎn)入用戶主線程,進(jìn)行一些數(shù)據(jù)記錄同時(shí)轉(zhuǎn)入對(duì)下一個(gè)大型鑄件的檢測(cè)。
串口監(jiān)控線程的步驟包括(1)等待串口事件的觸發(fā);(2)接收到可編程控制器端主動(dòng)傳來的數(shù)據(jù),通過事先在編程上與可編程控制器端的控制程序協(xié)商好的判斷規(guī)則來判斷該次傳來的數(shù)據(jù)含義。按照可編程控制器工作動(dòng)作的順序,若傳來的數(shù)據(jù)為“1”,則表示可編程控制器已成功完成了第一個(gè)動(dòng)作,例如對(duì)傳送帶的前后位移與左右移動(dòng)操作,通過這個(gè)操作把大型鑄件從傳送帶如口處送入X光機(jī)拍攝區(qū)。若傳來的數(shù)據(jù)為“2”,則表示可編程控制器已成功完成了第二個(gè)動(dòng)作,例如完成了對(duì)大型鑄件的拍攝。若傳來的數(shù)據(jù)為“3”,則表示可編程控制器已成功完成了第三個(gè)動(dòng)作,例如完成了對(duì)大型鑄件的噴漆分類;(3)通過上述方法判斷出可編程控制器是否正確完成指定動(dòng)作,把信息返回給后臺(tái)鑄件檢測(cè)線程,并把控制權(quán)交還給后臺(tái)鑄件檢測(cè)線程。同時(shí)等待串口下次觸發(fā)該線程。
圖1是本發(fā)明各模塊之間的調(diào)用關(guān)系示意圖。
圖2是本發(fā)明硬件連接示意圖;圖3是OMRON系列可編程控制器的HOSTLINK協(xié)議報(bào)文組成示意圖;圖4是用戶主線程示意圖;圖5是后臺(tái)鑄件檢測(cè)線程示意圖;圖6是串口監(jiān)控線程示意圖;具體實(shí)施方式
下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明,但本發(fā)明的實(shí)施方式不限于此。
圖1是本發(fā)明各模塊之間的調(diào)用關(guān)系示意圖。首先通過用戶主線程調(diào)用數(shù)據(jù)輸入模塊,輸入或預(yù)設(shè)系統(tǒng)的各項(xiàng)參數(shù),并對(duì)系統(tǒng)存儲(chǔ)模塊進(jìn)行修改。此后,用戶主線程和后臺(tái)鑄件檢測(cè)線程均可直接對(duì)數(shù)據(jù)存儲(chǔ)模塊進(jìn)行數(shù)據(jù)讀取操作。用戶的主線程通過調(diào)用選擇模塊來切換后臺(tái)檢測(cè)線程的工作模式,例如工作模式包括手動(dòng),半自動(dòng)和全自動(dòng)等。用戶主線程通過調(diào)用開關(guān)模塊來開啟、中止或掛起后臺(tái)的鑄件檢測(cè)線程。用戶主線程和后臺(tái)鑄件檢測(cè)線程也直接進(jìn)行通信,用戶主線程將產(chǎn)品歸類的指示,即產(chǎn)品合格與否的指示傳遞給后臺(tái)檢測(cè)線程,然后控制歸類模塊去控制硬件完成產(chǎn)品歸類和運(yùn)送的一些動(dòng)作。后臺(tái)檢測(cè)工作線程工作時(shí)還需要調(diào)用鑄件的模式預(yù)采集和識(shí)別模塊,或稱為前端模式匹配模塊,同時(shí)還需要調(diào)用數(shù)據(jù)處理計(jì)算模塊,即該系統(tǒng)的核心計(jì)算技術(shù)圖像處理模塊。后臺(tái)鑄件檢測(cè)線程還需要不斷地發(fā)送消息給用戶主線程以告知當(dāng)前檢測(cè)線程的工作狀態(tài),因此用戶主線程和后臺(tái)鑄件檢測(cè)線程需在工作時(shí)保持及時(shí)通信。
圖2示出本發(fā)明可編程控制器控制模塊的連接方式是通過PC機(jī)的RS232串口與可編程控制器的上位連接模塊(例如連接適配器C200H-LK201)相連接。為實(shí)現(xiàn)PC機(jī)與可編程控制器的通信,上位機(jī)是PC機(jī),下位機(jī)可選OMRON系列可編程控制器,并選用C200H-LK201為連接適配器。通過適配器,可編程控制器端可以主動(dòng)發(fā)出數(shù)據(jù)信息給PC端,告知PC端現(xiàn)在可編程控制器端的工作進(jìn)程,而PC端及時(shí)獲取該狀態(tài)信息,并做出相應(yīng)的控制。
圖3是PC與OMRON系列可編程控制器之間的通信采用該種格式的報(bào)文傳送。報(bào)文的各字段含義如下所示@——開始符;設(shè)備號(hào)——指定與上位機(jī)通信的可編程控制器(在可編程控制器的DM6648,DM6653中設(shè)置設(shè)備號(hào));識(shí)別碼——設(shè)置兩個(gè)字節(jié)的命令碼;正文——設(shè)置命令參數(shù);FCS——設(shè)置兩個(gè)字符的幀檢查順序碼,用于校檢,它是從@開始到正文結(jié)束的所有字符的ASIIC碼按位異或運(yùn)算的結(jié)果;結(jié)束符——設(shè)置“*”和“回車”兩個(gè)字符表明命令結(jié)束。
圖4示出了用戶主線程流程,描敘了軟件的開啟運(yùn)行和模塊的初始化。即當(dāng)本系統(tǒng)軟件開始點(diǎn)擊運(yùn)行時(shí),首先創(chuàng)建了用戶主線程進(jìn)行全局的管理與調(diào)度。該線程首先初始化軟件系統(tǒng)的其它模塊,包括數(shù)據(jù)庫和串行口的初始化,確保上位機(jī)和下位機(jī)的連接無誤。當(dāng)用戶點(diǎn)擊軟件界面上的“開始檢測(cè)”按鍵時(shí),用戶主線程便開辟后臺(tái)鑄件檢測(cè)線程和串口監(jiān)控線程進(jìn)行協(xié)同工作,對(duì)送上傳送帶的當(dāng)前大型鑄件進(jìn)行操作及缺陷檢測(cè)。
圖5示出了后臺(tái)鑄件檢測(cè)線程的工作過程。即用戶主線程轉(zhuǎn)入后臺(tái)鑄件檢測(cè)線程時(shí),后臺(tái)鑄件檢測(cè)線程首先搜索數(shù)據(jù)庫,以匹配當(dāng)前大型鑄件類型,并提取數(shù)據(jù)庫中保存的參數(shù),該參數(shù)包括兩方面的信息傳送帶的移動(dòng)速度和轉(zhuǎn)動(dòng)步數(shù),以及X光機(jī)光源的擺動(dòng)角度和上下移動(dòng)幅度。若當(dāng)前鑄件是新型號(hào)或新品種,則需轉(zhuǎn)入?yún)?shù)設(shè)置界面手工設(shè)置參數(shù)。后臺(tái)鑄件檢測(cè)線程把所獲得的參數(shù)信息按照可編程控制器通信協(xié)議組裝成可編程控制器能識(shí)別的數(shù)據(jù)幀發(fā)出,以控制可編程控制器的一系列動(dòng)作,在本系統(tǒng)中這一系列的動(dòng)作是分段進(jìn)行控制的,即PC機(jī)要等到可編程控制器端正確執(zhí)行完當(dāng)前指示的若干動(dòng)作,才會(huì)繼續(xù)指示可編程控制器繼續(xù)執(zhí)行下一系列動(dòng)作,以確保整個(gè)過程中沒有偏差??删幊炭刂破髟诮邮盏絽?shù)信息后并執(zhí)行完相應(yīng)的一系列動(dòng)作后,可編程控制器會(huì)主動(dòng)返回動(dòng)作完成的信息給PC機(jī)。而串口監(jiān)控線程則負(fù)責(zé)接收這些返回信息并判斷可編程控制器執(zhí)行動(dòng)作的情況。在獲取到大型鑄件的X光射線圖像后,從用戶主線程得到分析的結(jié)果即對(duì)鑄件的分類信息。后臺(tái)鑄件檢測(cè)線程通過向可編程控制器發(fā)送該分類信息對(duì)可編程控制器進(jìn)行動(dòng)作控制,可編程控制器完成相應(yīng)的動(dòng)作(例如對(duì)大型鑄件噴漆標(biāo)記等),這就完成了對(duì)一個(gè)大型鑄件的檢測(cè)以及質(zhì)量判斷和分類。
圖6所示為串口監(jiān)控線程的工作過程流程。當(dāng)可編程控制器端發(fā)送的操作執(zhí)行信息觸發(fā)該線程時(shí),該線程通過事先與可編程控制器端程序的協(xié)商而判定可編程控制器所執(zhí)行的動(dòng)作完成情況。由于在編程上事先已與可編程控制器協(xié)定好以傳送數(shù)字“1”,“2”,“3”分別代表可編程控制器三次動(dòng)作,如“1”代表可編程控制器已把大型鑄件正確送入X光機(jī)拍攝區(qū),“2”代表可編程控制器已控制X光機(jī)完成了對(duì)大型鑄件的拍攝,“3”代表可編程控制器已完成了對(duì)大型鑄件的分類操作。當(dāng)串口監(jiān)控線程讀取出可編程控制器傳送的數(shù)字時(shí),便能判斷可編程控制器當(dāng)前完成動(dòng)作的情況。串口監(jiān)控線程把這些可編程控制器的工作狀態(tài)及時(shí)返回給后臺(tái)鑄件檢測(cè)線程,以便讓后臺(tái)鑄件檢測(cè)線程繼續(xù)工作。
權(quán)利要求
1.一種大型鑄件缺陷檢測(cè)的控制方法,包括——PC端智能系統(tǒng)預(yù)設(shè)以下硬件參數(shù)X光機(jī)支撐臂擺動(dòng)的絕對(duì)角度鑄件一次的旋轉(zhuǎn)量總的位置數(shù)每個(gè)位置所需拍攝次數(shù)X光機(jī)電壓;——PC端智能系統(tǒng)通過數(shù)據(jù)輸入模塊來修改上述硬件參數(shù);——確認(rèn)硬件均已通過連接線正常連接,PC與可編程控制器PLC均采用異步串行通信的工作模式匹配;——PC端智能系統(tǒng)把硬件參數(shù)傳遞到PLC控制器;——可編程控制器根據(jù)PC端智能系統(tǒng)傳遞過來的硬件參數(shù)動(dòng)作;并及時(shí)將相應(yīng)狀態(tài)返回給PC端智能系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的大型鑄件缺陷檢測(cè)的控制方法,其特征在于PC機(jī)與可編程控制器通信方法利用多線程技術(shù)實(shí)現(xiàn),包括PC通過用戶主線程、后臺(tái)鑄件檢測(cè)線程和串口監(jiān)控線程實(shí)現(xiàn)與可編程控制器的協(xié)調(diào)同步;所述用戶主線程的步驟包括(1)初使化軟件界面,初始化軟件其他模塊;(2)初始化串口,開啟串口監(jiān)控線程;(3)開啟后臺(tái)鑄件檢測(cè)線程,進(jìn)入大型鑄件檢測(cè)環(huán)節(jié);所述后臺(tái)鑄件檢測(cè)線程的步驟包括(1)判斷當(dāng)前大型鑄件的類型,搜索數(shù)據(jù)庫中與之匹配的樣品,若有,則直接調(diào)用該樣品參數(shù);若沒有,則進(jìn)入手動(dòng)設(shè)置參數(shù)界面,設(shè)置完后繼續(xù)線程;(2)提取參數(shù)信息中的傳送帶位移與轉(zhuǎn)動(dòng)的信息,按照可編程控制器通信協(xié)議發(fā)送給下位機(jī),大型鑄件開始移向X光機(jī)拍攝區(qū);接著等待串口監(jiān)控線程返回大型鑄件已到達(dá)X光機(jī)拍攝區(qū)的信息;(3)若上述傳送帶轉(zhuǎn)動(dòng)等動(dòng)作完成無誤,即確定了大型鑄件已進(jìn)入傳送帶的指定區(qū)域-X光機(jī)拍攝區(qū);此時(shí),提取參數(shù)信息中的X光機(jī)擺臂的動(dòng)作信息,包括擺動(dòng)角度和擺臂上下位移幅度和傳送帶反向位移量;通過發(fā)送這些控制信息到可編程控制器以使X光機(jī)在指定動(dòng)作下對(duì)大型鑄件進(jìn)行一系列的拍攝;得到的一系列X光圖片當(dāng)即送入控制臺(tái)進(jìn)行圖象處理;在這個(gè)過程中,PC每次發(fā)送的指令都是在接收到串口監(jiān)控線程返回執(zhí)行上次指令動(dòng)作完成的信息之后;(4)若上述X光機(jī)動(dòng)作完成無誤,則確定了已得到了所需的大型鑄件缺陷圖像信息,即主線程已啟動(dòng)軟件的缺陷檢測(cè)模塊對(duì)圖像進(jìn)行缺陷分析;分析的結(jié)果,即大型鑄件分類信息由主線程獲取并及時(shí)傳給后臺(tái)鑄件檢測(cè)線程,該線程在獲取到主線程提供的大型鑄件分類信息后,立刻對(duì)可編程控制器發(fā)送控制指令,可編程控制器則按照該指令進(jìn)行噴漆動(dòng)作標(biāo)記大型鑄件,對(duì)大型鑄件進(jìn)行了合格與不合格的區(qū)分;同時(shí)后臺(tái)鑄件檢測(cè)線程在得到串口監(jiān)控線程的返回信息后,判斷可編程控制器已正確執(zhí)行完分類動(dòng)作,即完成了對(duì)一個(gè)大型鑄件的檢測(cè)分類;此時(shí),后臺(tái)鑄件檢測(cè)線程把控制權(quán)轉(zhuǎn)入用戶主線程,進(jìn)行一些數(shù)據(jù)記錄同時(shí)轉(zhuǎn)入對(duì)下一個(gè)大型鑄件的檢測(cè);所述串口監(jiān)控線程的步驟包括(1)等待串口事件的觸發(fā);(2)接收到可編程控制器端主動(dòng)傳來的數(shù)據(jù),通過事先在編程上與可編程控制器端的控制程序協(xié)商好的判斷規(guī)則來判斷該次傳來的數(shù)據(jù)含義;按照可編程控制器工作動(dòng)作的順序,若傳來的數(shù)據(jù)為“1”,則表示可編程控制器已成功完成了第一個(gè)動(dòng)作,例如對(duì)傳送帶的前后位移與左右移動(dòng)操作,通過這個(gè)操作把大型鑄件從傳送帶如口處送入了X光機(jī)拍攝區(qū);若傳來的數(shù)據(jù)為“2”,則表示可編程控制器已成功完成了第二個(gè)動(dòng)作,例如完成了對(duì)大型鑄件的拍攝。若傳來的數(shù)據(jù)為“3”,則表示可編程控制器已成功完成了第三個(gè)動(dòng)作,例如完成了對(duì)大型鑄件的噴漆分類;(3)通過上述方法判斷出可編程控制器是否正確完成指定動(dòng)作,把信息返回給后臺(tái)鑄件檢測(cè)線程,并把控制權(quán)交還給后臺(tái)鑄件檢測(cè)線程;同時(shí)等待串口下次觸發(fā)該線程。
3.根據(jù)權(quán)利要求1所述的大型鑄件缺陷檢測(cè)的控制方法,包括三個(gè)線程之間的調(diào)用方法,其特征在于用戶主線程是用來操控全局的,它最先執(zhí)行;后臺(tái)鑄件檢測(cè)線程和串口監(jiān)控線程都是由主線程創(chuàng)建并啟動(dòng)的;后臺(tái)鑄件檢測(cè)線程被創(chuàng)建后便開始指揮可編程控制器進(jìn)行一系列的動(dòng)作,以對(duì)大型鑄件進(jìn)行分類;而串口監(jiān)控線程被創(chuàng)建后便協(xié)同后臺(tái)鑄件檢測(cè)線程,確??删幊炭刂破鞫税凑蘸笈_(tái)鑄件檢測(cè)線程的指令正確地執(zhí)行。
全文摘要
本發(fā)明涉及一種大型鑄件缺陷檢測(cè)的控制系統(tǒng)及方法,其特點(diǎn)是用PC的智能系統(tǒng)直接控制檢測(cè)機(jī)構(gòu)的動(dòng)作模式,該系統(tǒng)含有數(shù)據(jù)輸入模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)處理計(jì)算模塊,通過通信接口與可編程控制器通信,實(shí)現(xiàn)鑄件與X光源的相對(duì)位置控制;該系統(tǒng)顯示屏上還含有開關(guān)模塊、選擇模塊、模式預(yù)采集和識(shí)別顯示模塊、監(jiān)視模塊,用戶還可以根據(jù)檢測(cè)工件的需要,自己修改控制參數(shù)和顯示畫面,與控制面板的手控硬件相比,大大提高了鑄件檢測(cè)的自動(dòng)化程度。
文檔編號(hào)G05B15/00GK1995995SQ200610124098
公開日2007年7月11日 申請(qǐng)日期2006年12月7日 優(yōu)先權(quán)日2006年12月7日
發(fā)明者黃茜 申請(qǐng)人:華南理工大學(xué)