機器視覺小教室 Aurora Vision Studio 入門篇【10】利用TCP/IP接收指令以及傳出辨識結果

弘翔精密科技股份有限公司
1粉絲
1 次觀看·2024年10月17日
機器視覺小教室 Aurora Vision Studio 入門篇線上教學網頁
https://www.urvision-tw.com/article_detail/25.htm
通常介紹幾個影像處理演算法功能,我們會先打住休息一下,介紹一下其他的東西,畢竟使用視覺開發工具的目的是要整合功能來設計出檢測設備。因此,若我們已經能辨識出影像特徵,要如何與設備互動、丟出資訊呢? Aurora Vision Studio支援多種通訊交握方式,其中TCP/IP是其中一種簡單易用的方案。
通常就是我們介紹幾個篇幅的一些計算的功能
那我們就會稍微打住
開始再介紹一些比較跟計算功能
演算法無關的一些事情
因為畢竟我們去用這個系統
就是用這個開發的套件
就是為了要去設計這個光學檢測的這個系統設備
所以怎麼在這個裡面
怎麼利用我們已經知道用了幾個工具
我們就去想辦法再去玩玩一些
跟程式設計還有整個相關的一些功能
我們就繼續利用這個測量
以及定位的這個之前寫過的範例
當然還是要稍微做一些小修改
我們只需要保留這個定位就好
只需要保留這個定位
我們想要知道說這個矩形
它的中心座標
我們想要知道這個矩形的中心座標
怎麼知道這個矩形的中心座標
我們來看一下
然後停下來
矩形在哪裡
矩形在Match
它是一個Rectangle
我們來看一下它有沒有中心座標
按右鍵
Property Output
它只有Origin
Origin就是這個Anchor
就是它的這個矩形的這個錨點
Angle with Height
它沒有中心座標
它沒有提供
那怎麼辦呢
我們就自己找
那自己找
所以你纔可以在這個textbox裡面找
那你如果不知道它放在哪裡
我直接用搜尋
你可以找Rectangle
可以打全名
可以打RECD
Rectangle
Center
它就馬上就彈出來
所以其實它這個搜尋引擎
關鍵字不需要下得非常精準
設計得還不錯
那我們就把這個Rectangle Center
拉進來
把這個Match
RectMatch就是Rectangle
把它連上去
丟進來就可以
得到這個Center Point的座標
Center Point的座標
丟到圖上
也分別丟到下面的知識窗
好 執行
我們就可以獲得這個X跟Y
好 那現在我們並不是
要介紹一個這麼簡單的這個用法
當然有提到說
我們要做這個設備的系統
那有沒有這樣子的一個應用
比如說
我們想要一個視覺去拍
去拍
然後獲得一個這個座標
我們想要獲得一個這個座標
只是剛好這次我們用Center去試
有可能你要知道其他的座標
假設我們現在要Center
那我們要把這個座標傳出來
我們想要傳出來
那傳出來的方式有很多種
好 那一個最簡單的
可能就是一個叫做TCP IP
好 那怎麼在這個裡面
這功能怎麼用TCP IP
好 我們把它stop
好 可以拉下來在這個下面
好 那上次有提過
在功能簡介的時候
其實就有提過
這個通訊的功能
我們就放在這個Program IO這裡面
我們就可以找到這個TCP IP的東西
好 把它拉進來
好 隨便先放個地方
等一下再調位置
好 TCP IP
你就發現它這個菜單
它有很多工具
好 那我們就分說
你一定要先建立一個
TCP IP的這個伺服器
好 那Connection的部分
它有分這兩個
一個叫做Connect
Connect你點下去
它會有說明說
Connect as a client
它說你這個視覺這邊
它是當作是一個Client
是一個用戶端
好 那Connect to a remote TCP IP server
也就是說你對方其實是一個Server
你要先建好一個Server
好 然後你自己當作是一個Client
去連上對方
它有一個圖示
它有一個箭頭往外
你要連到對方
好 那第二個是說
Accept
Accept是你接收一個外部連過來的
那你自己呢
你自己就是一個Server
好 那看你當時的情境是哪一種
好 我現在請
假設我現在請
我這個視覺要當一個Server
那我就選第二種
好 然後按Insert
好 Insert進來
但是我這個程式不能放在這裡
這個程式就是
我這個MEM
然後它會一直往下走
然後上次有講過
這邊有個指紋
所以它會一直Pulling
一直Pulling
好 那我可以
我沒有必要一直建這個Server
我這樣一直建Server沒有意義
因為這個是不正確的用法
好 所以只有在這個程式
剛啟動的時候
好 剛啟動
當然啟動並不是按這個三角形
我們啟動我們不是會
用這個Runtime executable
所以你把這個Runtime的這個ALEXE
執行榜把它打開的時候
只要打開的時候
就要建這個Server
那怎麼讓這個
PCP Accept在剛打開的那一次
只執行一次
好 那我們就要來介紹這個
程式功能
好 首先呢
我們在這邊有個小按鈕
把它點下去
按下去了以後
它就會出現一個叫Initialize
的一個區塊
這個Initialize的區塊叫做
它都會說明說Drop Filter
Filter在這個Studio裡面
所有的工具
所有的Function
它都會取一個名字叫做Filter
所以這個Graphic Image是一個Filter
這個Locate Object是一個Filter
這個Rectangle Center也叫一個Filter
這是它這個軟體的專有名字
所以你看到它叫Filter
這Filter就是指說
這是一個Function的意思
它說
你可以把任何的一個
Function丟在這個
Initialize的Section裡面
但是它只會執行一次
在這個迴圈裡面
它只有一開始會執行一次
這是Initialize
那下面程式就會出現一個叫Finalize
Finalize是說
你這個迴圈結束的時候
迴圈被關掉了
如果你這個迴圈
它是有限制
目前是無限的
因為這是一個Geeky Vision
它不會離開
所以如果你的程式有寫到這種情況
迴圈要結束的時候
最後一次出來之前
你東西如果放在這邊
它會做一個收尾的動作
你只要按這個東西
這個平常是隱藏的
平常隱藏看不到
把它打開
打開了以後
我就可以把這個TCPIP的Server
把它丟到外面去
所以這個程式剛啟動的時候
就會去建立一個TCPIP的Server
那TCPIP的Server你要提供Port
你要提供一個Port
那它的Port預設值叫1234
你可以去任意的數值
它範圍在7到6535之間
可以去設定
那我們暫時先不講
我們叫1234
那怎麼把這個東西丟出來
我們現在有這個Port
有一個Server
還有一個Socket
那我們就要去把這個東西丟出來
丟出來
丟出來我們就要
Write文字
Write的方式有很多種
我們用Write文字的方式
把它丟出來
Insert
把它Socket
那丟什麼文字
我們先測試就好
我們等一下要把這個Center Point丟出來
丟什麼文字
我們丟12345678
我們先測試一下
等一下它就一直丟
12345678
我們執行
但是怎麼測試
我們用一個叫做
網路調試助手
你去搜尋
搜尋Net Assistant
那你就可以找到這個
叫網路調試助手的這個小程式
那就可以在裡面下載這個免費工具
這免費工具我已經下載了
我就直接打開
那如果你有別的電腦
你是用這個網路調試助手
你是用別的電腦
那你就可以把它裝在別的電腦上
去連這一臺電腦
那我現在用同一臺
同一臺IP就是127.0.1
那你這個網路調試助手
因為我是Server
所以你就是Client
所以我們這邊選擇TCP Client
連上127.0.1連自己
12345
點下去
那這個程式就瘋狂的
瘋狂的傳12345678給我
一連上去這個程式就動起來
瘋狂的傳給我
那我們先測到這樣
好把它斷線
停掉然後去修改一下
好那我們就要把這個
Text
把這個Center Point
座標轉成這個Text
好那怎麼把這個
座標轉成Text
有很多種方法
好那
介紹一個最簡單的
就是我們之前有
講過一個叫Formula
把它拉近
把這個Center Point拉上去
然後加一個輸出
這個輸出叫Text
好那
它的輸入叫做
IN
Center Point
好X
好那怎麼把這個X座標
變成Text
它現在輸出是Real
它不是一個字傳
所以我們就
搜尋這個指令
你如果忘記的話可以按這個HELP
去搜尋它有什麼指令
我們可以Tool String
好把它挖起來
好挖起來
這樣子的話它就會是一個String
好那我就可以把它丟過來
重新執行
然後打開網路調試小助手
Connect
它就會瘋狂的印X座標給我
好停掉
然後斷線
好那我想要X跟Y都印
我們就修改一下
複製
貼上
Y
加
中間有個逗點
雙引號逗點
連線
這樣子就會是
X座標跟Y座標
X逗點
然後Y座標
這樣子瘋狂傳給我
可是這樣子的話
它是一直拍一直傳
可是真正的設備
其實很少會一直拍一直傳
一直拍一直傳
那我可不可以
我送一個任意的文字
然後叫它拍一張
所以我們現在打算來玩這個用法
好所以我們就要加一個
讀取
我們在這個拍照前面加一個讀取
好TCP拉過來
然後讀取
Read Buffer
然後放進去
然後Sagi的連過來
然後讀取一個字
我們只需要讀
我們就隨便設計
讀取一個字就
好
我只要讀取到一個字
它就會從相機抓一張圖像
然後就吐一個結果給我
好執行
好它現在沒有讀取
也沒有人連
所以它就不動
我們連上
好連上
我們隨便送個字給它
送個A
它就會吐一個
座標給我
我現在調一下位置
再送個A
它再吐一個座標給我
送個位置
送個A
再吐一個座標給我
好那這個就是
我們去整個這個流程上的開發
就是
讓你去
你就可以去
用這個
TCPIP的這個交友
去控制這個視覺系統
它的這個動作行為
那這個控制
視覺系統的動作行為的方法
還有很多種
那你也可以
這個是用軟體去下命令的方式
那你當然
後續有機會的話
也是可以介紹
怎麼用
讓這個相機
去改成這個觸發模式
那這個是牽扯到
需要去接一些電路
那稍微是比較麻煩一點
那
這邊的話就是先介紹
怎麼用TCPIP
去控制這個程式流程
好那我們
抓到這Buffer
甚至我們還可以用這個Buffer
用去拆解不同的命令
讓這個程式去走
不同命令的動作
那當然我們先今天
這個
短短的
教學就先
知道說我們有這個TCPIP的用法
