日韩视频在线精品视频免费观看-日韩视频在线观看中字-日韩视频在线观看一区-日韩视频在线观看免费-日韩视频在线观看-日韩视频在线播放

產品分類

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

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

機器視覺運動控制一體機應用例程(三) 基于BLOB分析的多圓定位

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

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


  • 摘要:我們在《VPLC系列機器視覺運動控制一體機快速入門(三)》的推文中,講述了基于形狀匹配的視覺定位功能,而BLOB斑點分析也可以實現定位功能。


image.png


我們在《VPLC系列機器視覺運動控制一體機快速入門(三)》的推文中,講述了基于形狀匹配的視覺定位功能,而BLOB斑點分析也可以實現定位功能。


本期課程我們將在BLOB斑點分析定位的基礎上進行檢測圓形,輸出圓心的坐標數據。


一檢測原理


(一)BLOB斑點定位


BLOB斑點分析功能可以輸出BLOB區域的重心位置XY,BLOB斑點區域還可以擬合成特定形狀如外接矩形,輸出矩形的角度,從而實現定位的功能。


(二)BLOB分析的圓形檢測+示意圖


圓形測量器不具有定位功能,因此當檢測目標在視野的位置是隨機時,我們需要配合定位功能將測量器跟隨目標移動。本節程序示例將檢測到的BLOB重心XY數據作為圓形測量器的中心XY值,即可實現位置跟隨功能。


image.png


二軟件演示


(一)檢測要求


使用ZDevelop軟件的ZBASIC編程語言編寫程序,用于檢測以下路徑中圖片的圓環零件的圓心位置XY以及半徑。 


使用到的視覺功能:BLOB斑點分析+檢測圓形+九點標定。


image.png


(二)實例演示


1.打開ZDevelop軟件:新建項目→新建HMI文件→新建main.bas文件,用于編寫界面響應函數→新建global_variable.bas文件用于定義全局變量并開啟HMI自動運行任務→新建detectParam.bas文件,用于初始化測量參數→新建camera.bas文件用于實現相機采集功能→文件添加到項目。


image.png


2.設計HMI界面。


image.png


3.在global_variable.bas文件中添加全局變量。


'''''全局變量大部分使用數組結構'''''

''注:basic編程中很多函數會以TABLE(系統的數據結構)做為參數

''table        說明                 table            說明

''0  '    自動二值化閾值            11~12   鼠標操作時獲取的坐標

''2       亮區域的面積            20~24   圖像信息

''4       暗區域的面積            6       連通區域的數量   

''40~42  小圓斑點的面積和位置X,Y數據  81~98  標定圖像坐標xy       

''46~48  小圓圓心X,Y和半徑          131~148  標定世界坐標xy

''39     提取mark點成功標志          56~57  圓點矩陣行列數

''49~50  圓上的點坐標

'主任務狀態

'0 - 未初始化

'1 - 停止

'2 - 運行中

'3 - 正在停止

GLOBAL DIM main_task_state

main_task_state = 1


'采集開關

'0 - 停止采集

'1 - 請求采集

GLOBAL DIM grab_switch

grab_switch = 0


'相機個數

GLOBAL cam_num

cam_num = 0


'相機種類,"zmotion;mvision;basler;mindvision;huaray"

GLOBAL DIM CAMERA_TYPE(16)

CAMERA_TYPE = "mvision"


' 定義主任務id - 10

GLOBAL DIM main_task_id

main_task_id = 10


'定義連續采集任務id - 9

GLOBAL DIM grab_task_id

grab_task_id = 9


'定義全局圖像變量

GLOBAL ZVOBJECT grabImg '采集圖像

GLOBAL ZVOBJECT binImg '二值化圖像

GLOBAL ZVOBJECT disImg '顯示圖像


'定義常用顏色變量

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)


'檢測參數:閾值模式(自動閾值或手動閾值)、低閾值、高閾值、最小面積、最大面積

GLOBAL DIM d_detect_param(5) 'd開頭表示數據結構


'開/閉運算參數

GLOBal DIM d_deal_value(2)


'檢測消耗時間

GLOBal DIM d_detect_time


'小圓的位置x/y結果

GLOBal DIM d_circle_rst(18)


'顯示打印的字符

GLOBAL ShowString(64)


'***********定義坐標標定相關變量*********************

'是否標定

GLOBAL DIM is_ca_success


'定義標定成功標志,0-標定未成功,1-標定成功

GLOBAL DIM d_calib_success

d_calib_success = 0


'定義標定系數即矩陣轉換系數

GLOBAL ZVOBJECT ca_param


'定義標定參數數組,依次為:標定類型、對比度、極性、最小面積、最大面積、世界坐標點間距

GLOBAL DIM d_ca_param(6) 'd開頭表示數據結構


'定義是否使用標定功能

GLOBAL DIM d_use_calib

d_use_calib=0


'定義標定誤差,依次為最小誤差、最大誤差、平均誤差

GLOBAL DIM ca_min_err,ca_max_err,ca_avg_err

ca_min_err = 0

ca_max_err = 0

ca_avg_err = 0


'***********定義讀取本地文件功能相關變量**************

''注意,該功能只在使用仿真器時有效

'定義是否使用本地圖片標志

GLOBAL DIM d_use_imgfile


'定義本地圖片索引

GLOBAL DIM d_index


'定義讀取圖片的路徑

GLOBAL DIM File_Name(100)   


'***********結束定義讀取本地文件功能相關變量**********


'運行HMI文件

RUN "Hmi.hmi",1

4.關聯HMI界面控件變量。


image.png


5.在detectParam.bas文件中初始化測量參數。


end


