|
請問NI-IMAQdx或NI-IMAQ for IEEE-1394驅動程式最多可以接幾隻IEEE-1394的相機?
使用IEEE-1394影像卡的時候,所能同時使用的擷取影像硬體個數的最大的上限是4,這是因為IEEE-1394卡有4個DMA傳輸引擎,一旦其中任何一個被使用了,就沒有辦法再開啟額外的連結。
如果要從額外的相機擷取影像,就必須要中斷現有的連結以釋放DMA資源,Vision Builder Automated Inspection (VBAI)會自動完成這個動作,但在LabVIEW中,DMA資源必須透過NI-IMAQdx中的IMAQdx Close Camera.vi或NI-IMAQ中的IMAQ1394 Close.vi來進行釋放。
除此之外,相機的最大使用數量也會受到每個相機所使用的頻寬(bandwidth)影響。標準的IEEE-1394a可以使用的總頻寬是400Mb/s (IEEE-1394b為800Mb/s),而Compact Vision System(CVS)和Embedded Vision System(EVS)的規格和IEEE-1394一樣。所有相機使用的頻寬總量必須小於可用的總頻寬,且封包大小必須小於最大的封包大小,也就是4092Bytes才可以。
如果要減少相機所使用的頻寬,選擇低解析度的影像擷取模式或是較慢的frame rate是一個方法。驅動程式會根據相機的frame rate、frame size和pixel depth分配資源。這邊提供一個參考值,如果有3隻640x480 Mono 8 (Monochrome, 8-bit)的相機,則每隻可以以30fps的速度擷取影像而不會超過最大頻寬。
如果相機是設定在trigger模式下,那麼資源的分配是根據Measurement & Automation Explorer(MAX)中的frame rate設定而決定,並非決定於實際trigger的frame rate。因此,為了達到最有效率的資源分配,在MAX(或LabVIEW、VBAI)中的frame rate設定,喔喔應該要盡可能的接近(但仍要大於)trigger的頻率。
以下所附上的執行檔可以允許使用者虛擬相機並計算是否有超過頻寬的上限(注意: 並不是計算同時使用4個DMA傳輸的最大值)。此執行檔要運行需要安裝LabVIEW7.0的Runtime Engine。
|