中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

機器視覺運動控制一體機應用例程(六)液位檢測

發布日期:2022-04-25 點擊率:72

  • 關鍵詞:正運動技術,機器視覺,運動控制一體機


  • 摘要:順應現代生活的不斷發展,瓶裝液體成為人們日常生活中不可或缺的消費品。它的包裝中產品凈含量是否達標是檢測產品質量的一個重要指標,對于同一規格的包裝瓶中,其液位高度直接反映了瓶中液體的凈含量。



image.png


順應現代生活的不斷發展,瓶裝液體成為人們日常生活中不可或缺的消費品。它的包裝中產品凈含量是否達標是檢測產品質量的一個重要指標,對于同一規格的包裝瓶中,其液位高度直接反映了瓶中液體的凈含量。


在傳統的瓶裝液體灌裝工序中,其灌裝后的液位高度檢測通常采用的是人眼去目測液位高度,生產效率低下,且會產生較大誤差。隨著生產的規模的不斷擴大,因此對瓶裝液體的液位高度全自動檢測的需求越來越大。


目前市面上已有光電傳感器檢測、超聲波檢測和機器視覺液位檢測等液位檢測方法,其中機器視覺液位檢測是一種非接觸式、無損的檢測方法。因此它具有效率高、檢測精度高、設備維護簡單等優點,被廣泛應用于液位檢測項目中。  


本次課程我們將與大家一起分享機器視覺運動控制一體機實現液位檢測的功能。


檢測原理


液位檢測:在機器視覺解決方案中,通常使用背向打光的方式將瓶內有液體的部分和沒有液體的部分加以區分,再計算出液體最高位與瓶底的距離即液位。檢測有顏色的液體通常使用普通背光源即可,如需檢測透明液體或瓶子上有字符或顏色干擾可使用穿透性較強的紅外背光。


視覺算法:使用兩個直線測量器獲得瓶底和液位的數據,再計算瓶底和液位的距離。使用形狀匹配結果作為直線測量器的補正源,使直線測量器跟隨產品移動。


image.png


軟件實現


(一)軟件實現


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


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


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

GLOBAL DIM d_meas_param1(12) 'd開頭表示數據結構


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

GLOBAL DIM d_meas_param2(12) 'd開頭表示數據結構


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

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)


'創建模板時保存的直線1基準區域位置向量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


'創建模板時保存的直線2基準區域位置向量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測量結果,依次為結果點stx、sty、endx、endy

GLOBAL DIM d_meas_rst1(4)


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

GLOBAL DIM d_meas_rst2(4)


''創建模板時保存的模板基準點,score、x、y、angle、scale

GLOBAL DIM d_match_base_rst(5)

global dim d_meas_param(12)


'定義ROI標志變量,0-液位ROI,1-瓶底ROI

GLOBAL DIM roi_flag

roi_flag=0


'定義形狀匹配模板

ZVOBJECT shape_model


'定義保存配模板標志,1-已保存,0未保存

GLOBAL DIM  is_saveMod

2.修改設計HMI界面。


image.png


3.新建主界面按下【液位設置】按鈕時彈出的液位參數設置窗口“Set_Select”,并設計界面布局。


image.png


4.關聯液位參數設置窗口“Set_Select”界面上的變量。


image.png


5.在“draw.bas”文件中添加“液位Roi”和“瓶底Roi”根據鼠標操作更新ROI位置的函數以及實時繪制Roi的函數,并在自定義元件中關聯刷新函數和繪制函數。


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

'測量器繪制 

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

'根據鼠標操作更新Roi的位置