GLOBAL SUB init_detect_param()    '初始化測量參數

  

    d_deal_value(0)=1          '初始化開/閉運算參數

    d_deal_value(1)=1

    

    '初始化檢測參數:閾值模式(自動閾值 = 1 或 手動閾值 = 0)、低閾值、高閾值、極性(黑或白)、最大、最小、反向(即結果取反,成功變成失敗、失敗變成成功)

    d_detect_param(0) = 0      '手動閾值

    d_detect_param(1) = 140    '低閾值

    d_detect_param(2) = 255     '高閾值

    d_detect_param(3) = 11000    '最小面積即像素個數

    d_detect_param(4) = 12000    '最大面積

  

    d_use_imgfile = 1           '默認使用本地圖片

    d_index      = 0

    

    TABLE(6)=0   '將小圓數量初始化為0

    for i=0 to 17

        d_circle_rst(i)=0

    next

    '初始化坐標標定相關的變量

    d_ca_param(0) = 0    '標定類型

    d_ca_param(1) = 120    '對比度

    d_ca_param(2) = 0    '極性

    d_ca_param(3) = 80    '最小面積

    d_ca_param(4) = 20000  '最大面積

    d_ca_param(5) = 9       '世界坐標點間距

    ca_min_err = 0      '最小誤差

    ca_max_err = 0      '最大誤差

    ca_avg_err = 0      '平均誤差

    

    for i=0 to 17           '初始化圓點矩陣像素坐標    

        TABLE(81+i)=0

    next

    

    for i=0 to 17           '初始化圓點矩陣世界坐標    

        TABLE(131+i)=0

    next

    TABLE(39)=0             '提取mark點狀態默認為失敗 

    

END SUB

6.在main.bas文件中添加界面初始化函數,并在hmi系統設置中關聯初始化函數名。


end


'注:

'凡是要使用Region有關的算子在系統初始化時都要調用ZV_RESETCLIPSIZE(width, height)這個算子設置下圖像尺寸,以滿足相機分辨率,因為默認的是640*480尺寸


'HMI界面初始化函數

GLOBAL SUB hmi_init()

    grab_switch = 0              '停止采集

    main_task_state = 1          '主任務停止運行

    ZV_RESETCLIPSIZE(1280, 960) '依據圖像分辨率設置區域的裁剪尺寸,此處圖像分辨率為1280x960

    ZV_LATCHSETSIZE(0, HMI_ConTROLSIZEX(10, 7), HMI_ConTROLSIZEY(10, 7)) '設置鎖存的大小

    init_detect_param()        '初始化測量參數

    ZV_SETSYSDBL("CamGetTimeout", 1000) '設置采集超時

    ZV_SETSYSINT("LineWidth",6)

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

    

END SUB

image.png


7.在camera.bas文件中添加HMI運行界面中采集相關按鈕響應的函數并關聯動作函數。


圖片


相機操作相關按鈕


end


'主界面按下掃描相機按鈕時響應的函數

GLOBAL SUB cam_scan_all()


    if(d_use_imgfile=1)then 

        ?"請先按下使用本地圖片按鈕關閉該功能"

    return 

    endif 

  

    ZV_SETSYSINT("LogLevel", 7)     '設置控制器信息

    ZV_SETSYSSTR("DataDir","")

      

    CAM_SCAN(CAMERA_TYPE)           '掃描相機,CAMERA_TYPE="mvision"

    cam_num = CAM_COUNT()           '獲取掃描到的相機數量

    if (0 = cam_num) then           '如果相機數量=0,打印提示信息

         ? "未找到相機" 

        

    return                       '退出子函數,不往下執行

    endif

    ?"cam_num = " cam_num            '如果掃描到相機,打印相機數量

  

    CAM_SEL(0)                       '選擇掃描到的第一個相機進行操作

    CAM_SETEXPOSURE(5000)           '設置相機曝光時間為5000us      

    CAM_SETMODE(0)                   '設置軟件觸發模式

    CAM_START(0)                     '開啟相機  

  

END SUB


'主界面按下單次采集按鈕執行的函數

GLOBAL SUB btn_grab()


    ''如果d_use_imgfile=1時使用讀取本地圖片功能,該功能只在使用仿真器時有效,使用控制器時請將此部分代碼注釋掉

    if (d_use_imgfile=1) then 

        if(d_index=3) then 

             d_index=0

        endif

        File_Name="圓定位"+TOSTR(d_index,1,0)+".bmp"   '.../flash/圓定位/目錄下的圖片所在的路徑名稱

        ZV_IMGREAD(grabImg,File_Name,0)

        ZV_LATCH(grabImg, 0) 

        d_index=d_index+1

    return   

    endif

    ''讀取本地圖片功能結束

  

    if cam_num = 0   then 

        ?"請先掃描相機!"

    return 

    endif

  

    CAM_SETPARAM("TriggerSoftware", 0)  '發送觸發指令

    CAM_GET(grabImg, 0)                 '獲取一幀圖像存放到grabImg變量中

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

    

END SUB


'主界面按下連續采集按鈕響應的函數

GLOBAL SUB btn_cgrab()

    if grab_switch =1 then                 '如果已經處于連續執行狀態,打印提示信息并退出函數

       ?"正在連續運行中,請勿重復操作!"

     return 

    endif

  

    if( d_use_imgfile =0) then 

        if cam_num = 0   then                  '如果相機數量=0,打印提示信息并退出函數        

             ?"請先掃描相機!"

        return 

        endif

    endif

  

    grab_switch = 1                         '采集任務開關置1

       if (1 = grab_switch) then

            if (0 = PROC_STATUS(grab_task_id)) then

                 RUNTASK  grab_task_id, grab_task    '開啟連續采集任務

            endif

       endif

  

END SUB


'采集任務實現函數

grab_task:

    while(1)

        if (0 = grab_switch) then        '如果采集任務開關=0即停止采集按鈕按下時

            exit while                   '退出循環

        endif

          

        '重復執行以下操作

        btn_grab()

    wend

END


'主界面按下停止采集按鈕響應的函數

GLOBAL SUB btn_stopCgrab()

    if grab_switch =0 then               '如果已經處于停止采集狀態,打印提示信息并退出函數

       ?"未開啟連續采集!"

    return 

    endif

  

    grab_switch = 0                       '將采集任務開關置0

    

