摘 要: GigE Vision接口技術成為了機器視覺工業(yè)的一項非常具有吸引力的技術,Basler scout系列GigE Vision攝像機具有卓越的性能, Basler提供了Pylon驅動包開發(fā)包,可方便用戶二次開發(fā)。將該攝像機應用于10 m水位試驗臺銦鋼尺圖像獲取并在計算機上顯示。
關鍵詞: GigE Vision;攝像機;Pylon API;圖像顯示和縮放
水位試驗臺(簡稱水位臺)是對水位計進行檢定的實驗裝置,它的參考標準是具有很低膨脹系數(shù)的銦鋼尺,而10 m水位試驗臺的銦鋼尺高達10多米,必須通過攝像機跟蹤水位攝取銦鋼尺水位圖像在計算機上顯示才能讀取標準水位值。本文選用了Basler公司機器視覺專用Scout系列以太網(wǎng)接口攝像機,該相機支持GigE Vision機器視覺的標準接口。
1 GigE Vision標準和Pylon驅動包
1.1 GigE Vision標準
目前工業(yè)攝像機接口有火線1394、GigE Vision、Camera-Link、USB等幾種?;鹁€1394接口為了延長通信距離,使用Repeater或者Hub通信距離只能達到72 m,不僅增加了功耗和使用的電纜的條數(shù),還增加了遭受電磁干擾的可能。Camera-Link和USB最長通信距離只有30 m,而GigE Vision接口在不使用Repeater和Hub情況下通信距離就可達100 m。GigE Vision標準由自動化圖像協(xié)會AIA(Automated Imaging Association)委員會定義,委員會包括Basler AG和視覺工業(yè)領域的主要公司,目標是定義基于以太網(wǎng)的應用于機器視覺的標準接口,讓相機和軟件無縫連接。GigE Vision標準由4個主要部分組成[1]:
(1)定義了讓應用程序發(fā)現(xiàn)和枚舉設備的機制,定義了設備如何獲得一個有效的IP地址;
(2)定義了GigE Vision控制協(xié)議(GVCP),允許對被發(fā)現(xiàn)的設備進行配置,保證傳輸?shù)目煽啃裕?br /> (3)定義了GigE Vision流協(xié)議(GVSP),允許應用程序接收發(fā)自設備的信息;
(4)定義了bootstrap寄存器,描述了設備自身,如當前IP地址、序列號、制造商信息等。
可以借用TCP/IP的結構來描述GigE Vision的結構,但TCP/IP用于機器視覺性能是不夠的。GigE Vision標準是基于UDP協(xié)議的,UDP使用端口允許應用程序之間的連接,雖然UDP不如TCP可靠,但增加了性能,特別適用于機器視覺中的高速圖像傳輸。為了克服UDP的不可靠,GigE Vision引入了兩個額外的協(xié)議: (1)GVCP協(xié)議。該協(xié)議依賴于UDP的應用層協(xié)議,將保證圖像傳輸?shù)目煽啃詸C制引入到UDP中,允許設備配置1個或多個信道的實例化??刂菩诺婪譃橹鞔涡诺?,主信道由主應用產(chǎn)生,允許對設備讀寫寄存器;次信道由次應用產(chǎn)生,允許應用只讀寄存器。(2)GVSP協(xié)議。該協(xié)議建立在UDP傳輸層上的應用層協(xié)議,應用接收圖像數(shù)據(jù)、圖像信息和其他信息,數(shù)據(jù)包總是由設備發(fā)送給應用程序,GVSP提供了保證包傳輸可靠性的機制和讓流控最少化的機制。OSI模型和GigE Vision結構如圖1所示。
Basler Scout系列以太網(wǎng)接口攝像機應用了高質量的Sony CCD傳感器,支持從VGA到200萬像素的分辨率和具有體積小設計牢靠的特點,能夠方便地集成到用戶的機器視覺系統(tǒng)。使用Gigabit以太網(wǎng)帶寬可獲得最高70幀/s的速度。使用CAT6電纜,經(jīng)過測試圖像傳送距離可達100 m。
1.2 Basler Pylon驅動包
Pylon驅動包(Pylon Driver Package)是為所有的具有FireWire和GigE接口的Basler相機設計的,可以選擇最適合應用的接口技術或者兩者同時使用。Pylon驅動提供可靠實時的圖像數(shù)據(jù)傳輸?shù)絇C存儲器而只需要很低的CPU負擔。Pylon開發(fā)包結構圖如圖2所示。
Pylon內(nèi)部結構基于GenICam技術,Pylon API 2.1支持GenIcam標準的1.1版本,它提供了很簡單的訪問新的攝像機模型的方法。GenICam的核心是用XML描述文件對相機屬性的描述。使用該文件,解釋器能直接產(chǎn)生叫做GenAPI的C++應用程序接口(API)和圖形用戶接口(GUI)的元件。這使得用戶可方便地鑒別相機類型以及詳細的特性和所支持的功能以及功能參數(shù)。
Pylon GigE Vision驅動快速地把圖像數(shù)據(jù)從網(wǎng)絡上的數(shù)據(jù)中分離開,使得應用程序能用很低的CPU負擔獲得可用的圖像數(shù)據(jù),驅動只能用于有特定Intel芯片的網(wǎng)卡。Pylon GigE Vision濾波器驅動支持各種硬件、GigE網(wǎng)卡和主板上的GigE端口。利用最新的驅動棧技術,Basler增加了服務質量(QoS)超過了微軟(Microsoft)的標準。Pylon Viewer軟件提供了方便的測試評估Basler相機的應用程序。
2 使用Pylon驅動包