狠狠色噜噜狠狠狠狠2021,久久精品国产亚洲av麻豆白洁,777米奇影视盒,国内精品老年人视频网站

機器視覺軟件開發(fā)系列—上位機軟件整體框架(上位機軟件架構(gòu))

典型的機器視覺軟件應(yīng)用中,典型的構(gòu)造如下

機器視覺軟件開發(fā)系列---上位機軟件整體框架(上位機軟件架構(gòu))

視覺系統(tǒng)基礎(chǔ)構(gòu)造

典型應(yīng)用中,下位機或者光電傳感器觸發(fā)上位機(視覺軟件)拍照,上位機進行拍照、算法處理,處理結(jié)果給到下位機或者通過IO的方式。 上圖成像系統(tǒng)1、3中圖像數(shù)據(jù)可以通過很多種方式傳輸,常見的有Gige、USB3.0、1394a1394b、CameraLink、CoaXPress等常見的接口,最常用的網(wǎng)口GiGe和USB3.0接口。圖像數(shù)據(jù)獲取成功后算法層面可以使用對應(yīng)的算法,看個人習(xí)慣,我常用halcon、OpenCV或者VisionMaster。

機器視覺軟件開發(fā)系列---上位機軟件整體框架(上位機軟件架構(gòu))

整體框架流程

一個視覺軟件(上位機)可以分為上面一個總的架構(gòu),UI層和運行流程,UI層是來進行參數(shù)配置界面展示數(shù)據(jù)的,運行流程總的流程組合,線程運行。

通常情況下,UI層我們看到的數(shù)據(jù)都是通過winform或者qt 拉取對應(yīng)的控件進行設(shè)計,然后把數(shù)據(jù)保存到數(shù)據(jù)中心,這個時候數(shù)據(jù)在內(nèi)存中,同時也會保存數(shù)據(jù)到本地,數(shù)據(jù)的存儲格式常見的有xml、ini、數(shù)據(jù)庫存儲等方式。UI層設(shè)置好數(shù)據(jù)后,把數(shù)據(jù)加載到數(shù)據(jù)中心,數(shù)據(jù)中心把數(shù)據(jù)加載到運行流程,流程數(shù)據(jù)就會跟著改變的參數(shù)運行。

運行流程中通常是對流程的組合,初始化連接的時候會把相機、數(shù)據(jù)庫、IO、PLC、MES等各種相關(guān)的資源進行連接,初始化OK后,運行取流線程、算法線程、存圖線程。

在取流線程中,這里面就會跟下位機打交道了,在這里下位機通過讀寫寄存器的方式,取流線程會一直讀PLC的寄存器來進行獲取拍照信號。大概流程我以偽代碼表示

while(true)

{

sleep(10);

If(!m_bExit)

Break;

Bool bCapture = m_Plc.ReadCaptureSignal();

If(!bCapture)

Continue;

//拍照

Image img = m_Camera.GetCaptureTimeout();

//其他隊列

}

m_plc是封裝的一個PLC通信的模塊,接口ReadCaptureSignal讀取拍照寄存器,如果獲取到了就返回值,立即置位寄存器

當然,這只是一個總體的架構(gòu),細致的工作還有很多,我大大小小參與過上百個項目,有標準項目、非標項目、還有VisionMaster也有參與過開發(fā),整體來看,只是每個軟件復(fù)雜度不一樣,拆開模塊看,都是一樣的。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2024年5月2日 上午11:30
下一篇 2024年5月2日 上午11:41

相關(guān)推薦