END SUB

8.點擊“元件”→“新建窗口”,新建標定界面窗口,并將《VPLC系列機器視覺運動控制一體機快速入門(六)》中的標定程序的界面拷貝到新建的窗口界面。


image.png


9.在main.bas文件中添加運行界面按下【標定】按鈕時的響應函數,以及標定窗口界面按下【提取mark點】按鈕、【標定】按鈕以及【返回】按鈕時響應的函數,可參考《VPLC系列機器視覺運動控制一體機快速入門(六)》中的標定程序。


'點擊運行界面按下標定按鈕時響應的函數

GLOBAL SUB btn_calib()

    '設置坐標標定窗口鎖存通道0的鎖存大小

    ZV_LATCHSETSIZE(0, HMI_ConTROLSIZEX(11, 91), HMI_ConTROLSIZEY(11, 91)) 

    if (d_use_imgfile=1) then   '如果使用本地圖片功能

    ZV_IMGREAD(grabImg,"圓定位calib.bmp",0)  '加載標定圖片

    endif

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

    ZV_LATCH(grabImg, 0)       '顯示采集圖像顯示到鎖存通道0中

    HMI_SHOWWINDOW(11)         '彈出窗口號為11的坐標標定窗口界面

   

END SUB


'坐標標定界面按下提取mark點按鈕時響應的函數

GLOBAL SUB btn_ca_extract()

    for i=0 to 17           '初始化圓點矩陣像素坐標    

       TABLE(81+i)=0

    next

  

    for i=0 to 17           '初始化圓點矩陣世界坐標    

       TABLE(131+i)=0

    next

    TABLE(39)=0             '提取mark點狀態默認為失敗

    ZVOBJECT inppts, ppts, wpts

    

    '根據提取像素參數提取像素坐標,存放到inppts矩陣中

    ZV_CALGETSCAPTS(grabImg, inppts, d_ca_param(1), d_ca_param(2), d_ca_param(3), d_ca_param(4))

    '獲取矩陣inppts中的數據信息,存放到table(56)中

    ZV_MATINFO (inppts, 56)

    

    DIM row,col

    row = TABLE(56)   '矩陣行數賦值給row變量

    col = TABLE(57)   '矩陣列數賦值給col變量

    if(row * col = 18) then '如果獲取到9個圓點的圓心位置坐標x,y   

        TABLE(39) = 1 '窗口界面提示提取mark點成功

    else

        TABLE(39) = 0 '窗口界面提示提取mark點失敗

    return         '返回子函數,不往下執行

    endif

    

    '根據mrak點間距和像素坐標計算世界坐標,存放到wpts矩陣

    ZV_CALGETPTSMAP(inppts,ppts,wpts,d_ca_param(5))

    '獲取矩陣ppts中的數據信息,存放到table(56)中

    ZV_MATINFO (ppts, 56)

    

    row = TABLE(56)  '矩陣行數賦值給row變量

    col = TABLE(57)  '矩陣列數賦值給col變量

    if(row * col = 18) then'如果獲取到9個圓點的圓心位置坐標x,y 

        TABLE(39) = 1 '窗口界面提示提取mark點成功

    else

      TABLE(39) = 0 '窗口界面提示提取mark點失敗

    return         '返回子函數,不往下執行

    endif

     

    '像素坐標和世界坐標放入table中

    DIM i

    FOR i=0 TO row-1

        ZV_MATGETROW (ppts, i, col, 81 + i*col)'將像素坐標存放到table81~table98中

        ZV_MATGETROW (wpts, i, col, 131 + i*col)'將世界坐標存放到table131~table148中

    NEXT

    

    '將灰度圖轉成RGB圖像,作為結果圖像

    ZVOBJECT color

    ZV_GRAYTORGB(grabImg, color)

    

    '繪制mark點的十字架

    DIM j, pixNum 

    pixNum = 0

    FOR i=0 TO 2

        FOR j=0 TO 2

            '繪制mark標記點

          ZV_MARKER(color, TABLE(81 + 2 * pixNum), TABLE(81 + 2 * pixNum + 1), 0, 40, C_GREEN)

          pixNum = pixNum + 1

        NEXT

    NEXT

    

    '用文本繪制mark點的序號,顯示在圖像界面中

    FOR i=0 TO 8

        ZV_TEXT (color, TOSTR(i,1,0), TABLE(81+2*i)-20, TABLE(81+2*i +1)-40, 80, C_RED)

    NEXT

  

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

  

END SUB


'坐標標定界面按下標定按鈕時響應的函數

GLOBAL SUB btn_ca_calib()

    ZV_IMGINFO(grabImg,0)  '獲取采集圖像信息

    '根據像素坐標數據組和世界坐標數據組執行標定,獲得標定系數ca_param

    ZV_CALCAM(ppts,wpts,ca_param,TABLE(0),TABLE(1),d_ca_param(0))

    is_ca_success=1 '標定成功標志置1

    

    ZV_CALERROR(ca_param, ppts, wpts, 0)'計算標定誤差,并將結果存放在起始地址為0的數組中

    ca_min_err = TABLE(1) '將誤差結果賦值給變量,用于在界面中實時顯示誤差結果

    ca_max_err = TABLE(2)

    ca_avg_err = TABLE(0)

  

END SUB


'坐標標定界面按下返回按鈕時響應的函數

GLOBAL SUB btn_ca_param_rtn()

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

    ZV_LATCHSETSIZE(0, HMI_ConTROLSIZEX(10, 7), HMI_ConTROLSIZEY(10, 7)) '設置鎖存的大小

    btn_grab()

    HMI_CLOSEWINDOW(11)   '關閉窗口號為13的坐標標定窗口界面

  

END SUB

10.在main.bas文件中添加HMI運行界面按下測試按鈕響應的函數,并關聯動作函數名。


