999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動 | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
VPLC系列機(jī)器視覺運(yùn)動控制一體機(jī)快速入門(五)尺寸測量
深圳市正運(yùn)動技術(shù)有限公司
收藏本文     查看收藏

  此前,我們依次講解了軟硬件介紹及計數(shù)實例、相機(jī)的基本使用、基于形狀匹配的視覺定位以及BLOB有無檢測等。

  今天,正運(yùn)動技術(shù)為大家分享一下VPLC系列機(jī)器視覺運(yùn)動控制一體機(jī)快速入門(五),和大家一起分享機(jī)器視覺常用的檢測功能---測量尺寸。

  機(jī)器視覺常用的檢測功能“測量尺寸”視頻教程: 視頻教程:VPLC系列機(jī)器視覺運(yùn)動控制一體機(jī)快速入門(五)》

  運(yùn)動控制

  測量尺寸:在機(jī)器視覺中常用的測量尺寸的原理就是使用兩個直線測量器,分別檢測出產(chǎn)品兩條尺寸邊緣的點擬合成直線后取兩條直線的距離。

  尺寸測量本質(zhì)是基于邊緣檢測的測量,它需要先檢測出亮暗過渡滿足一定閾值的邊緣點,然后再提取邊緣點數(shù)據(jù)進(jìn)行處理計算后輸出最終的結(jié)果。

 測量尺寸特點

  1.準(zhǔn)確度高

  選擇合適的硬件選型方案可以達(dá)到很高的檢測精度。常用遠(yuǎn)心鏡頭減少畸變,增大景深,減小測量誤差。

  2.圖像干擾少

  單純的測量尺寸項目常用背光的打光方式,突出產(chǎn)品邊緣尺寸,過濾表面干擾因素。

  3.實現(xiàn)簡單

  測量尺寸的算法是基于邊緣檢測的算法,易于實現(xiàn)。

  4.需要位置跟隨

  測量尺寸的測量器本身不具有定位功能,如果檢測產(chǎn)品位置不固定將無法確定測量器對應(yīng)的位置,此時需要依賴匹配等定位功能做位置跟隨。

   標(biāo)定

  標(biāo)定是指將機(jī)器視覺處理的像素結(jié)果(單位:像素)轉(zhuǎn)換成現(xiàn)實中使用到的實際結(jié)果(單位:毫米),或者是將機(jī)器視覺中使用的圖像坐標(biāo)轉(zhuǎn)換成世界坐標(biāo)。

  我們在實際測量尺寸時,使用的尺寸單位一般是國際標(biāo)準(zhǔn)單位如米,厘米,毫米等。因此機(jī)器視覺測量尺寸項目中需要將獲取到的像素尺寸轉(zhuǎn)換成實際尺寸(毫米)輸出到用戶端,供用戶直接使用。

 測量尺寸標(biāo)定方法

  1.測量標(biāo)定

  使用已知尺寸的標(biāo)準(zhǔn)模塊如圓、小方塊、或刻度尺等,在圖像中檢測到像素尺寸后將已知實際尺寸值除以像素值即可得出像素比例值(單位:mm/pixel)。測量尺寸項目中常用測量標(biāo)定方法。

 運(yùn)動控制

  2.坐標(biāo)標(biāo)定

  輸入幾組圖像坐標(biāo)(至少9組),然后再輸入圖像坐標(biāo)對應(yīng)的世界坐標(biāo),經(jīng)過公式計算得出矩陣變換系數(shù),即可實現(xiàn)將圖像坐標(biāo)轉(zhuǎn)換到實際坐標(biāo)。在測量精度要求比較高的測量尺寸項目可以考慮使用坐標(biāo)標(biāo)定,具體實現(xiàn)內(nèi)容我們在下一期課程再做詳細(xì)說明。

 運(yùn)動控制

  1.打開ZDevelop軟件:打開項目“基于形狀匹配的視覺定位”→在global_variable.bas文件中定義測量尺寸需要用到的全局變量。
       '----------------------------分割線-----------------------------------------

  '直線1測量參數(shù)數(shù)組,依次為中心cx、cy、w、h、angle、interp、sub_num、sub_width、filter_size、thresh、polor、select,都是圖像坐標(biāo)

  GLOBAL DIM d_meas_param1(12) 'd開頭表示數(shù)據(jù)結(jié)構(gòu)
 

  '直線2測量參數(shù)數(shù)組,依次為中心cx、cy、w、h、angle、interp、sub_num、sub_width、filter_size、thresh、polor、select,都是圖像坐標(biāo)

  GLOBAL DIM d_meas_param2(12) 'd開頭表示數(shù)據(jù)結(jié)構(gòu)
 

  '定義常用顏色變量,用于繪制圖形

  GLOBAL C_RED, C_GREEN, C_BLUE, C_YELLOW

  C_RED = RGB(255, 0, 0)

  C_GREEN = RGB( 0,255, 0)

  C_BLUE = RGB( 0, 0,255)

  C_YELLOW= RGB(255,255, 0)
 

  '創(chuàng)建模板時保存的直線1基準(zhǔn)區(qū)域位置向量1,x、y、angle

  GLOBAL DIM d_meas_base_v1(3)

  d_meas_base_v1(0) = 0

  d_meas_base_v1(1) = 0

  d_meas_base_v1(2) = 0
 

  ''創(chuàng)建模板時保存的直線2基準(zhǔn)區(qū)域位置向量2,x、y、angle

  GLOBAL DIM d_meas_base_v2(3)

  d_meas_base_v2(0) = 0

  d_meas_base_v2(1) = 0

  d_meas_base_v2(2) = 0
 

  '直線1測量結(jié)果,依次為結(jié)果點stx、sty、endx、endy

  GLOBAL DIM d_meas_rst1(4)
 

  '直線2測量結(jié)果,依次為結(jié)果點stx、sty、endx、endy

  GLOBAL DIM d_meas_rst2(4)
 

  '定義顯示在界面上的長度變量

  GLOBAL DIM d_show_rst
 

  ''創(chuàng)建模板時保存的模板基準(zhǔn)點,score、x、y、angle、scale

  GLOBAL DIM d_match_base_rst(5)

  global dim d_meas_param(12)
 

  '定義測量標(biāo)定時使用到的變量

  GLOBAL PixLength,WorldLength,CalibParam
 

  2.補(bǔ)充設(shè)計主界面。

 運(yùn)動控制

  3.新建主界面按下【測量設(shè)置】按鈕時彈出的測量參數(shù)設(shè)置窗口“Set_Select”,并設(shè)計界面布局。

 運(yùn)動控制

  4.在main.bas文件中添加主界面按下【測量設(shè)置】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

  '主界面按下測量設(shè)置按鈕時響應(yīng)的函數(shù)

  GLOBAL SUB Goto_Meas()
 

      HMI_SHOWWINDOW(13)

  END SUB

  ↓

 運(yùn)動控制

  5.在InitLocator.bas文件中初始化測量參數(shù)。

  '---------------------分割線------------------

  '初始化測量參數(shù)1

  d_meas_param1(0) = 320.0 'roi中心x

  d_meas_param1(1) = 240.0 'roi中心y

  d_meas_param1(2) = 160 'roi寬

  d_meas_param1(3) = 120.0 'roi高

  d_meas_param1(4) = 0.0 'roi角度

  d_meas_param1(5) = 1 '插值方式

  d_meas_param1(6) = 20 '子區(qū)域的個數(shù)

  d_meas_param1(7) = 5 '子區(qū)域的尺寸

  d_meas_param1(8) = 3 '濾波尺寸

  d_meas_param1(9) = 50 '閾值

  d_meas_param1(10) = 0 '極性

  d_meas_param1(11) = 0 '選擇邊緣位置
 

  '初始化測量參數(shù)2

  d_meas_param2(0) = 320.0 'roi中心x

  d_meas_param2(1) = 240.0 'roi中心y

  d_meas_param2(2) = 160 'roi寬

  d_meas_param2(3) = 120.0 'roi高

  d_meas_param2(4) = 0.0 'roi角度

  d_meas_param2(5) = 1 '插值方式

  d_meas_param2(6) = 20 '子區(qū)域的個數(shù)

  d_meas_param2(7) = 5 '子區(qū)域的尺寸

  d_meas_param2(8) = 3 '濾波尺寸

  d_meas_param2(9) = 50 '閾值

  d_meas_param2(10) = 0 '極性

  d_meas_param2(11) = 0 '選擇邊緣位置
 

  '初始化界面上顯示的結(jié)果值

  d_meas_rst1(0) = 0

  d_meas_rst1(1) = 0

  d_meas_rst1(2) = 0

  d_meas_rst1(3) = 0
 

  d_meas_rst2(0) = 0

  d_meas_rst2(1) = 0

  d_meas_rst2(2) = 0

  d_meas_rst2(3) = 0
 

  d_show_rst = 0
 

  '初始化標(biāo)定參數(shù)和像素比例

  CalibParam = 0

  WorldLength = 0

  PixLength = 0
 

  6.新建在“Set_Select”窗口界面按下【選擇測量器區(qū)域1】按鈕時彈出的“Set_Roi1”窗口,用于創(chuàng)建第一條尺寸邊緣的直線測量器并設(shè)置檢測直線的參數(shù)。

 運(yùn)動控制

 

  7.在draw.bas文件中添加在“Set_Select”窗口界面按下【選擇測量器區(qū)域1】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

  '-----------------分割線-------------------------

  '測量器繪制
 

  DIM is_redraw

  is_redraw = 0
 

  DIM set_roi_open_init

  set_roi_open_init = 0
 

  DIM sr_mpos_x, sr_mpos_y, hit_pos
 

  '''''''''''''''''''''''''''''''''''

  '按下選擇測量器區(qū)域1按鈕時響應(yīng)的函數(shù)

  GLOBAL SUB btn_sel_roi1()
 

     ZV_LATCHCLEAR(1) '清除鎖存

     ZV_LATCHSETSIZE(1, HMI_CONTROLSIZEX(14, 1), HMI_CONTROLSIZEY(14,1)) '設(shè)置鎖存的大小

     ZV_LATCH(grabImg, 1) '顯示圖像在鎖存上
 

     SET_COLOR(RGB(0,255,0))
 

     '圖像roi轉(zhuǎn)控件roi

     is_redraw = 0

     TABLE(11, d_meas_param1(0), d_meas_param1(1))

     ZV_POSFROMIMG(1, 1, 11, 11) '圖像坐標(biāo)轉(zhuǎn)換到HMI控件坐標(biāo)

     TABLE(13) = ZV_LENFROMIMG(1, d_meas_param1(2))

     TABLE(14) = ZV_LENFROMIMG(1, d_meas_param1(3))

     TABLE(15) = d_meas_param1(4)

     HMI_SHOWWINDOW(14)

  END SUB

   

 運(yùn)動控制

  8.在draw.bas文件中添加Roi1根據(jù)鼠標(biāo)操作更新ROI位置的函數(shù)以及實時繪制Roi1的函數(shù)。

  '根據(jù)鼠標(biāo)操作更新Roi1的位置

  GLOBAL SUB update_roi1()

      if mouse_scan(21) = 1 then '

  掃描按下操作

         hit_pos = ZV_HMIADJRECT2(table(21), table(22), 11, -1) '只有按下時可以改變擊中位置

         ?TABLE(21),TABLE(22)

         is_redraw = 1

         endif
 

         if mouse_scan(21) = -1 then '

  掃描松開操作

         if TABLE(21)<(table(11)-table(13) or="">(TABLE(11)+TABLE(13)/2) or TABLE(22)<(table(12)-table(14) or="">(TABLE(12)+TABLE(14)/2) then

             hit_pos=-1

         endif
 

         ZV_HMIADJRECT2(table(21), table(22), 11, hit_pos)
 

         ?*TABLE(11,4)

         is_redraw = 1

         endif
 

         if (MOUSE_state(21)) then

             ZV_HMIADJRECT2(table(21), table(22), 11, hit_pos)

             is_redraw = 1

         endif
 

         if (1 = is_redraw) then

             is_redraw = 0

             ZV_POSTOIMG(1, 1, 11, 31)

             d_meas_param1(0) = TABLE(31)

             d_meas_param1(1) = TABLE(32)

             d_meas_param1(2) = ZV_LENTOIMG(1, TABLE(13))

             d_meas_param1(3) = ZV_LENTOIMG(1, TABLE(14))

             d_meas_param1(4) = TABLE(15)
 

             '如果選擇了補(bǔ)正源,就保存roi基準(zhǔn)

             if(TABLE(110) = 1) then

                 set_base_roi()

             endif
 

             SET_REDRAW

         endif
 

  END SUB

  '設(shè)置測量區(qū)域的基準(zhǔn)roi

  GLoBAL SUB set_base_roi()

     d_meas_base_v1(0) = d_meas_param1(0)

     d_meas_base_v1(1) = d_meas_param1(1)

     d_meas_base_v1(2) = d_meas_param1(4)
 

     d_meas_base_v2(0) = d_meas_param2(0)

     d_meas_base_v2(1) = d_meas_param2(1)

     d_meas_base_v2(2) = d_meas_param2(4)
 

    END SUB
 

    '更新Roi1位置后實時繪制圖形

    GLOBAL SUB draw_roi1()

     SET_COLOR(C_BLUE)

     TABLE(16, d_meas_param1(6), d_meas_param1(7)) '設(shè)置子區(qū)域個數(shù)和寬度兩個參數(shù)

     ZV_HMIRECT2(11, 300)

     DRAWLINE(TABLE(300), TABLE(301), TABLE(302), TABLE(303)) '外矩形
 

     DRAWLINE(TABLE(302), TABLE(303), TABLE(304), TABLE(305))

     DRAWLINE(TABLE(304), TABLE(305), TABLE(306), TABLE(307))

     DRAWLINE(TABLE(306), TABLE(307), TABLE(300), TABLE(301))
 

     DRAWLINE(TABLE(308), TABLE(309), TABLE(310), TABLE(311)) '方向箭頭

     DRAWLINE(TABLE(312), TABLE(313), TABLE(310), TABLE(311))

     DRAWLINE(TABLE(314), TABLE(315), TABLE(310), TABLE(311))
 

     if (0 = TABLE(316)) then return
 

     SET_COLOR(C_GREEN)

     DIM idx

     for idx = 0 to TABLE(316)-1

         DRAWLINE(TABLE(317+idx*4), TABLE(318+idx*4), TABLE(319+idx*4), TABLE(320+idx*4))

     next
 

  END SUB
 

  9.在draw.bas文件中添加在“Set_Roi1”窗口界面按下【確定】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

  '設(shè)置Roi1窗口按下確定按鈕時響應(yīng)的函數(shù)

  GLOBAL SUB btn_meas_confirm1()
 

      HMI_CLOSEWINDOW(14)
 

  END SUB

  ↓

 運(yùn)動控制

 

  10.新建在“Set_Select”窗口界面按下【選擇測量器區(qū)域2】按鈕時彈出的“Set_Roi2”窗口,用于創(chuàng)建第二條尺寸邊緣的直線測量器并設(shè)置檢測直線的參數(shù)。

 運(yùn)動控制

 

  11.在draw.bas文件中添加在“Set_Select”窗口界面按下【選擇測量器區(qū)域2】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

  '按下選擇測量器區(qū)域2按鈕時響應(yīng)的函數(shù)

  GLOBAL SUB btn_sel_roi2()

     ZV_LATCHCLEAR(1) '清除鎖存

     ZV_LATCHSETSIZE(1, HMI_CONTROLSIZEX(15, 1), HMI_CONTROLSIZEY(15,1)) '設(shè)置鎖存的大小

     ZV_LATCH(grabImg, 1) '顯示圖像在鎖存上
 

     SET_COLOR(RGB(0,255,0))
 

     '圖像roi坐標(biāo)轉(zhuǎn)控件roi

     is_redraw = 0

     TABLE(11, d_meas_param2(0), d_meas_param2(1))

     ZV_POSFROMIMG(1, 1, 11, 11) '圖像坐標(biāo)轉(zhuǎn)換到HMI控件坐標(biāo)

     TABLE(13) = ZV_LENFROMIMG(1, d_meas_param2(2))

     TABLE(14) = ZV_LENFROMIMG(1, d_meas_param2(3))

     TABLE(15) = d_meas_param2(4)

     HMI_SHOWWINDOW(15)
 

  END SUB

  ↓

 運(yùn)動控制

 

  12.在draw.bas文件中添加Roi2根據(jù)鼠標(biāo)操作更新ROI位置的函數(shù)以及實時繪制Roi1的函數(shù)。

  '根據(jù)鼠標(biāo)操作更新Roi2的位置

  GLOBAL SUB update_roi2()

     if mouse_scan(21) = 1 then '掃描按下操作

         hit_pos = ZV_HMIADJRECT2(table(21), table(22), 11, -1) '只有按下時可以改變擊中位置

         is_redraw = 1

     endif

     if mouse_scan(21) = -1 then '掃描松開操作

         ZV_HMIADJRECT2(table(21), table(22), 11, hit_pos)

         is_redraw = 1

     endif

         if (MOUSE_state(21)) then

         ZV_HMIADJRECT2(table(21), table(22), 11, hit_pos)

         is_redraw = 1

     endif

     if (1 = is_redraw) then

         is_redraw = 0

         ZV_POSTOIMG(1, 1, 11, 31)

         d_meas_param2(0) = TABLE(31)

         d_meas_param2(1) = TABLE(32)

         d_meas_param2(2) = ZV_LENTOIMG(1, TABLE(13))

         d_meas_param2(3) = ZV_LENTOIMG(1, TABLE(14))

         d_meas_param2(4) = TABLE(15)

         '如果選擇補(bǔ)正源,就保存roi基準(zhǔn)位置

     if(TABLE(110) = 1) then

         set_base_roi()

     endif

         SET_REDRAW

     endif

  END SUB
 

  '更新Roi2位置后實時繪制圖形

  GLOBAL SUB draw_roi2()

     SET_COLOR(C_BLUE)

     TABLE(16, d_meas_param2(6), d_meas_param2(7)) '設(shè)置子區(qū)域個數(shù)和寬度兩個參數(shù)

     ZV_HMIRECT2(11, 300) '計算控件的矩形roi相應(yīng)的頂點和箭頭錨點

     DRAWLINE(TABLE(300), TABLE(301), TABLE(302), TABLE(303)) '外矩形

     DRAWLINE(TABLE(302), TABLE(303), TABLE(304), TABLE(305))

     DRAWLINE(TABLE(304), TABLE(305), TABLE(306), TABLE(307))

     DRAWLINE(TABLE(306), TABLE(307), TABLE(300), TABLE(301))
 

     DRAWLINE(TABLE(308), TABLE(309), TABLE(310), TABLE(311)) '方向箭頭

     DRAWLINE(TABLE(312), TABLE(313), TABLE(310), TABLE(311))

     DRAWLINE(TABLE(314), TABLE(315), TABLE(310), TABLE(311))
 

     if (0 = TABLE(316)) then return
 

     SET_COLOR(C_GREEN)

     DIM idx

     for idx = 0 to TABLE(316)-1

         DRAWLINE(TABLE(317+idx*4), TABLE(318+idx*4), TABLE(319+idx*4), TABLE(320+idx*4))

     next

  END SUB
 

  13.在draw.bas文件中添加在“Set_Roi2”窗口界面按下【確定】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

  '設(shè)置Roi2窗口按下確定按鈕時響應(yīng)的函數(shù)

  GLOBAL SUB btn_meas_confirm2()

      HMI_CLOSEWINDOW(15)
 

  END SUB

  ↓

 運(yùn)動控制

 

  14.新建meas.bas文件用于存放計算兩條直線的距離函數(shù)和標(biāo)定函數(shù)等測量相關(guān)函數(shù),并在文件中添加實現(xiàn)函數(shù)。

  '計算兩條直線的距離寬度

  global sub length1()
 

     LOCAL dist,dist1,dist2

     local dis_tmp,dst_tmp1
 

     '計算直線2的起始點到直線1之間的距離

     dist = ZV_DISTPL(d_meas_rst2(0),d_meas_rst2(1),d_meas_rst1(0),d_meas_rst1(1),d_meas_rst1(2),d_meas_rst1(3))
 

     '計算直線2的終點到直線1之間的距離

     dist1 = ZV_DISTPL(d_meas_rst2(2),d_meas_rst2(3),d_meas_rst1(0),d_meas_rst1(1),d_meas_rst1(2),d_meas_rst1(3))
 

     '計算直線2的中點位置坐標(biāo)

     dis_tmp=(d_meas_rst2(0)+d_meas_rst2(2))/2

     dst_tmp1=(d_meas_rst2(1)+d_meas_rst2(3))/2
 

     '計算直線2的中點到直線1之間的距離

     dist2 = ZV_DISTPL(dis_tmp,dst_tmp1,d_meas_rst1(0),d_meas_rst1(1),d_meas_rst1(2),d_meas_rst1(3))
 

     TABLE(500)=(dist+dist1+dist2)/3 '兩直線之間的距離

     PixLength=TABLE(500)

     ?TABLE(500)
 

  end sub
 

  '計算實際尺寸值

  global sub length2()
 

     '實際尺寸=像素尺寸*像素比例

     TABLE(501)=TABLE(500)*CalibParam
 

  end sub
 

  '計算像素比例,即實際值/像素值

  global sub calculation()
 

      CalibParam=WorldLength/TABLE(500)
 

  end sub
 

  15.在main.bas文件中添加“Set_Select”窗口界面按下【測試】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

  '測量設(shè)置界面按下測試按鈕時響應(yīng)的函數(shù)

  GLOBAL SUB btn_mea_test()

     '選擇補(bǔ)正源時先執(zhí)行定位檢測

     if(TABLE(110) = 1) then

         btn_loc_test()

     endif
 

     ZVOBJECT mr1,mr2,mr3,mr4,rst1,rst2,rst3,rst4,colorImg

     ZVOBJECT contlist, tsContlist, mat_rigid

     LOCAL show_rst
 

     '測量區(qū)域roi補(bǔ)正

     if(TABLE(110) = 1 AND d_is_creModel = 1) then '如果使用補(bǔ)正源已經(jīng)開啟且模板已經(jīng)創(chuàng)建
 

         '計算剛性變換矩陣

         ZV_GETRIGIDVECTOR(mat_rigid, d_match_base_rst(1), d_match_base_rst(2), d_match_base_rst(3), d_match_rst(1), d_match_rst(2), d_match_rst(3))
 

         '使用變換矩陣mat_rigid對輸入Roi1基準(zhǔn)向量進(jìn)行補(bǔ)正,補(bǔ)正后的向量存入開始索引為0的TABLE中

         ZV_VECTORCORRECT(mat_rigid, d_meas_base_v1(0), d_meas_base_v1(1),d_meas_base_v1(2), 0)

         d_meas_param1(0) = TABLE(0)

         d_meas_param1(1) = TABLE(1)

         d_meas_param1(4) = TABLE(2)
 

         '使用變換矩陣mat_rigid對輸入Roi2基準(zhǔn)向量進(jìn)行補(bǔ)正,補(bǔ)正后的向量存入開始索引為0的TABLE中

         ZV_VECTORCORRECT(mat_rigid, d_meas_base_v2(0), d_meas_base_v2(1),d_meas_base_v2(2), 0)

         d_meas_param2(0) = TABLE(0)

         d_meas_param2(1) = TABLE(1)

         d_meas_param2(4) = TABLE(2)

  endif
 

  '測量區(qū)域1

  '生成直線1測量的旋轉(zhuǎn)區(qū)域

  ZV_MRGENLINE(mr1, d_meas_param1(0), d_meas_param1(1), d_meas_param1(2), d_meas_param1(3), d_meas_param1(4), 1, d_meas_param1(6), d_meas_param1(7))

  '設(shè)置直線1的檢測參數(shù),包括濾波器尺寸,閾值,邊緣極性,邊緣位置

  ZV_MRSETADV(mr1, d_meas_param1(8), d_meas_param1(9), d_meas_param1(10), d_meas_param1(11))
 

  '測量區(qū)域2

  '生成直線2測量的旋轉(zhuǎn)區(qū)域

  ZV_MRGENLINE(mr2, d_meas_param2(0), d_meas_param2(1), d_meas_param2(2), d_meas_param2(3), d_meas_param2(4), 1, d_meas_param2(6), d_meas_param2(7))

  '設(shè)置直線2的檢測參數(shù),包括濾波器尺寸,閾值,邊緣極性,邊緣位置

  ZV_MRSETADV(mr2, d_meas_param2(8), d_meas_param2(9), d_meas_param2(10), d_meas_param2(11))
 

  '將矩形測量區(qū)域測量到的目標(biāo)直線1端點存儲到起始索引為61的TABLE

  ZV_MRLINE(mr1, grabImg, rst1, 61)

  d_meas_rst1(0) = TABLE(61)

  d_meas_rst1(1) = TABLE(62)

  d_meas_rst1(2) = TABLE(63)

  d_meas_rst1(3) = TABLE(64)
 

  '將矩形測量區(qū)域測量到的目標(biāo)直線2端點存儲到起始索引為71的TABLE

  ZV_MRLINE(mr2, grabImg, rst2, 71)

  ZV_MATINFO(rst2, 0) 'table(0)作為臨時變量

  d_meas_rst2(0) = TABLE(71)

  d_meas_rst2(1) = TABLE(72)

  d_meas_rst2(2) = TABLE(73)

  d_meas_rst2(3) = TABLE(74)
 

  '計算兩條直線的距離寬度

  length1()

  d_show_rst=TABLE(500)
 

  if(CalibParam>0) then

         '計算實際長度

         length2()

     d_show_rst=TABLE(501)

     endif
 

     '繪制結(jié)果線

     ZV_GRAYTORGB(grabImg, colorImg)

     ZV_LINE(colorImg, TABLE(61), TABLE(62), TABLE(63), TABLE(64), C_GREEN)

     ZV_LINE(colorImg, TABLE(65), TABLE(66), TABLE(67), TABLE(68), C_GREEN)

     ZV_LINE(colorImg, TABLE(71), TABLE(72), TABLE(73), TABLE(74), C_GREEN)

     ZV_LINE(colorImg, TABLE(75), TABLE(76), TABLE(77), TABLE(78), C_GREEN)
 

     ZV_LATCH(colorImg,0)
 

  END SUB

  ↓

 運(yùn)動控制

 

  在main.bas文件中添加“Set_Select”窗口界面按下【測試】按鈕時仿真的效果圖。

 運(yùn)動控制

  測試按鈕效果圖

  16.設(shè)置“Set_Select”窗口界面【計算】按鈕關(guān)聯(lián)動作函數(shù)名。

 運(yùn)動控制

  在“Set_Select”窗口界面按下【計算】按鈕時仿真的效果圖。

 運(yùn)動控制

  計算按鈕效果圖

  17.在“Set_Select”窗口界面中關(guān)聯(lián)界面控件變量。

 運(yùn)動控制

 

  18.在main.bas文件中添加“Set_Select”窗口界面按下【返回主界面】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

  '按下返回主界面按鈕時響應(yīng)的函數(shù)

  GLOBAL SUB Goto_Main()
 

      HMI_CLOSEWINDOW(13)
 

  END SUB

  ↓

 運(yùn)動控制

 

  19.在main.bas文件中修改主界面按下【單次執(zhí)行】按鈕時響應(yīng)的函數(shù)并關(guān)聯(lián)動作函數(shù)名。

  '主界面按下單次執(zhí)行按鈕時響應(yīng)的函數(shù)

  GLOBAL SUB btn_test()

     '采集一幀圖像

     btn_grab

     '執(zhí)行測量測試部分代碼

         btn_mea_test()
 

  END SUB

  ↓

 運(yùn)動控制

 

  在主界面按下【單次執(zhí)行】按鈕時仿真的效果圖。

 運(yùn)動控制

 

  20.在main.bas文件中修改主界面按下【連續(xù)執(zhí)行】按鈕時響應(yīng)的函數(shù)中執(zhí)行的任務(wù)函數(shù)內(nèi)容。

  main_task:

     while(1)

         if (0 = run_switch) then

             exit while

         endif
 

         '以下執(zhí)行相關(guān)定位操作

         btn_grab()

         btn_mea_test()

     wend
 

  END
 

  在主界面按下【連續(xù)執(zhí)行】按鈕時仿真仿真執(zhí)行的效果圖。

 運(yùn)動控制

  連續(xù)運(yùn)行效果圖1

 

 運(yùn)動控制

  連續(xù)運(yùn)行效果圖2

  在不同位置以不同角度放置時,均能檢測到對應(yīng)尺寸。

  本次,正運(yùn)動技術(shù)VPLC系列機(jī)器視覺運(yùn)動控制一體機(jī)快速入門(五)——尺寸測量就分享到這里,更多精彩內(nèi)容請關(guān)注“ 正運(yùn)動小助手”公眾號。

  本文由 正運(yùn)動技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運(yùn)動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。

  正運(yùn)動技術(shù)專注于運(yùn)動控制技術(shù)研究和通用運(yùn)動控制軟硬件產(chǎn)品的研發(fā),是國家級高新技術(shù)企業(yè)。正運(yùn)動技術(shù)匯集了來自華為、中興等公司的優(yōu)秀人才,在堅持自主創(chuàng)新的同時,積極聯(lián)合各大高校協(xié)同運(yùn)動控制基礎(chǔ)技術(shù)的研究,是國內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國內(nèi)少有、完整掌握運(yùn)動控制核心技術(shù)和實時工控軟件平臺技術(shù)的企業(yè)。主要業(yè)務(wù)有:運(yùn)動控制卡_運(yùn)動控制器_EtherCAT運(yùn)動控制卡_EtherCAT控制器_運(yùn)動控制系統(tǒng)_視覺控制器__運(yùn)動控制PLC_運(yùn)動控制_機(jī)器人控制器_視覺定位_XPCIe/XPCI系列運(yùn)動控制卡等等。
 


 

狀 態(tài): 離線

公司簡介
產(chǎn)品目錄

公司名稱: 深圳市正運(yùn)動技術(shù)有限公司
聯(lián) 系 人: 戴德弟
電  話: 0755-32976042
傳  真: 0755-2606 6955
地  址: 深圳市寶安區(qū)西鄉(xiāng)洲石路陽光工業(yè)園A1棟5樓
郵  編: 518100
主  頁:
 
該廠商相關(guān)技術(shù)文摘:
強(qiáng)實時運(yùn)動控制內(nèi)核MotionRT750(一):驅(qū)動安裝、內(nèi)核配置與使用
AI視覺外觀檢測在全自動測包機(jī)中的應(yīng)用
C#上位機(jī)與運(yùn)動控制卡網(wǎng)絡(luò)通訊的周期上報
DELTA機(jī)械手多物料視覺分揀的應(yīng)用
正運(yùn)動×Eplan再啟新篇 | 24款新品模型上線,打造電氣設(shè)計全鏈路閉環(huán)
激光振鏡運(yùn)動控制器在玻璃激光鉆孔上的應(yīng)用
EtherCAT運(yùn)動控制卡應(yīng)用開發(fā)教程之Java
賦能柔性制造:MotionRT750實時運(yùn)動控制內(nèi)核,提效不止10%!
AI視覺外觀檢測技術(shù)在NR功率電感質(zhì)量控制中的方案應(yīng)用
PCIe EtherCAT實時運(yùn)動控制卡PCIE464同步跟隨/皮帶跟隨加工應(yīng)用
機(jī)器視覺運(yùn)動控制一體機(jī)在背靠背點膠焊錫機(jī)上的應(yīng)用
PCIe EtherCAT實時運(yùn)動控制卡PCIE464點膠工藝中的同步/提前/延時開關(guān)膠
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊為中華工控網(wǎng)會員
請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved