時(shí)間:2022-02-22 14:20:29來源:深圳市正運(yùn)動(dòng)技術(shù)有限公司
背景
在機(jī)器視覺項(xiàng)目應(yīng)用中圖像采集是通過成像設(shè)備,也就是工業(yè)相機(jī)去獲取實(shí)時(shí)的圖像,這個(gè)部分就是構(gòu)成信號分布信息的一個(gè)過程。
通俗一點(diǎn)講就是將產(chǎn)品放在相機(jī)成像的視野范圍內(nèi),通過相機(jī)獲取產(chǎn)品的特征,比如產(chǎn)品的形狀大小顏色位置等信息,將獲取到的圖像信息,輸送給機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)的過程。
在上期課程中,我們講述了如何使用機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)實(shí)現(xiàn)圖像的幾何變換的課程。本期課程正運(yùn)動(dòng)小助手給大家分享一下機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)使用相機(jī)進(jìn)行相關(guān)采集操作的課程。
教學(xué)視頻
01VPLC控制器
(一)VPLC516E構(gòu)架圖
(二)課前準(zhǔn)備1.電腦一臺,安裝ZDevelop3.10以上版本軟件2.VPLC516E機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)一臺3.24V直流電源一個(gè)4.網(wǎng)線兩根5.正運(yùn)動(dòng)自品牌相機(jī)一臺
6.電線若干
(三)相機(jī)連接機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)前準(zhǔn)備工作
(四)相機(jī)網(wǎng)口IP設(shè)置操作說明
1.首先去PC上高級網(wǎng)絡(luò)設(shè)置的更改適配器選項(xiàng)修改相機(jī)與電腦網(wǎng)口對應(yīng)連接的網(wǎng)口IP,設(shè)置為192.168.1.10,之后再去添加巨型幀。
IP設(shè)置
打開巨型幀
2.接著去對應(yīng)的相機(jī)品牌驅(qū)動(dòng)軟件上修改相機(jī)的IP地址在192.168.1.X網(wǎng)段下。
至此,相機(jī)的網(wǎng)口IP設(shè)置就完成了,設(shè)置完IP后再將相機(jī)連接到機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)上的LAN2口即可正常采集圖像。(后續(xù)在不改動(dòng)相機(jī)的IP情況下,無需重復(fù)操作)
(五)控制器掃描相機(jī)注意事項(xiàng)1.檢查相機(jī)類型是否為VPLC516E機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)支持的相機(jī)類型。 2.檢查相機(jī)網(wǎng)段是否和控制器處于同一網(wǎng)段(控制器和相機(jī)處于同一網(wǎng)段才能通信),并查看相機(jī)IP是否被占用,若被占用請先修改相機(jī)IP或機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)IP并處于同一網(wǎng)段。3.檢查相機(jī)是否已經(jīng)被其他主機(jī)連接,若被連接請將相機(jī)斷電重啟。檢查相機(jī)的接線是否松動(dòng),相機(jī)網(wǎng)口燈是否正常。
02課程主要使用的指令
03軟件實(shí)現(xiàn)
1.打開ZDevelop軟件:新建名稱為“使用相機(jī)進(jìn)行相關(guān)采集操作示例.zpj”項(xiàng)目→新建HMI文件→新建“Basic.bas”文件(用于編寫界面響應(yīng)函數(shù)、并開啟HMI自動(dòng)運(yùn)行任務(wù))→文件添加到項(xiàng)目。
2.設(shè)計(jì)HMI主界面和關(guān)聯(lián)它的控件變量。
3.編寫相機(jī)進(jìn)行相關(guān)采集操作示例的響應(yīng)函數(shù)。
·
ZVOBJECT Image '定義圖像變量GLOBAL CAMERA_TYPE '定義相機(jī)類型GLOBAL cam_num '定義相機(jī)數(shù)量變量GLOBAL gv_readimgmod '定義讀取的圖片模式GLOBAL gv_index '定義圖片索引變量GLOBAL File_Name(30) '定義圖片所在的路徑名稱GLOBAL grab_switch '定義采集開關(guān)GLOBAL CONST gc_grabtask_id=9 '定義采集線程任務(wù)號cam_num=0gv_readimgmod=0gv_index=0grab_switch=0end
''''''''界面初始化函數(shù)''''''''''''GLOBAL SUB hmi_init() ZV_ENVINIT() 'ZVision運(yùn)行環(huán)境初始化 ZV_SETSYSSTR("DataDir","")'設(shè)置默認(rèn)數(shù)據(jù)目錄 ZV_LATCHSETSIZE(0, HMI_CONTROLSIZEX(10, 1), HMI_CONTROLSIZEY(10, 1)) '設(shè)置鎖存的大小 ZV_LATCHCLEAR(0) '將鎖存通道 0 清零 END SUB
''''''''''''''''掃描相機(jī)''''''''''''''''''''HMI界面按下掃描相機(jī)按鈕時(shí)響應(yīng)的函數(shù)GLOBAL SUB cam_scan_all() local lv_i if CAMERA_TYPE=0 THEN CAM_SCAN("zmotion") '掃描正運(yùn)動(dòng)自品牌相機(jī) ELSEIF CAMERA_TYPE=1 THEN CAM_SCAN("basler") '掃描basler相機(jī) ELSEIF CAMERA_TYPE=2 THEN CAM_SCAN("huaray") '掃描大華相機(jī) endif cam_num = CAM_COUNT() '獲取掃描到的相機(jī)數(shù)量 if (0 = cam_num) then '如果相機(jī)數(shù)量=0,打印提示信息 ?"未找到相機(jī)" return '退出子函數(shù),不往下執(zhí)行 endif ?"cam_num = " cam_num '如果掃描到相機(jī),打印相機(jī)數(shù)量 for lv_i=0 to cam_num-1 CAM_SEL(lv_i) '選擇掃描到的相機(jī)進(jìn)行操作 CAM_SETEXPOSURE(5000) '設(shè)置相機(jī)曝光時(shí)間為5000us CAM_SETMODE(0) '設(shè)置軟件觸發(fā)模式 CAM_START(1) '開啟相機(jī) nextEND SUB
''''''''采集圖像'''''''HMI界面按下采集圖像按鈕時(shí)執(zhí)行的子函數(shù)GLOBAL SUB btn_read_img() local lv_i if gv_readimgmod=1 THEN '循環(huán)圖片索引 if(gv_index=11) then gv_index=0 endif File_Name="相機(jī)采集/" + TOSTR(gv_index,1,0) + ".bmp" '確定圖片所在的路徑 ZV_READIMAGE(Image,File_Name,0) '讀取本地圖片 ZV_LATCH(Image, 0) '將圖像顯示到鎖存通道編號為0的鎖存區(qū)域 gv_index=gv_index+1 RETURN endif if cam_num = 0 then ?"請先掃描相機(jī)!" return endif for lv_i=0 to cam_num-1 CAM_SEL(lv_i) CAM_SETPARAM("TriggerSoftware", 0) '發(fā)送觸發(fā)指令 CAM_GET(Image, 0) '獲取一幀圖像存放到grabImg變量中 ZV_LATCH(Image, lv_i) '將圖像顯示到鎖存通道0中 nextEND SUB
''''''''連續(xù)采集''''''''''''''''HMI界面按下連續(xù)采集按鈕響應(yīng)的函數(shù)GLOBAL SUB btn_cgrab() if grab_switch =1 then '如果已經(jīng)處于連續(xù)執(zhí)行狀態(tài),打印提示信息并退出函數(shù) ?"正在連續(xù)運(yùn)行中,請勿重復(fù)操作!" return endif if( gv_readimgmod =0) then if cam_num = 0 then '如果相機(jī)數(shù)量=0,打印提示信息并退出函數(shù) ?"請先掃描相機(jī)!" return endif endif grab_switch = 1 '采集任務(wù)開關(guān)置1 if (1 = grab_switch) then if (0 = PROC_STATUS(gc_grabtask_id)) then RUNTASK gc_grabtask_id, grab_task() '開啟連續(xù)采集任務(wù) endif endif END SUB
'''''''連續(xù)采集任務(wù)''''''''''''''
'采集任務(wù)實(shí)現(xiàn)函數(shù)GLOBAL sub grab_task() while(1) if (0 = grab_switch) then '如果采集任務(wù)開關(guān)=0即停止采集按鈕按下時(shí) exit while '退出循環(huán) endif '重復(fù)執(zhí)行以下操作 btn_read_img() delay(20) wendENDSUB
'''''停止任務(wù)'''''''''''''''''''HMI界面按下停止采集按鈕響應(yīng)的函數(shù)GLOBAL SUB btn_stopCgrab() if grab_switch =0 then '如果已經(jīng)處于停止采集狀態(tài),打印提示信息并退出函數(shù) ?"未開啟連續(xù)采集!" return endif grab_switch = 0 '將采集任務(wù)開關(guān)置0END SUB
4.效果演示。
完整代碼獲取地址
▼
本次,正運(yùn)動(dòng)技術(shù)【機(jī)器視覺運(yùn)動(dòng)控制一體機(jī)小課堂】三分鐘實(shí)現(xiàn)相機(jī)的相關(guān)采集操作,就分享到這里。
更多精彩內(nèi)容請關(guān)注“正運(yùn)動(dòng)小助手”公眾號,需要相關(guān)開發(fā)環(huán)境與例程代碼,請咨詢正運(yùn)動(dòng)技術(shù)銷售工程師:400-089-8936。
本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。
中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20