'HMI界面按下測試按鈕時響應的函數

GLOBAL SUB btn_test()

    TABLE(6)=0   '檢測前先將結果數據清0

    d_detect_time=0

    for i=0 to 17

        d_circle_rst(i)=0

    next

  

    TICKS=0

    '定義變量,依次為白色像素連通區域,掩模區域,黑色像素連通區域,連通區域結果列表,小圓斑點區域,圓測量器,中間結果變量

    ZVOBJECT regionWhite, regionMask, regionBlack,re_connecte,circle_connect,mr,tmp

    

     '生成全圖像區域

    ZV_REGENFULLIMG(grabImg,regionMask)

  

    '二值化處理

    if d_detect_param(0) = 0 then    '如果選擇手動閾值模式

          '根據低閾值和高閾值參數生成白色像素圖像regionWhite

        ZV_RETHRESH(grabImg, regionMask, regionWhite, d_detect_param(1), d_detect_param(2))

        '對白色像素區域進行一次1*1的開運算

        ZV_REOPENING(regionWhite,regionWhite,d_deal_value(0),d_deal_value(0))

        '對白色像素區域進行一次1*1的閉運算

        ZV_RECLOSING(regionWhite,regionWhite,d_deal_value(1),d_deal_value(1))

    

    else                             '如果選擇自動閾值模式

    

        Dim autoThresh               '定義自動閾值模式下的二值化閾值

        '在grabImg圖像中的指定區域內對圖像進行自動二值化處理,輸出二值化區域regionWhite 

        ZV_REAUTOTHRESH(grabImg, regionMask, regionWhite, 0)

        '對白色像素區域進行一次1*1的開運算

        ZV_REOPENING(regionWhite,regionWhite,d_deal_value(0),d_deal_value(0))

        '對白色像素區域進行一次1*1的閉運算

        ZV_RECLOSING(regionWhite,regionWhite,d_deal_value(1),d_deal_value(1))

        autoThresh = TABLE(0)

        ? "autoThresh = " autoThresh  '打印提示信息,當前二值化閾值

      

    endif

    

    '計算BLOB面積

    

    ZV_REAREA(regionWhite, 2)              '計算regionWhite亮區域的面積,存放到table(2)中

      

    if(TABLE(2)>0) then '如果獲取到的白色像素數量大于0                 

         ZV_REConNECT(regionWhite,re_connecte)     '計算區域的連通區域,存放到re_connecte列表中

         zv_refilter(re_connecte,0,d_detect_param(3),d_detect_param(4),0)'對區域列表中的區域進行過濾,保留面積在 d_detect_param(3) 到 d_detect_param(4) 的區域,面積不在此范圍的區域將被過濾掉

         zv_refilter(re_connecte,20,0.8,1.3,0)'對區域列表中的區域進行過濾,保留最小外接矩形高寬比在0.9 到 1.1 的區域,面積不在此范圍的區域將被過濾掉

         ZV_RESORT(re_connecte,1,1)          '對區域列表中的區域按照重心X的數據進行升序排序

         ZV_LISTCOUNT(re_connecte,6)     '獲取列表中的連通區域的數量,存放到table(6)中 

    endif  

    

    '繪制效果圖

    Dim width, height

    ZV_IMGINFO (grabImg, 20)'獲取grabImg的圖像信息

    width = TABLE(20)

    height = TABLE(21)

    

    ZV_GRAYTORGB(grabImg,disImg)'將灰度圖轉換到RGB圖像,用于繪制檢測結果圖像

    

    ZV_REGION(disImg, regionMask, 0, ZV_COLOR(0,0,0))      '在disImg中繪制黑色的regionMask區域

    ZV_REGION(disImg, regionWhite, 0, ZV_COLOR(255,255,255))'在disImg中繪制白色的regionWhite區域

    

    for i=0 to TABLE(6)-1     '循環獲取小圓斑點的位置XY信息生成圓測量器,檢測圓心位置

          ZV_LISTGET(re_connecte,circle_connect,i)   '獲取列表中序號為i的元素,即依次獲取列表中小圓斑點的連通區域

          ZV_REAREACENTER(circle_connect,40)  '計算斑點區域的面積與中心位置,將位置放入TABLE(40)中

            ZV_MRGENCIRCLE(mr,TABLE(41),TABLE(42),70,50,0,360,1,10,8) '生成圓測量區域

            '設置測量參數,包括濾波尺寸、邊緣閾值、邊緣極性和邊緣位置

          ZV_MRSETADV(mr,5, 50, 1,0)

          

          TABLE( 46, 0, 0, 0)'初始化結果數組

          '測量圓,并將結果賦值給起始地址為46的數組

          ZV_MRCIRCLE(mr, grabImg, tmp, 46)

           

          ZV_CIRCLE(disImg,TABLE(46),TABLE(47),TABLE(48),zv_color(0,255,0))'繪制小圓結果

          ShowString=TOSTR(i,1,0)   '將BLOB的數量轉換成字符串變量

          ZV_TEXT(disImg,ShowString,TABLE(46),TABLE(47),55,ZV_COLOR(0,0,255)) '顯示結果文本  

          ZV_MARKER(disImg,TABLE(46),TABLE(47),0,50,zv_color(0,255,0))   '在圖像img中繪制十字

          

          if is_ca_success=1 AND d_use_calib=1 then 

              ZV_CALTRANSW(ca_param, TABLE(46)+TABLE(48),TABLE(47),49) '圓心加半徑的坐標

              ZV_CALTRANSW(ca_param, TABLE(46),TABLE(47),46) '使用標定系數將圖像坐標轉換成世界坐標

              d_circle_rst(i*3+0)=TABLE(46)'將測量圓的結果賦值給圓心變量,顯示到界面中

              d_circle_rst(i*3+1)=TABLE(47)

              d_circle_rst(i*3+2)=ZV_DISTPP(TABLE(46),TABLE(47),TABLE(49),TABLE(50))

          else 

              d_circle_rst(i*3+0)=TABLE(46)'將測量圓的結果賦值給圓心變量,顯示到界面中

              d_circle_rst(i*3+1)=TABLE(47)

              d_circle_rst(i*3+2)=TABLE(48)

     endif      

     next

     ZV_LATCH(disImg, 0)     '在鎖存通道0中顯示結果圖像

     d_detect_time=ABS(TICKS)'計算檢測消耗時間

    