GLOBAL SUB update_roi()

    if roi_flag=0 then '如果選擇設置液位ROI

       SET_REDRAW'全區域繪制

       if (mouse_scan(21) = 1 )then  '如果掃描到鼠標按下操作

            '根據鼠標所在Roi的不同位置返回調整標志

            hit_pos = ZV_HMIADJRECT2(table(21), table(22), 11, -1) 

            is_redraw = 1'繪圖標志置1

       endif


        if mouse_scan(21) = -1 then      '如果掃描到鼠標松開操作

        

        '如果鼠標指在Roi1區域之外

           if  TABLE(21)

              hit_pos=-1'調整標志=-1

           endif

          

          ZV_HMIADJRECT2(table(21), table(22), 11, hit_pos)'調整Roi1位置

           

          is_redraw = 1

        endif

      

        if (MOUSE_state(21)) then'如果鼠標按下時

            ZV_HMIADJRECT2(table(21), table(22), 11, hit_pos)'調整Roi1位置

            is_redraw = 1'繪圖標志置1

        endif

      

       if (1 = is_redraw ) then'如果繪圖標志為1時

            is_redraw = 0'繪圖標志置0

            '將控件坐標轉換到圖像坐標,并賦值給相應變量

            ZV_POSTOIMG(0, 1, 11, 31)

            d_meas_param1(0) = TABLE(31)

            d_meas_param1(1) = TABLE(32)

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

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

            d_meas_param1(4) = TABLE(15)

            

            set_base_roi()'設置基準Roi數據

            SET_REDRAW'全區域繪制

       endif

       

    else '否則選擇設置瓶底ROI

         SET_REDRAW'全區域繪制

         if (mouse_scan(21) = 1 )then  '如果掃描到鼠標按下操作

              '根據鼠標所在Roi的不同位置返回調整標志

              hit_pos = ZV_HMIADJRECT2(table(21), table(22), 41, -1) 

              is_redraw = 1'繪圖標志置1

         endif


         if mouse_scan(21) = -1 then      '如果掃描到鼠標松開操作

          

            '如果鼠標指在Roi2區域之外

            if  TABLE(21)

                hit_pos=-1'調整標志=-1

            endif

            

            ZV_HMIADJRECT2(table(21), table(22), 41, hit_pos)'調整Roi2位置

             

            is_redraw = 1

         endif

        

         if (MOUSE_state(21)) then'如果鼠標按下時

              ZV_HMIADJRECT2(table(21), table(22), 41, hit_pos)'調整Roi2位置

              is_redraw = 1'繪圖標志置1

         endif

        

         if (1 = is_redraw ) then'如果繪圖標志為1時

              is_redraw = 0'繪圖標志置0

              '將控件坐標轉換到圖像坐標,并賦值給相應變量

              ZV_POSTOIMG(0, 1, 41, 91)

              d_meas_param2(0) = TABLE(91)

              d_meas_param2(1) = TABLE(92)

              d_meas_param2(2) = ZV_LENTOIMG(0, TABLE(43))

              d_meas_param2(3) = ZV_LENTOIMG(0, TABLE(44))

              d_meas_param2(4) = TABLE(45)

              

              set_base_roi()'設置基準Roi數據

              SET_REDRAW'全區域繪制

         endif

    endif    

END SUB

image.png


6.在“main.bas”文件中添加“Set_Select”窗口界面按下【測試】按鈕時響應的函數并關聯動作函數名。


'液位設置界面按下測試按鈕時響應的函數

GLOBAL SUB btn_mea_test()

  

    '選擇補正源時先執行定位檢測

    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

  

    '測量區域roi補正

    if(TABLE(110) = 1 AND d_is_creModel = 1) then      '如果使用補正源已經開啟且模板已經創建

       

        '計算剛性變換矩陣

        ZV_GETRIGIDVECTOR(mat_rigid1,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基準向量進行補正,補正后的向量存入開始索引為0的TABLE中

        ZV_VECTORCORRECT(mat_rigid1, 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基準向量進行補正,補正后的向量存入開始索引為0的TABLE中

        ZV_VECTORCORRECT(mat_rigid1, 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  

    

    '生成直線1測量的旋轉區域

    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))   

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

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

    '生成直線2測量的旋轉區域

    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))

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

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

    

    '將矩形測量區域測量到的目標直線1端點存儲到起始索引為61的TABLE

    ZV_MRLINE(mr1, grabImg, rst1, 61)

    '將直線1結果賦值給直線1結果變量

    d_meas_rst1(0) = TABLE(61)

    d_meas_rst1(1) = TABLE(62)

    d_meas_rst1(2) = TABLE(63)

    d_meas_rst1(3) = TABLE(64)

    

    '將矩形測量區域測量到的目標直線2端點存儲到起始索引為71的TABLE

    ZV_MRLINE(mr2, grabImg, rst2, 71)

    '將直線1結果賦值給直線2結果變量

    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()

  

    '將灰度圖轉換成RGB圖像,用于繪制檢測結果圖像

    ZV_GRAYTORGB(grabImg, colorImg)

    

    '繪制液位檢測和瓶底檢測的測量器

    ZV_MEASURER(colorImg,mr1,ZV_COLOR(0,0,255),ZV_COLOR (0,255,0)) 

    ZV_MEASURER(colorImg,mr2,ZV_COLOR(0,0,255),ZV_COLOR (0,255,0))

     

    '繪制直線結果

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

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

    if(TABLE(110) = 1) then'如果使用補正源

        ZV_MARKER(colorImg,TABLE(4),TABLE(5),0,10,C_GREEN)'繪制匹配中心標志點

    endif

  

    ZV_LATCH(colorImg,0)'顯示結果圖像

  

