一種使機(jī)器視覺(jué)檢測(cè)與控制器保持同步的方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及一種使機(jī)器視覺(jué)檢測(cè)與控制器保持同步的方法。
【背景技術(shù)】
[0002]在工業(yè)機(jī)器視覺(jué)檢測(cè)系統(tǒng)中,視覺(jué)檢測(cè)軟件在工控機(jī)平臺(tái)運(yùn)行時(shí)只負(fù)責(zé)檢測(cè)圖像信息,對(duì)于如何把檢測(cè)的結(jié)果根據(jù)生產(chǎn)的工藝按照一定的要求進(jìn)行控制并逐類分選等操作時(shí),就需要連接專用的控制器來(lái)實(shí)現(xiàn)這一目的。
[0003]通常情況下,控制器發(fā)出檢測(cè)指令,命令視覺(jué)檢測(cè)軟件接收來(lái)自硬件的圖像信息進(jìn)行處理檢測(cè),檢測(cè)結(jié)束后,視覺(jué)檢測(cè)軟件把處理的結(jié)果信息傳遞給控制器從而達(dá)到檢測(cè)的目的。圖像檢測(cè)過(guò)程中視覺(jué)檢測(cè)軟件受相機(jī)因素、待檢圖像內(nèi)容、內(nèi)部算法設(shè)置等因素的影響,檢測(cè)時(shí)間各不相同,一般單次檢測(cè)時(shí)間在幾毫米到幾百毫米之間。控制器發(fā)出的檢測(cè)指令周期過(guò)長(zhǎng)時(shí)(或者說(shuō)發(fā)出的檢測(cè)指令周期大于單次檢測(cè)時(shí)間),其發(fā)出一個(gè)檢測(cè)指令,等待視覺(jué)檢測(cè)軟件的處理結(jié)果,并根據(jù)特定的工藝要求進(jìn)行控制操作,按照這個(gè)順序周而復(fù)始的循環(huán)進(jìn)行正常工作,此種循環(huán)檢測(cè)模式比較適合于檢測(cè)周期比較慢的環(huán)境里,如果在較快的檢測(cè)周期或者檢測(cè)周期時(shí)快時(shí)慢的環(huán)境下就不能夠滿足要求了。
[0004]當(dāng)視覺(jué)檢測(cè)軟件的單次檢測(cè)時(shí)間大于控制器發(fā)出的指令周期時(shí),有時(shí)會(huì)出現(xiàn)在一個(gè)單次檢測(cè)時(shí)間里會(huì)收到多個(gè)檢測(cè)圖像需要處理,遇到這種情況視覺(jué)檢測(cè)軟件為了提高檢測(cè)效率,就會(huì)把收到的圖像信息分配給各單元模塊進(jìn)行同步處理,等各單元模塊把圖像信息處理完成后,根據(jù)處理的結(jié)果分別傳遞給控制器從而到達(dá)提高圖像檢測(cè)效率的目的。
[0005]視覺(jué)檢測(cè)軟件采取同時(shí)處理的辦法達(dá)到了提高效率的目的,但由于分配給各單元模塊的檢測(cè)時(shí)間的不同,發(fā)給控制器的檢測(cè)信息不是嚴(yán)格按照接收檢測(cè)的順序傳遞給控制器的,就會(huì)出現(xiàn)控制控制器發(fā)出檢測(cè)指令后收到的檢測(cè)結(jié)果信息并一定就是當(dāng)前的,使控制器產(chǎn)生了誤判的可能,降低了機(jī)器視覺(jué)檢測(cè)系統(tǒng)的檢測(cè)準(zhǔn)確率。
【發(fā)明內(nèi)容】
[0006]針對(duì)上述問(wèn)題,本發(fā)明的目的是提供一種使機(jī)器視覺(jué)檢測(cè)軟件與控制器保持同步的方法。本發(fā)明的技術(shù)方案如下:
[0007]—種使機(jī)器視覺(jué)檢測(cè)與控制器保持同步的方法,該方法采用單向傳輸協(xié)議,視覺(jué)檢測(cè)設(shè)備的多個(gè)單元模塊并行進(jìn)行圖像檢測(cè),包括:
[0008](I)控制器輸出給視覺(jué)檢測(cè)設(shè)備開(kāi)始檢測(cè)命令,發(fā)出命令同時(shí)并存儲(chǔ)當(dāng)前命令檢測(cè)的序號(hào)及當(dāng)前的位置信息或是時(shí)間信息;
[0009](2)視覺(jué)檢測(cè)設(shè)備向某個(gè)單元模塊分配圖像檢測(cè)任務(wù),同時(shí)記錄當(dāng)前命令檢測(cè)的序號(hào),設(shè)此單元模塊為A單元模塊;
[0010](3)A單元模塊圖像檢測(cè)結(jié)束后,視覺(jué)檢測(cè)設(shè)備將A單元模塊的檢測(cè)結(jié)果連同當(dāng)前命令檢測(cè)的序號(hào)一起發(fā)送給控制器;
[0011](4)控制器將當(dāng)前命令檢測(cè)的序號(hào)和檢測(cè)結(jié)果合并,并進(jìn)行相應(yīng)的控制。
[0012]本發(fā)明由于采取以上技術(shù)方法,其具有以下優(yōu)點(diǎn):
[0013](I)本發(fā)明采用視覺(jué)檢測(cè)軟件發(fā)送端編碼和控制器接收端解碼的方式,實(shí)現(xiàn)視覺(jué)檢測(cè)系統(tǒng)中兩個(gè)子系統(tǒng)保持同步的要求,更好的提高了視覺(jué)檢測(cè)準(zhǔn)確率,降低了控制器進(jìn)行逐類分選時(shí)的誤判問(wèn)題。
[0014](2)本發(fā)明同步的協(xié)議采用單向傳送,節(jié)省視覺(jué)檢測(cè)軟件訪問(wèn)控制器的通信時(shí)間,比雙向傳送效率得到了提升。
[0015](3)本發(fā)明提高了整個(gè)檢測(cè)及控制環(huán)節(jié)的工作速度,在檢測(cè)過(guò)程中可以繼續(xù)接收控制器發(fā)出的檢測(cè)的指令,提高了檢測(cè)效率。
[0016](4)本發(fā)明對(duì)于工作中檢測(cè)速度時(shí)快時(shí)慢的工作節(jié)奏有較好的兼容性,把檢測(cè)速度快慢不同的檢測(cè)過(guò)程做了等效均分,系統(tǒng)的適應(yīng)性更強(qiáng)。
【附圖說(shuō)明】
[0017]圖1是是視覺(jué)檢測(cè)控制流程;
[0018]圖1中箭頭標(biāo)號(hào)說(shuō)明:
[0019]I控制器發(fā)送檢測(cè)命令;
[0020]2視覺(jué)檢測(cè)軟件和視覺(jué)硬件進(jìn)行數(shù)據(jù)通信;
[0021 ]3視覺(jué)檢測(cè)軟件發(fā)送檢測(cè)結(jié)果給控制器。
[0022]圖2是視覺(jué)檢測(cè)軟件發(fā)送結(jié)果格式;
[0023 ]圖3是控制器解析及合成數(shù)據(jù)內(nèi)容。
【具體實(shí)施方式】
[0024]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的進(jìn)行詳細(xì)的描述。
[0025]如圖1-3所示,
[0026]I)控制器條件滿足進(jìn)入視覺(jué)檢測(cè)控制流程,首先控制器輸出給視覺(jué)硬件開(kāi)始檢測(cè)命令,發(fā)出命令的同時(shí)存儲(chǔ)當(dāng)前命令檢測(cè)的序號(hào)及當(dāng)前的位置信息(或是時(shí)間信息),以上工作完成,控制器就開(kāi)始等待結(jié)果信息。在整個(gè)控制命令輸出及等待的過(guò)程中,控制器都允許檢測(cè)外部的特定信號(hào)輸入進(jìn)行下一循環(huán)的控制命令。
[0027]2)視覺(jué)檢測(cè)硬件和軟件進(jìn)行一系列的數(shù)據(jù)交換后,開(kāi)始進(jìn)行圖像信息檢測(cè),檢測(cè)開(kāi)始時(shí)記錄下當(dāng)前已經(jīng)檢測(cè)數(shù),即檢測(cè)的當(dāng)前序號(hào),序號(hào)按照一定的數(shù)進(jìn)行循環(huán),例如1、2、
3、4…64、1、2等循環(huán),把該序號(hào)放置到16位發(fā)送緩存區(qū)的高8位地址里面,如圖2所示。軟件檢測(cè)圖像過(guò)程中把結(jié)果分成良品、不良品1、不良品2等不同類別,把不同的類別信息按照不同的數(shù)字代碼進(jìn)行對(duì)應(yīng),待軟件把圖像信息檢測(cè)完成,將檢測(cè)的結(jié)果放置到16位發(fā)送緩存區(qū)的低8位地址里面通過(guò)串口線一并發(fā)送給控制器。
[0028]3)控制器發(fā)出檢測(cè)命令后等待視覺(jué)檢測(cè)軟件檢測(cè)結(jié)果的這個(gè)過(guò)程中,接收軟件發(fā)送來(lái)的結(jié)果信息,將16位結(jié)果信息的高8位序號(hào)數(shù)據(jù)讀出與控制器記錄的數(shù)據(jù)進(jìn)行比較,找到和控制器發(fā)出檢測(cè)對(duì)應(yīng)的序號(hào)圖片,把讀出的低8位的結(jié)果數(shù)據(jù)放置到此序號(hào)圖片的對(duì)應(yīng)結(jié)果地址里,和前期存儲(chǔ)的位置數(shù)據(jù)一并進(jìn)行整合,如圖3示,作為圖片的屬性信息保存以供后端所需的控制操作。
【主權(quán)項(xiàng)】
1.一種使機(jī)器視覺(jué)檢測(cè)與控制器保持同步的方法,該方法采用單向傳輸協(xié)議,視覺(jué)檢測(cè)設(shè)備的多個(gè)單元模塊并行進(jìn)行圖像檢測(cè)。包括: (1)控制器輸出給視覺(jué)檢測(cè)設(shè)備開(kāi)始檢測(cè)命令,發(fā)出命令同時(shí)并存儲(chǔ)當(dāng)前命令檢測(cè)的序號(hào)及當(dāng)前的位置信息或是時(shí)間信息; (2)視覺(jué)檢測(cè)設(shè)備向某個(gè)單元模塊分配圖像檢測(cè)任務(wù),同時(shí)記錄當(dāng)前命令檢測(cè)的序號(hào),設(shè)此單元模塊為A單元模塊; (3)A單元模塊圖像檢測(cè)結(jié)束后,視覺(jué)檢測(cè)設(shè)備將A單元模塊的檢測(cè)結(jié)果連同當(dāng)前命令檢測(cè)的序號(hào)一起發(fā)送給控制器; (4)控制器將當(dāng)前命令檢測(cè)的序號(hào)和檢測(cè)結(jié)果合并,并進(jìn)行相應(yīng)的控制。
【專利摘要】本發(fā)明涉及一種使機(jī)器視覺(jué)檢測(cè)與控制器保持同步的方法,包括:控制器輸出給視覺(jué)檢測(cè)設(shè)備開(kāi)始檢測(cè)命令,發(fā)出命令同時(shí)并存儲(chǔ)當(dāng)前命令檢測(cè)的序號(hào)及當(dāng)前的位置信息或是時(shí)間信息;視覺(jué)檢測(cè)設(shè)備向某個(gè)單元模塊分配圖像檢測(cè)任務(wù),同時(shí)記錄當(dāng)前命令檢測(cè)的序號(hào),設(shè)此單元模塊為A單元模塊;A單元模塊圖像檢測(cè)結(jié)束后,視覺(jué)檢測(cè)設(shè)備將A單元模塊的檢測(cè)結(jié)果連同當(dāng)前命令檢測(cè)的序號(hào)一起發(fā)送給控制器;控制器將當(dāng)前命令檢測(cè)的序號(hào)和檢測(cè)結(jié)果合并,并進(jìn)行相應(yīng)的控制。本發(fā)明可以實(shí)現(xiàn)視覺(jué)檢測(cè)系統(tǒng)中兩個(gè)子系統(tǒng)保持同步的要求,更好的提高了視覺(jué)檢測(cè)準(zhǔn)確率,降低了控制器進(jìn)行逐類分選時(shí)的誤判問(wèn)題。
【IPC分類】G05B19/04, G01N21/84, G01C11/00
【公開(kāi)號(hào)】CN105511315
【申請(qǐng)?zhí)枴緾N201510868862
【發(fā)明人】張向陽(yáng), 余天洪, 陳忠
【申請(qǐng)人】天津普達(dá)軟件技術(shù)有限公司
【公開(kāi)日】2016年4月20日
【申請(qǐng)日】2015年12月1日