END SUB

image.png


11.在main.bas文件中添加HMI運行界面按下運行按鈕響應的函數,并關聯動作函數名。


'HMI界面按下運行按鈕時響應的函數

GLOBAL SUB btn_run()

    if(2 = main_task_state) then           '如果主任務處于運行狀態,打印提示信息并退出函數

     ?"已經開啟連續運行任務,請勿重復操作!"

    return 

    endif

   

    if (1 = main_task_state) then          '如果主任務處于停止狀態

        if (0 = PROC_STATUS(main_task_id)) then '如果任務未開啟

            main_task_state = 2            '主任務狀態設置為2,表示正在執行連續任務

            RUNTASK  main_task_id, main_task  '開啟主任務

        endif

    endif


END SUB


'主任務實現函數

main_task:

    while(1)

        if (3 = main_task_state) then      '如果主任務狀態處于3即按下停止按鈕時

            main_task_state = 1             '將主任務狀態置為1

            exit while                     '退出循環

        endif

        

        '重復執行采集和檢測函數

        btn_grab()

        btn_test()     

    wend

END

image.png


12.在main.bas文件中添加HMI運行界面按下停止按鈕響應的函數,并關聯動作函數名。


'HMI界面按下停止按鈕時響應的函數

GLOBAL SUB btn_stop()

    if (2 = main_task_state) then   '如果主任務狀態處于3即正在連續執行任務時

        main_task_state = 3           '將主任務狀態置為3,退出循環

    endif  

END SUB

image.png


image.png


image.png


image.png


仿真演示效果4


本次,正運動技術機器視覺運動控制一體機應用例程(三) BLOB分析的多圓定位,就分享到這里。


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


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


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

上一篇: 機器視覺運動控制一體

推薦產品