END SUB

image.png


7.在“main.bas”文件中添加“Set_Select”窗口界面按下【返回主界面】按鈕時響應的函數并關聯動作函數名。


'按下返回主界面按鈕時響應的函數

GLOBAL SUB Goto_Main()


    '設置鎖存通道0的大小,以適應圖片元件大小

    ZV_LATCHSETSIZE(0, HMI_ConTROLSIZEX(10,2), HMI_ConTROLSIZEY(10,2)) 

    ZV_LATCHCLEAR(0)'清空鎖存通道0

    ZV_LATCH(grabImg,0)'將圖片顯示到鎖存通道0中

    HMI_CLOSEWINDOW(13)'關閉測量參數設置窗口

  

END SUB

image.png


8.在“main.bas”文件中修改主界面按下【單次執行】按鈕時響應的函數并關聯動作函數名。


'主界面按下單次執行按鈕時響應的函數

GLOBAL SUB btn_test()


   '采集一幀圖像

   btn_grab

   '執行測量測試部分代碼

   btn_mea_test()


END SUB


檢測原理


(一)操作步驟


查看運行效果:將項目下載到仿真器中→運行程序,測試程序運行效果。→使用本地圖片→單次采集→學習模板→液位設置→使用補正源→單次執行→結束


完整代碼獲取地址

image.png


本次,正運動技術機器視覺運動控制一體機應用例程(六)液位檢測,就分享到這里。


更多精彩內容請關注“正運動小助手”公眾號,需要相關開發環境與例程代碼,請咨詢正運動技術銷售工程師:400-089-8936。


本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。


關于正運動技術


正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業,主要產品有運動控制器、運動控制卡、視覺運動控制一體機、人機界面以及擴展模塊等。


正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。 



下一篇: PLC、DCS、FCS三大控

上一篇: ZMC運動控制器SCARA機

推薦產品

更多
中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

      9000px;">

          成人性生交大片免费看视频在线| 91美女片黄在线观看| 欧美videossexotv100| 成人av电影免费观看| 国产精品一级二级三级| 日本视频一区二区三区| 亚洲天天做日日做天天谢日日欢 | 亚洲一二三级电影| 国产午夜精品一区二区三区嫩草| 国产精品狼人久久影院观看方式| 精品国内二区三区| 97久久精品人人做人人爽| 欧美日韩国产综合一区二区 | 午夜精品福利一区二区蜜股av | 91精品在线麻豆| 欧美色综合网站| 国产在线精品一区二区| 国产成人自拍高清视频在线免费播放| 美女脱光内衣内裤视频久久影院| 99久久久精品免费观看国产蜜| 欧美日韩免费一区二区三区视频| 亚洲三级视频在线观看| 国产精品亚洲成人| 91精品国产手机| 久久众筹精品私拍模特| 最新热久久免费视频| 日产欧产美韩系列久久99| 成人黄色片在线观看| 在线成人午夜影院| 中文字幕一区av| 欧美一区二区黄| 国产精品中文字幕一区二区三区| 97久久精品人人做人人爽| 国产精品美女视频| 色噜噜狠狠色综合欧洲selulu| 久久精品国产亚洲高清剧情介绍 | av激情成人网| 亚洲综合激情小说| 国产日韩欧美一区二区三区乱码 | 欧美日韩国产一级片| 丝袜亚洲精品中文字幕一区| 综合色天天鬼久久鬼色| 国产精品欧美极品| 国产日韩成人精品| 国产精品毛片大码女人| 亚洲曰韩产成在线| 日韩激情在线观看| 五月婷婷激情综合网| 国产河南妇女毛片精品久久久| 91美女在线看| 欧美国产综合一区二区| 毛片av中文字幕一区二区| 在线免费不卡视频| 国产福利不卡视频| 国产精品久久久久久久久免费相片| 久久久精品欧美丰满| 欧美极品少妇xxxxⅹ高跟鞋 | 国产成人超碰人人澡人人澡| 成人国产精品视频| 欧美一区二区三区视频免费播放 | 国产精品亚洲人在线观看| 成人不卡免费av| 欧美亚洲一区三区| 久久久综合激的五月天| 亚洲男人的天堂在线观看| 蜜桃视频一区二区| 色综合视频在线观看| 久久嫩草精品久久久久| 亚洲摸摸操操av| 国产电影一区在线| 日韩午夜电影av| 五月激情综合婷婷| 91农村精品一区二区在线| 欧美电影免费观看完整版 | 91传媒视频在线播放| 国产欧美一区二区精品久导航| 亚洲高清免费在线| 色一情一乱一乱一91av| 综合久久一区二区三区| 成人av片在线观看| 国产欧美中文在线| 国产乱理伦片在线观看夜一区| 欧美人与禽zozo性伦| 亚洲欧美日韩国产成人精品影院 | 蓝色福利精品导航| 欧美一区二视频| 亚洲综合男人的天堂| 成人动漫一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 美女www一区二区| 欧美成人性战久久| 奇米影视在线99精品| 欧美一区二区视频网站| 日韩成人一区二区| 日韩女优av电影| 久久99国产精品尤物| 精品国产伦一区二区三区观看方式 | 亚洲色图在线视频| 成人av中文字幕| 中文字幕不卡三区| 色综合久久99| 日韩av电影天堂| xf在线a精品一区二区视频网站| 毛片基地黄久久久久久天堂| 国产欧美视频在线观看| 成人av电影免费观看| 亚洲成人免费视频| 欧美激情综合五月色丁香小说| 色婷婷综合久久| 国内成人精品2018免费看| 亚洲欧洲一区二区在线播放| 欧美亚洲禁片免费| 国产伦精品一区二区三区免费| 成人免费在线观看入口| 日韩精品一区二区三区视频播放| aaa欧美色吧激情视频| 日韩电影免费在线观看网站| 中文字幕一区二区三区蜜月 | 国产精品电影一区二区三区| 8v天堂国产在线一区二区| av一区二区久久| 国产黑丝在线一区二区三区| 日本成人在线看| 亚洲一区二区五区| 亚洲免费观看高清完整版在线观看 | 欧美tickling网站挠脚心| 91天堂素人约啪| 国产福利视频一区二区三区| 激情五月婷婷综合网| 六月婷婷色综合| 美腿丝袜亚洲综合| 男女男精品网站| 免费看欧美女人艹b| 日韩av电影免费观看高清完整版在线观看| 中文字幕佐山爱一区二区免费| 经典一区二区三区| 奇米在线7777在线精品| 蜜臀av性久久久久蜜臀aⅴ四虎 | 色噜噜偷拍精品综合在线| 97精品国产97久久久久久久久久久久| 国产精品18久久久久久vr| 国产成人av影院| 99精品视频在线播放观看| 91香蕉国产在线观看软件| 欧美日韩一区三区四区| 欧美日韩国产精选| 精品噜噜噜噜久久久久久久久试看| 欧美巨大另类极品videosbest| 日韩午夜激情视频| 国产精品麻豆99久久久久久| 亚洲影院在线观看| 久久99精品久久久久久国产越南| 国产精品99久久久久久宅男| 在线观看欧美黄色| 精品久久久久久久久久久久久久久| 欧美xxxxx裸体时装秀| 国产精品电影一区二区| 午夜国产精品一区| 成人网在线播放| 日韩一区二区免费在线观看| 国产精品视频线看| 日韩高清在线电影| 色综合久久99| 亚洲精选免费视频| 粉嫩绯色av一区二区在线观看| 欧美日产国产精品| 日韩毛片在线免费观看| 国产一区二三区| 欧美一区二区三区免费在线看| 亚洲私人黄色宅男| 成人午夜伦理影院| 国产肉丝袜一区二区| 毛片av中文字幕一区二区| 91久久线看在观草草青青 | 日韩欧美一级二级三级| 石原莉奈在线亚洲三区| 色88888久久久久久影院按摩 | 色av成人天堂桃色av| 国产精品视频观看| 亚洲综合激情另类小说区| 99久久夜色精品国产网站| 欧美激情一区二区三区全黄| 国产乱码精品1区2区3区| 久久色.com| gogo大胆日本视频一区| 中文字幕一区二区三区在线不卡| 婷婷一区二区三区| 欧美一区二区在线观看| 久久99精品久久久久婷婷| 欧美国产成人精品| 在线免费亚洲电影| 日本不卡视频在线| 久久久久久电影| 色噜噜狠狠成人中文综合| 日韩av一二三| 国产精品亲子伦对白| 色婷婷av一区| 国精产品一区一区三区mba桃花| 国产欧美一区二区在线| 欧美视频精品在线|