更多
主站蜘蛛池模板: 三级a三级三级三级a十八发禁止 | 国内揄拍国产精品人妻门事件 | 日本少妇呻吟高潮免费看 | 久久久久成人精品免费播放动漫 | 久久香蕉国产线看观看精品yw | 国语对白做受69 | 亚洲精品久久久久久久蜜桃 | 午夜福利不卡在线视频 | 在线免费观看污 | 精品久久久国产 | 91午夜少妇三级全黄 | 在线观看av国产一区二区 | 日韩亚洲国产欧美 | 欧美性猛烈 | 中日av乱码一区二区三区乱码 | 精品久久久无码中文字幕 | 又大又粗欧美黑人aaaaa片 | 最新国产精品亚洲 | 99久久免费看精品 | 国产啊v在线 | 大sao货你好浪好爽好舒服视频 | 97在线国产视频 | 国产精品卡一卡二 | 亚洲天天综合网 | 九色蝌蚪9l视频蝌蚪9l视频开放 | 深爱综合网 | 欧美变态口味重另类在线视频 | 在线免费观看视频你懂的 | 亚洲欧美一区二区三区情侣bbw | 在线成人www免费观看视频 | 野外做受又硬又粗又大视频 | 欧美激情一二三 | 手机看片日韩 | 成在线人免费视频 | 免费黄网站在线看 | 一本色综合网 | 波多野结衣视频网址 | 日韩高清dvd | 久久性| 欧美人与性动交ccoo | 午夜影院日本 | 国产精品二区一区二区aⅴ污介绍 | 国产丝袜自拍 | 国产高清片| 美女露出给别人摸图片 | 国产毛片基地 | 国产精品无码一区二区三区在 | 中文字幕久精品免费视频 | 成人男同在线观看 | 国产人妻精品区一区二区三区 | 风流还珠之乱淫h文 | 五月婷婷综合网 | 免费看黄色三级三级 | 欧洲女人牲交视频免费 | 久久久精品久久久久 | 99热在线观看精品 | 免费又色又爽又黄的成人用品 | 久久视频在线播放 | 色多多黄色| 久久久久久一区 | 啪啪国产精品 | 天天爽夜夜爽人人爽一区二区 | 九九在线中文字幕无码 | 亚洲女与黑人做爰 | 中国女人内谢69xxxx喜欢你 | 亚洲网站视频 | 午夜三级做爰视频在线看 | 91视频久久久 | 人人超人人超碰超国产97超碰 | 亚洲伊人久久综合 | 青青草亚洲 | 成人国产精品免费视频 | 伊人激情av一区二区三区 | 日日碰狠狠躁久久躁96avv | 黄色爱爱视频 | 6080久久| 国产黑丝在线播放 | 国产成人精品一区二区三区 | 天天色官网 | 性欧美videos另类艳妇3d | 日本一区二区三区视频在线观看 | 欧美视频一区二区三区四区在线观看 | 奇米影视亚洲狠狠色 | 一区二区三区中文字幕 | 中文字幕在线精品 | 992人人草| 色视频网站在线 | 精品久久久久久久久久ntr影视 | 精品国产鲁一鲁一区二区三区 | 性生交大片免费看女人按摩 | 欧美精品久久久久 | 欧美国产免费 | 五月婷婷导航 | 性色a码一区二区三区天美传媒 | 在线免费观看黄视频 | 久久w5ww成w人免费 | 国产成人精品视频 | 精品无码日韩国产不卡av | 天堂无码人妻精品一区二区三区 | 黄色无毒网站 | 丁香五月亚洲综合在线 | 久久精品国产精品亚洲色婷婷 | 暖暖视频日本在线观看 | 亚洲国产一区二区a毛片 | 2一3sex性hd| 久久久免费高清视频 | 97在线免费视频 | 日韩视频一二三 | 日韩欧美国产网站 | 成人夜间视频 | 天天看天天操 | 邻居少妇与水电工啪啪 | 成人精品一区二区三区网站 | 毛片在线免费播放 | 精品久久久久中文字幕日本 | 波多野结衣女同 | 在线观看免费视频a | 小视频在线免费观看 | 成年人激情视频 | 国产大片b站 | 国产精品无圣光 | 波多野结衣视频免费看 | 91啪在线| 精品国产18久久久久久怡红 | 国产91一区二区三区 | 四虎影视18库在线影院 | 亚洲 视频 一区 | 久久精品探花 | 无码国产精品一区二区vr老人 | 宅男噜噜66国产精品观看 | 91精品国产综合久久福利软件 | 天堂一区人妻无码 | 日韩精品视频在线观看一区二区 | 欧美88av| 国产性受xxxx黑人xyx性爽 | 久久精品国产网红主播 | 欧美在线性视频 | 久久r这里只有精品 | 99蜜桃臀精品视频在线观看 | 中文字幕丰满人伦在线 | 红桃成人少妇网站 | 久久精品79国产精品 | 国内精品伊人久久久久av影院 | 日本艳妓bbw高潮一19 | 国产精品一级在线 | 日日摸夜夜添夜夜添欧美毛片小说 | 久久久久久久久久久av | 久久a视频| 国产精品一品二品 | 少妇xxx网站 | 欧美视频一区二区三区 | aa一级片| 中文无码久久精品 | 久草www | 未满小14洗澡无码视频网站 | 好爽又高潮了毛片免费下载 | 国产午夜片无码区在线播放 | 超碰一级片 | a毛片毛片av永久免费 | 欧美成人三级在线播放 | 99精品久久久久久久免费看蜜月 | 国产成人无码一区二区三区在线 | 亚洲天堂免费在线观看视频 | 喷潮91| 激情五月色综合国产精品 | 狠狠干少妇| 成年人激情网站 | 午夜av福利在线 | 亚洲噜噜狠狠网址蜜桃av9 | 91精品福利在线观看 | 在线黄色毛片 | 久久成人影院精品777 | 国产一级特黄aa大片出来精子 | 婷婷丁香视频 | 国产模特av私拍大尺度 | 懂色av一区二区三区 | 中文字幕免费观看 | 国产网红无码精品视频 | 翔田千里88av中文字幕 | 国产亚洲美女精品久久久2020 | 无尺码精品产品网站 | 人人妻人人澡人人爽欧美一区双 | 狠狠色网 | www.久久网 | 亚洲aa视频 | 激情97综合亚洲色婷婷五 | av日韩av| 国产超碰人人模人人爽人人添 | 色综合五月 | 女人被狂躁到高潮视频免费软件 | 97av.com| 亚洲精品少妇久久久久久 | 久久av无码精品人妻糸列 | 窝窝影院午夜看片 | 日韩欧美一区二区三区久久婷婷 | 国产一级激情 | 双性大乳浪受古代h男男 | 日韩成人无码 | 大尺度做爰呻吟62集 | 91中文字幕在线视频 | 香蕉视频免费在线播放 | 视频精品久久 | 男人天堂网在线视频 | 91精品国产色综合久久久浪潮 | 日韩精品久久久免费观看夜色 | 免费看a级肉片 | 麻豆精品 | 亚洲色图欧美另类 | www.99精品 | 日本一级免费视频 | 日本肥老妇色xxxxx日本老妇 | 精品国产一二区 | 99九九精品视频 | 国产精品久久人妻无码网站一区 | 自拍偷拍激情小说 | 免费观看性生交大片女神 | 久久久精品综合 | 天天爽天天噜在线播放 | 日本在线视频一区 | 亚洲专区在线播放 | 国产又粗又猛又爽 | 亚洲午夜无码久久久久 | 每日更新av| 曰韩无码二三区中文字幕 | 久草免费在线观看 | 精产国品一区二区三区四区 | 天堂在线中文 | 妹子干综合 | 国产全肉乱妇杂乱视频1 | 成年人黄色大片 | 羞羞视频日本 | 久久99国产精品久久99果冻传媒 | 午夜精品久久久久久久 | 黄频视频在线观看 | 亚洲熟妇久久精品 | 亚洲欧美另类在线图片区 | 人人添人人澡人人澡人人人人 | 国产成人无码视频一区二区三区 | 亚洲视频成人 | 欧美激情影院 | 精品一区二区三区在线播放视频 | av伦理在线 | 成人精品一区日本无码网 | 久久黄色网址 | 精品人伦一区二区三区蜜桃免费 | 人妖欧美一区二区三区 | 啄木系列成人av在线播放 | 午夜视频黄 | 中文字幕一区二区三区精彩视频 | 国产99在线 | 欧美 | 大色av | 成人免费毛片高清视频 | 狠狠狠狠狠 | 无码粉嫩虎白一线天在线观看 | 岛国av在线免费 | 国产精品视频在线观看 | 女主播户外勾搭啪啪 | 青娱乐极品视频在线 | 少妇浴室愉情韩国理论 | 国产欧美综合一区二区三区 | 精品无码中文视频在线观看 | 国产精品免费观看久久 | 日韩免费精品 | 96亚洲精品久 | 欧美有码在线观看 | 伊人久久大香线焦av色 | 农村老熟妇乱子伦视频 | 亚洲人成无码网www 国产精品第一区揄拍无码 丰满少妇高潮惨叫视频 | 大香伊人中文字幕精品 | 国产精品av久久久久久无 | 99热这里只有精品66 | 亚洲欧洲日韩av | 毛茸茸成熟亚洲人 | 亚洲成人一区二区三区 | 国内少妇偷人精品视频 | 国产农村老太xxxxhdxx | 黄色软件视频大全 | 少妇视频在线观看 | 国产成人精品一区二区 | 欧美少妇xx| 欧美成人看片黄a免费看 | 永久免费的av在线电影网 | 丰满护士巨好爽好大乳 | 日韩乱码一二三 | 级毛片内射视频 | 无码午夜福利视频一区 | a一区二区三区乱码在线 | 欧洲 | 欧美三日本三级少妇三2023 | 国产99视频精品免费播放照片 | 久久网免费视频 | 国产对白视频 | 久久久久久亚洲精品无码 | 精品一区二区三区久久 | 久久不见久久见免费影院国语 | av免费在线播放网址 | jizz 亚洲大全| 美女初尝巨物嗷嗷叫自拍视频 | 国产精品苏妲己野外勾搭 | 亚洲中文字幕无码不卡电影 | 丰满诱人的人妻3 | gv手机在线观看 | 国产精品一区亚洲二区日本三区 | 好色婷婷| 在线播放亚洲 | av手机| 91九色精品女同系列 | 在线国产一区二区 | 在线观看色网 | 国产精品成人影院在线观看 | 少妇性l交大片 | 国产精品wwwdhxxx | 国产露脸国语对白在线 | 丝袜人妻一区二区三区网站 | 国产精品美女久久久网av | 特大黑人娇小亚洲女 | 日本在线网址 | 五月花成人网 | 国产精品久久久久久久久久小说 | 国产 麻豆 日韩 欧美 久久 | 国产精品久久久久久久久齐齐 | 深爱激情站 | 亚洲欧美成人一区二区三区 | 色哟哟国产精品免费观看 | 另类综合视频 | 国产视频一区二区三区在线播放 | 人人妻人人澡人人爽超污 | 91亚色视频 | 久久无码高潮喷水 | 国产一区第一页 | com国产 | 玩丰满高大邻居人妻无码 | 天堂成人在线 | 精品久久ai| 精品久久久久久久久久久久久久 | 国产网红女主播精品视频 | 夜夜福利 | 福利cosplayh裸体の福利 | 日日草视频 | 国产一区二区三区四区五区tv | 国产精品国产成人国产三级 | 久久精品国产网红主播 | 边添小泬边狠狠躁视频 | 爱爱免费网站 | 女人爽到高潮免费看视频 | 宅男噜噜噜666在线观看 | 成人动漫在线观看视频 | 国产亚洲日韩一区二区三区 | 成人在线视频网址 | 久久精品丝袜 | 精品热久久| 亚洲永久| 久久99久久99精品中文字幕 | 日本少妇做爰免费视频软件 | 欧美色窝79yyyycom | 暴力调教一区二区三区 | 性色av一区二区三区咪爱四虎 | 久久日本香蕉一区二区三区 | 电影内射视频免费观看 | 久久精品福利视频 | 老妇女性较大毛片 | 久色阁 | 国产精品无码永久免费不卡 | www777色| 亚洲日本va中文字幕 | 九九精品免费 | 国产精品人成在线播放新网站 | 污污的网站在线免费观看 | 佐佐木明希奶水喷出在线视频 | 国产91成人欧美精品另类动态 | 国产免费www | 非洲黑人狂躁日本妞视频 | 99re8在线精品视频免费播放 | 免费看一级黄色片 | 国产一区二区三区 | 成人免费视频一区二区三区 | 成人做爰高潮片免费看 | 久久99亚洲精品久久99 | 欧美视频在线观看免费 | 91黄免费| 777777777少妇流水视频 | 99精品人妻少妇一区二区 | 国产av熟女一区二区三区 | 再深点灬舒服灬大了添片在线 | 久久无码人妻丰满熟妇区毛片 | 国产黄色精品网站 | 影音先锋啪啪看片资源 | 蜜桃久久av一区 | 久久99一区 | 东北少妇不戴套对白第一次 | 鲁鲁鲁爽爽爽在线视频观看 | 欧美一级大片在线观看 | 丝袜足控一区二区三区 | 91成人短视频免费版 | 久久九九热re6这里有精品 | 美女张开腿让人桶 | 精品视频一区二区三区四区五区 | av日韩网址 | 国产精品热久久高潮av袁孑怡 | 欧美老熟妇又粗又大 | 中文字幕精品一区二区三区精品 | 国产精品无码专区在线播放 | 国产精品一线二线 | 亚洲区小说 | 一区二区久久精品66国产精品 | 欧美色综合 | 看国产毛片 | 亚洲午夜18毛片在线看 | 中文字幕久久久 | 激情伊人五月天久久综合 | 香蕉视频成人在线 | 99亚洲天堂 | 亚洲天堂2016 | 丰满熟女人妻中文字幕免费 | 男人的天堂av网站 | 国产日产亚洲系列最新 | 成人重囗味sm | 日日躁夜夜躁狠狠躁超爽2001 | 在线视频黄| 国产小受呻吟gv视频在线观看 | 天天操狠狠干 | 国模裸体无码xxxx视频 | 国产三级成人 | 国产三级影院 | 波多野结衣av无码久久一区 | 午夜伦理福利视频 | 三级黄色在线播放 | 98堂 最新网名 | 无码国产精品久久一区免费 | 亚洲日韩欧美综合 | 秋霞在线观看视频 | 中文字幕日韩在线视频 | 少妇mm被擦出白浆液视频 | 国产在线观看免费视频今夜 | 中文字幕无码精品亚洲资源网久久 | 秋霞午夜av | 欧美成人精品一区二区男人小说 | 久久久免费精品re6 在线精品无码字幕无码av | 国产第99页 | 欧美一区视频 | 欧美色图亚洲天堂 | 久久久久久久久久av | 亚洲愉拍99热成人精品 | 黄色三级毛片视频 | 日本少妇中出 | 欧美日韩在线免费观看视频 | 日本公妇乱淫免费视频一区三区 | 天堂综合在线 | 无码一区二区三区在线观看 | 视频在线观看一区二区三区 | 欧美爱爱小视频 | 久久久久成人精品无码 | 精品人妻av区波多野结衣 | 麻豆一区二区三区在线观看 | 欧美最猛性xxxxx大叫 | 国产91 在线播放 | 长河落日电视连续剧免费观看01 | 4hu四虎影视入口 | 欧美a级成人淫片免费看 | 又欲又肉又黄高h1v1 | 日本最新中文字幕 | 五月婷婷一区二区三区 | 69做爰高潮全过程免 | 乱人伦中文无码视频在线观看 | 成人人人人人欧美片做爰 | 亚洲精品国产精品国自产在线 | 亚洲精品久久久久久国产精华液 | 亚洲国产精品国自产拍张津瑜 | 91精品啪在线观看国产 | 国产婷婷一区二区三区 | av日韩高清 | 极品尤物魔鬼身材啪啪仙踪林 | 国产精品鲁鲁鲁 | 国产91网| 国产精品久久久久久久久久久杏吧 | 狠狠色狠狠色综合日日92 | 亚洲人成中文字幕在线观看 | 91禁看片 | wwwxxx在线| 免费在线观看污片 | 日韩影院在线 | 欧美专区中文字幕 | 日韩国产欧美一区二区 | 午夜三级在线观看 | 亚洲欧洲自拍偷拍 | 九九视频网站 | 久久无码av三级 | 亚洲最新av网站 | 天堂新版8中文在线8 | 亚洲欧美日韩在线不卡 | 五月天亚洲视频 | 狠狠色综合7777久夜色撩人 | 久久久91精品国产一区二区精品 | 国产中文字幕91 | 夜夜夜夜bbbbbb欧美 | 久久精国 | 色婷婷亚洲六月婷婷中文字幕 | 久久久国产乱子伦精品作者 | 日韩av资源 | 成人涩涩视频 | 冲田杏梨在线 | 成人三级视频 | 色噜噜狠狠一区二区三区狼国成人 | 爱爱视频天天干 | 国产69精品久久久久999小说 | 黄色天堂网 | 成人三级a做爰视频哪里看 成人三级k8经典网 成人三级黄色 | 中文字幕日韩精 | 伊人成年网 | 国产欧美一区二区视频 | 女人和拘做爰正片视频 | 亚洲人屁股眼子交1 | 日韩在线一二三区 | 偷看美女洗澡一二三四区 | 成人福利视频在线 | 国产成人天天5g影院在线观看 | 女女女女bbbb日韩毛片 | 国产真实交换配乱淫视频 | 欧美乱妇高清无乱码 | jzjzjz亚洲丰满少妇 | 在线播放精品 | 上司人妻互换中文字幕 | 丰满少妇大力进入 | 国产三级做爰在线播放五魁 | 久久午夜网站 | 女学生的大乳中文字幕 | 国产午夜小视频 | 精品国产美女福到在线不卡 | 日本精品黄色 | 亚洲一区二区三区四区五区午夜 | 992tv成人国产福利在线 | 国产精品第一区揄拍无码 | 在线亚欧观看2023 | 国产精品yy | 国产偷v国产偷v亚洲高清 | 二区久久 | 中日av乱码一区二区三区乱码 | 少妇高潮一区二区三区99 | 久在线精品视频线观看 | 青草青在线 | 日韩a无v码在线播放免费 | 久久久无码中文字幕久... | 超级碰碰97 | 成人男女做爰免费视频网老司机 | 一区二区三区视频网站 | 欧美国产日韩久久 | 青青免费视频在线观看 | 欧美三级韩国三级日本三斤 | 国产人妻丰满熟妇嗷嗷叫 | n0659极腔濑亚美莉在线播放播放 | 夜夜躁狠狠躁日日躁av | 欧美色综合色 | 日韩欧美在线视频免费观看 | 日本特黄成人 | 欧美大屁股xxxx高跟欧美黑人 | 国产成人自拍一区 | 亚洲精品日韩激情欧美 | 中文字幕五区 | 麻豆视频软件 | a视频在线 | av亚洲产国偷v产偷v自拍 | 国产无遮挡无码视频免费软件 | 久久伊人精品一区二区三区 | 成人免费无码大片a毛片抽搐 | 二男一女一级一片 | 村上凉子在线播放av88 | 国自产拍偷拍福利精品免费一 | 黄色一及片 | 欧美裸体性生活 | 欧美人与野鲁交xxx视频 | 拔萝卜视频在线观看高清版 | 日本妇人成熟免费 | 女同理伦片在线观看禁男之园 | 我看午夜视频 | 又大又粗又爽的少妇免费视频 | 永久免费的av在线电影网无码 | 午夜精品喷水 | 日韩在线中文字幕 | 免费在线国产视频 | 无限看片在线版免费视频大全 | 国产 日韩 欧美在线 | 欧美日韩国产免费 | 国产中文字幕免费 | 美女视频久久久 | 成人美女视频在线观看 | 成品人片a91观看入口888 | 日本三级视频在线 | 日韩乱视频| 国产农村妇女精品一二区 | 樱桃国产成人精品视频 | 欧美一区二区三区爽爽爽 | 熟妇人妻激情偷爽文 | 97人人在线 | 久久久久99精品国产片 | 免费av播放 | 粉嫩在线一区二区三区视频 | 丰满少妇大力进入 | 精精国产xxxx视频在线 | 少妇久久久久久被弄到高潮 | 视频一区免费观看 | 国产超碰人人爽人人做人人添 | 无尺码精品产品日韩 | 久久久亚洲欧洲日产国码αv | 欧美激情 国产精品 | 四虎黄色片| a天堂视频 | 深夜福利在线观看视频 | 日韩精品无码视频一区二区蜜桃 | 日本视频高清一区二区三区 | 法国极品成人h版 | 香蕉在线播放 | 欧美视频精品在线观看 | 亚洲精品视频久久久 | 97超级碰碰人国产在线观看 | 毛片无码免费无码播放 | 久久成人小视频 |