跳至內容
測試伺服器
開發伺服器

網路設定 (blaze)#

本主題將說明如何設定網路介面卡,並變更Basler blaze 或 Smart blaze攝影機的 IP 設定。

本主題中關於Linux 的特定資訊,是基於使用 Ubuntu 20.04 的預設桌面圖形介面(GUI)所撰寫。由於在Linux 下有多種方式可設定網路介面,請參閱您所使用的Linux 發行版的文件以獲取更多詳細資訊。

資訊

本主題中的所有資訊均適用於所有 blaze 與 Smart blaze 相機型號。為求簡潔,文中以 "blaze" 統稱所有型號。

網路設定逐步指南#

以下步驟將引導您完成在網路設定中架設 Blaze 攝影機的流程。

  1. 請決定您希望如何為攝影機指派 IP 位址。請考慮以下事項:
    • 您打算使用多少台相機?
    • 您正在使用多少個網路介面卡?每台攝影機都有專用的網路介面卡嗎?
      如需更多資訊,請參閱《建議的網路架構》。
    • 您有可用的DHCP 伺服器嗎?
      如果您有DHCP 伺服器,請使用它。這樣會讓設定過程輕鬆許多。
      如果您沒有DHCP 伺服器,您可以選擇使用靜態 IP 位址或自動 IP:
      • 只有當您配置的網路介面卡數量不超過一個時,才能使用「自動 IP」功能。若將多個網路介面卡設定為「自動 IP」,將導致無法偵測到攝影機。
      • 若您使用多個具有靜態 IP 位址的網路介面卡,每個介面卡必須位於不同的子網中。
  2. 設定網路介面卡的 IP 位址。
  3. 請使用 pylonIP Configurator來設定攝影機的 IP 位址。
  4. 請檢查電塔內的連接處IP Configurator 。

    1. 如果狀態顯示為「OK」,則一切正常。
    2. 若狀態顯示為「無法連線」,請檢查以下事項:

      1. 請確保沒有其他應用程式正在存取相機。
      2. 請確保適配器的子網掩碼與攝影機的子網掩碼相同。
      3. 請確保適配器與攝影機的位址位於同一子網內。
        範例:若子網掩碼為 255.255.0.0,則 IP 位址的前兩個區塊必須相同。
      4. 請確保所有其他網路介面卡所設定的子網域,皆與攝影機所連接的子網域不同。
      5. 請確保沒有其他網路裝置使用與該攝影機相同的位址。
    3. 如果相機未列於清單中,請檢查以下事項:

      1. 攝影機是否已實體連接至正確的網路介面卡?
      2. 停用相機所連接的網卡之防火牆。
    4. 調整效能設定。

    5. 疑難排解若在串流時出現畫面遺失或錯誤訊息,最可能的原因是網路連線不穩定或效能不足。
    6. 請檢查您是否能進一步優化裝置上的網路設定 Windows 或 Linux 系統上。
    7. 請停用相機所連接的網卡之防火牆。

規劃網路有兩種方法。以下列出兩者的差異,以協助您選擇合適的配置。

點對點網路架構#

其中一種做法是在您的攝影機與主電腦之間建立直接的點對點連線。

這些攝影機可連接至主機中的獨立 GigE 網路介面卡,或連接至多埠介面卡。

點對點網路架構

  • 優點:每台攝影機皆與主電腦建立獨立的連線。因此,每台攝影機都能充分利用連線頻寬來傳輸擷取的影像。這意味著您可以讓每台攝影機以其最高擷取速率運作。
  • 缺點:單台電腦所能連接的攝影機數量有限。

資訊

在點對點連線中,每個網路介面卡必須位於不同的子網,且每台攝影機的 IP 位址必須位於其所連接之網路介面卡的子網內。
範例:網卡的 IP 位址分別為 192.168.1.1、192.168.2.1、192.168.3.1 等,且子網遮罩皆設定為 255.255.255.0。 此時,攝影機可設定以下 IP 位址:192.168.1.100、192.168.2.100、192.169.3.100 等,並將子網掩碼設定為 255.255.255.0。

透過網路交換器進行連線#

此外,您也可以透過網路交換器,在攝影機與主電腦之間建立連線。

以下範例展示了一個 1 埠 GigE 網路介面卡連接至 4 埠網路交換器。您也可以使用多埠網路介面卡或多個交換器。

透過網路交換器連接

  • 優點:可讓您將多台攝影機連接至單一主電腦。
  • 優點:由於裝置之間的每條纜線最長可達 100 公尺,因此整體纜線長度得以延長。
  • 缺點:此交換器僅具備一條連接至電腦的 GigE 連接埠。各台攝影機必須共享此單一通道所提供的頻寬。該單一通道可用的頻寬約為 125 MByte/s。

資訊

當多台攝影機連接至交換器時,該交換器必須具備足夠的緩衝容量。這能讓交換器在透過單一輸出線傳輸資料的同時,暫存來自攝影機的傳入資料。
所有攝影機的位址都必須位於同一子網內,也就是網卡所屬的子網。
範例:若電腦的位址為 192.168.1.1,則攝影機可設定為 192.168.1.100、192.168.1.101 等 IP 位址。

為了獲得最佳效能與可靠性,Basler 建議使用 IntelPRO 1000、I210、I340 及 I350 系列的轉接器。

網路介面卡的 IP 設定#

以下是設定網路介面卡 IP 位址的兩種最常見方式:

  • 指派固定(亦稱為「靜態」或「持久」)位址
  • 透過 DHCP(DHCP ,動態主機配置協定)或 Auto IP(自動私有 IP 位址分配,基於鏈路本位址(LLA ))設定自動位址分配。

Windows#

指派固定 IP 位址#

若要為網路介面卡指派固定 IP 位址:

  1. 開啟 網路連線 Windows 控制面板中的視窗。
    如需快速存取,請按下 贏+R, 輸入 ncpa.cpl,然後按下 輸入.
  2. 右鍵點擊您相機所使用的網路介面卡連線,然後點擊「 內容」。
    「內容」視窗隨即開啟。
  3. 雙擊「網際網路協定版本 4(TCP/IPv4)」。
    此時將開啟「網際網路協定版本 4(TCP/IPv4)」的「內容」視窗。
  4. 點選「使用以下 IP 位址」。
  5. 在「IP 位址」、「子網路遮罩」和「預設閘道」欄位中,請輸入 IP 位址、子網路遮罩和預設閘道位址。
  6. 在「首選DNS 伺服器」和「備用DNS 伺服器」欄位中,輸入DNS 伺服器的主伺服器與次伺服器位址。(通常不需要域名伺服器。)

    網際網路協定第 4 版 屬性

  7. 請針對所有適用的網路介面卡,重複步驟 2 至 6。

資訊

在相機設計整合階段,您可以使用以下設定來快速建立網路連線:

  • 請在自動 IP 位址範圍(169.254.0.1 至 169.254.255.254)內,為您的網路介面卡設定一個固定位址,子網遮罩為 255.255.0.0。
  • 為您的攝影機設定自動 IP 位址指派功能。
  • 如果您的電腦有多張網路介面卡,每張介面卡必須位於不同的子網路中。
  • 固定 IP 位址的建議範圍為 172.16.0.1 至 172.32.255.254,子網掩碼為 255.255.0.0;以及 192.168.0.1 至 192.168.255.254,子網掩碼為 255.255.255.0。根據 IP 標準,這些位址範圍已預留供私人使用。
  • 如果您為攝影機指派固定 IP 位址,請注意:為了讓攝影機能與網路介面卡正常通訊,它必須與所連接的網路介面卡位於同一個子網中。

透過DHCP / Auto IP 指派 IP 位址#

若適配器已設定為透過「DHCP / Auto IP」取得其 IP 位址,其運作方式如下:

  • 此適配器會嘗試從DHCP 伺服器取得 IP 位址。若DHCP 伺服器可用,則會從該伺服器取得 IP 位址並加以使用。
  • 若無可用的DHCP 伺服器,此適配器將使用「自動 IP」例程為自身指派一個 IP 位址。

大多數網路介面卡的預設設定為「DHCP /Auto IP」。在大多數情況下,您相機所使用的網路介面卡並未配備DHCP 伺服器。因此,若維持預設設定,該網路介面卡將透過自動IP位址分配機制為自身指派一個IP位址。

資訊

僅能將一個網路介面卡設定為使用「自動 IP」。若在多個網路介面卡上設定了「DHCP 」/「自動 IP」,則「自動 IP」指派功能將無法正常運作,且攝影機將無法透過「自動 IP」連線至網路。

若您的電腦內有多個網路介面卡,Basler 建議在您的網路中安裝DHCP 伺服器,或為各網路介面卡及攝影機指派靜態 IP 位址。

若要使用DHCP / Auto IP 指派 IP 位址:

  1. 開啟 網路連線 Windows 控制面板中的視窗。
    如需快速存取,請按下 贏+R, 輸入 ncpa.cpl,然後按下 輸入.
  2. 右鍵點擊您相機所使用的網路介面卡連線,然後點擊「 內容」。
    「內容」視窗隨即開啟。
  3. 雙擊「網際網路協定版本 4(TCP/IPv4)」。
    此時將開啟「網際網路協定版本 4(TCP/IPv4)」的「內容」視窗。
  4. 請確認已選取「自動取得 IP 位址」。
    這樣一來,網卡會優先搜尋DHCP 伺服器。
  5. 點選「替代設定」索引標籤。
    此索引標籤上的設定用於配置,當未偵測到任何DHCP 伺服器時,網卡將採用的「自動 IP 位址指派」功能。
  6. 請確認已選取「自動指派私人 IP 位址」選項。

    網際網路協定第 4 版 (IPv4) 屬性(替代設定)

Linux#

要設定網路介面卡:

  1. 透過「顯示應用程式」或右上角的圖示開啟「設定」應用程式。
  2. 在「網路」索引標籤中,點擊相機所連接的網路介面卡旁邊的齒輪圖示。

    「設定」應用程式

  3. 點選「IPv4」索引標籤。

    網路介面卡設定

    • 對於「DHCP 」,請將「IPv4 方法」設定為「自動」(DHCP )。
    • 若要進行靜態位址指派,請將「IPv4 方法」設定為「手動」,並在「位址」區域中輸入「位址」、「子網掩碼」以及(如有需要)「閘道」。
    • 若要啟用自動位址指派,請將「IPv4 方法」設定為「僅限鏈路本位址」。
  4. 點擊「套用」以儲存設定。

攝影機 IP 位址設定#

若要變更攝影機的 IP 設定,請使用pylon 指令: IP Configurator :

  • Windows:點選「開始」>「Basler」>「pylonIP Configurator 」。
  • Linux:執行以下指令:/opt/pylon/bin/ipconfigurator

資訊

如需更多資訊,請參閱 pylonIP Configurator 線上說明(僅限Windows )或本文件中的pylonIP Configurator章節。
自動 IP(LLA ):此選項不可用。然而,若您的攝影機已設定透過DHCP 伺服器進行 IP 位址指派,且未偵測到DHCP 伺服器,攝影機將回退至自動 IP 模式來為自身設定 IP 位址。反之,若您想使用自動 IP,請選取DHCP 選項,並勿指定DHCP 伺服器。

防火牆設定#

Windows#

停用「Windows 」防火牆是一項極端的措施,一般不建議採取。然而,在某些情況下,為了解決效能問題,可能有必要這麼做。

若要停用選定網路介面卡上的防火牆:

  1. 新聞 贏WinR,輸入wf.msc,然後按下 Enter 鍵。
    「Windows 進階安全性防火牆」視窗隨即開啟。
  2. 按一下「Windows 」的「防火牆屬性」。

    Windows 具備進階安全功能的防火牆視窗

    此時會開啟「Windows 防火牆 (進階安全性) — 本地電腦的「內容…」視窗。

  3. 點選您要關閉防火牆保護的設定檔分頁。
    通常,這會是「公共設定檔」分頁。不過,如果您使用的是專用網路卡,Basler 建議也應關閉其他設定檔的防火牆保護。

  4. 點擊「自訂」。

    Windows 具備進階安全性設定的防火牆

    「公共設定檔的受保護網路連線」視窗隨即開啟。該視窗列出了已啟用防火牆的連線。

    「受保護的網路連線」視窗

  5. 清除安裝有攝影機的連線。此舉將關閉其防火牆保護。

  6. 對於所有您想要關閉防火牆保護的設定檔,請重複步驟 3 至 5。

Linux#

必須停用連接攝影機的網路介面卡所對應的防火牆。否則,裝置偵測功能以及從攝影機接收資料串流的功能可能會無法運作。

若要停用防火牆,請輸入:

sudo ufw disable

效能最佳化#

Windows#

如果您的網路介面卡不支援效能驅動程式,系統將預設安裝篩選驅動程式。若屬此情況,您必須先設定該網路介面卡,才能將其與攝影機搭配使用。

首先,Basler 建議停用某些可能干擾濾波驅動程式的通訊協定或服務。

若要停用協定或服務:

  1. 開啟 網路連線 Windows 控制面板中的視窗。
    如需快速存取,請按下 贏+R , 輸入 ncpa.cpl,然後按下 輸入.
  2. 右鍵點擊您相機所使用的網路介面卡連線,然後點擊「 內容」。
    「內容」視窗隨即開啟。
  3. 請取消勾選所有核取方塊,唯獨保留「pylon GigE Vision 驅動程式」及「網際網路通訊協定第 4 版(TCP /IPv4)」這兩項核取方塊:

    「網路介面卡」屬性視窗

  4. 請針對所有適用的網路介面卡,重複步驟 2 和 3。

其次,Basler 建議針對某些轉接器的屬性進行優化。

若要最佳化轉接器的屬性:

  1. 開啟 網路連線 Windows 控制面板中的視窗。
    如需快速存取,請按下 贏+R , 輸入 ncpa.cpl,然後按下 輸入.
  2. 右鍵點擊相機所使用的網路介面卡連線,然後點擊「 內容 」。
    「內容」視窗隨即開啟。
  3. 按下「設定」。
    網路驅動程式的設定視窗隨即開啟。
  4. 按下「進階」。
  5. 請調整以下屬性(請參閱下方的註解):
    1. 選取與接收描述符數量相關的參數(例如:「接收描述符」),並將其設定為最大值。
    2. 請選取與 CPU 中斷數量相關的參數(例如「中斷調控率」),並將其設定為較低的數值,例如 1000。設定 CPU 中斷數量的方法可能因您的網路介面卡而異。您可能需要使用另一個參數來啟用中斷調控功能。
    3. 選取與傳輸速度及雙工模式相關的參數(例如:「傳輸速度與雙工模式」),並將其設定為自動(例如:「自動協商」)。
  6. 請針對所有適用的網路介面卡,重複步驟 2 至 5。

Linux#

要防止封包遺失,首先應增加UDP 的接收緩衝區大小。若已執行此操作,但仍發生封包遺失的問題,請嘗試調整即時優先級、環形緩衝區大小以及中斷調控率。

增加UDP 的接收緩衝區大小#

為了確保使用 Blaze 相機時能穩定擷取影像,Basler 建議將系統的UDP 最大接收緩衝區大小增加,以確保影像擷取的穩定性。建議最大大小至少為 4 MB。

若要增加UDP 的最大接收緩衝區大小,請輸入:

sudo sysctl net.core.rmem_max=4194304

若要讓此設定永久生效,您可以將net.core.rmem_max設定新增至/etc/sysctl.conf檔案中。

設定即時優先級#

Pylon SDK 會使用一個執行緒來接收影像資料。它會嘗試將接收執行緒的優先級設定為即時執行緒優先級,以將抖動和封包遺失降至最低。這通常需要特殊的權限。

然而,對於採用Linux 2.6.13 或更高版本核心的系統,可以允許沒有 root 權限的程序設定即時排程政策。在 Ubuntu 系統上,您可以透過/etc/security/limits.conf檔案,以使用者或群組為單位,控制非特權程序的最大即時優先級。

例如,在/etc/security/limits.conf 中加入以下這行,即可允許所有使用者執行會將執行緒優先級設為即時優先級的應用程式:

*      -      rtprio      99

修改/etc/security/limits.conf需要 root 權限。

修改/etc/security/limits.conf檔案後,您必須先登出,然後再重新登入。有關/etc/security/limits.conf檔案的更多詳細資訊,請參閱limits.conf的 man 頁面。

Basler 建議,對於所有將執行基於 pylon SDK 的應用程式的使用者,應將其最大即時優先級設定為 ≥1。

對於 2.6.12 或更早版本的內核,Basler 建議以 root 權限執行基於 pylon SDK 的應用程式,或為基於 pylon 的應用程式設定 SUID 位元。

資訊

當應用程式的 SUID 位元被設定時,執行時連結器在啟動該應用程式時會忽略 LD_LIBRARY_PATH 變數的值。

您可以使用 blaze Viewer 檢查 GigE 函式庫是否具備設定即時執行緒優先級所需的權限。啟動 blaze Viewer 後,從裝置清單中開啟一個攝影機裝置。在「功能」窗格中,展開「串流參數」節點。ReceiveThreadPriority參數表示接收執行緒的優先級。若該值為零,表示該函式庫不具備設定即時執行緒優先級所需的權限。 若數值大於零,則表示該執行緒是以即時執行緒優先級進行排程的。

增加環形緩衝區的大小#

接收 (Rx) 環形緩衝區定義了網路介面卡 (NIC) 驅動程式用於接收並處理來自攝影機的影像資料所使用的緩衝區數量。通常,環形緩衝區的設定較小,而在處理大量網路流量的系統上,可能需要增加其大小。

若要使用ethtool指令增加環形緩衝區的大小:

範例: 要設定接收(Rx)和傳輸(Tx)環形緩衝區的大小,請 eth0 將網路介面設定為 4096,請輸入:

sudo ethtool -G eth0 rx 4096 tx 4096

資訊

您的網路介面卡可能不支援上述設定。若 ethtool 回傳錯誤,請跳過此項優化。

設定中斷調控率#

中斷調控率(IMR)定義了延遲與效能之間的權衡關係。IMR 控制著中斷節流率(ITR),即控制器調控中斷的速率。ITR 越低,驅動程式的反應就越靈敏,但 CPU 負載也會隨之增加,因為會產生更多中斷。 另一方面,ITR 越高,處理中斷的延遲就越大,但 CPU 負載則越低。因此,對於大多數應用,Basler 建議使用較高的 IMR 值,例如「Extreme」或 3600。若您需要更低的延遲,請使用較低的值。

若要使用ethtool指令設定中斷調控率:

範例: 若要套用針對 eth0 網路介面,請輸入:

sudo ethtool -C eth0 adaptive-rx off adaptive-tx off rx-usecs 62 tx-usecs 62

資訊

您的網路介面卡可能不支援上述設定。若 ethtool 回傳錯誤,請跳過此項優化。

疑難排解#

抓取時發生錯誤

問題:嘗試從多台攝影機擷取影像時,會顯示「PrepareGrab (StartStreaming) 針對該裝置失敗」或「系統資源不足,無法完成 API 操作」的錯誤訊息。

解決方法: 當可用的開放檔案描述符數量用盡時,可能會發生此情況。通常可透過以下指令為當前程序增加此限制:ulimit -n

未顯示相機

問題:即使等待超過一分鐘,我仍無法在應用程式中看到我的攝影機。
視攝影機與轉接器的 IP 設定而定,系統可能需要長達一分鐘的時間,才會為攝影機指派有效的 IP 位址。

解決方案:如果 pylonIP Configurator 可用,請啟動 pylonIP Configurator (/opt/pylon/bin/ipconfigurator)。攝影機是否顯示在IP Configurator 中?

  • 若攝影機的狀態顯示為「無法連線」,請檢查攝影機的 IP 位址及網路介面卡的 IP 位址。攝影機與網路介面卡必須使用同一子網內的 IP 位址。請參閱上文的「網路介面卡 IP 設定」一節。
  • 若攝影機未顯示於「IP Configurator 」中,最可能的原因是防火牆已啟用。請針對攝影機將要連接的網路介面卡停用防火牆。若您未啟用防火牆,則核心中啟用的反向路徑過濾功能可能會導致無法偵測到攝影機。請參閱下一個問題說明以獲取更多詳細資訊。

無法設定攝影機

問題:我的應用程式無法偵測到我的攝影機。我無法重新設定攝影機,使其再次顯示。

解決方案:首先請確認,相機所連接的網路介面卡上未啟用防火牆。
若仍無法偵測到相機,可能是由於核心中的反向路徑過濾功能阻礙了您的應用程式偵測相機。當相機的 IP 位址與其所連接的網路介面卡不在同一個子網內時,便可能發生此情況。
若要檢查過濾功能是否已啟用,請執行以下指令:

sysctl -a 2>/dev/null | grep '\.rp_filter'

在輸出結果中,請尋找以下幾行:

net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.eth1.rp_filter=1

其中eth1是指相機所連接的網路介面卡。net.ipv4.conf.all.rp_filter是一個全局開關,必須關閉。net.ipv4.conf.eth1.rp_filter則顯示指定網路介面卡的過濾功能是否已啟用。若要停用過濾功能,必須先關閉所有網路介面卡以及特定網路介面卡(此範例中為eth1)的過濾功能。請使用以下指令在執行期間變更過濾行為:

sudo sysctl net.ipv4.conf.all.rp_filter=0
sudo sysctl net.ipv4.conf.eth1.rp_filter=0

重新啟動您的應用程式,並檢查是否偵測到攝影機。重新設定攝影機,並使用「寫入設定」將變更永久儲存。您可以透過執行相同的指令,但將數值設為 1,來重新啟用篩選功能。若要永久關閉篩選功能,您可以編輯/etc/sysctl.conf 中的相同數值。

自Linux 核心版本 2.6.32 起,rp_filter 設定支援嚴格與寬鬆兩種過濾模式。若要接受非對稱路由的封包,請修改/etc/sysctl.conf:

net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2

錯誤代碼 0x81010014

問題:擷取影像時會出現錯誤,錯誤代碼為 0x81010014。此錯誤代碼表示電腦收到的影像不完整,也就是說,網路封包已遺失。

解決方案 1:將UDP 的最大接收緩衝區大小增加至足夠大的值。此舉可讓 pylon SDK 將套接字緩衝區大小增加至 2 MB,以確保影像擷取穩定。

解決方案 2:確保該應用程式具備必要的權限,以便將接收執行緒的優先級設定為即時執行緒優先級。

解決方案 3:檢查纜線。對於 GigE,建議使用 Cat 5e 纜線。纜線品質不佳或纜線受損,可能會導致無法復原的傳輸錯誤。

未顯示任何圖片

問題:我的應用程式似乎成功取得圖片,但畫面卻未顯示任何圖片。

解決方案 1:從命令列執行您的應用程式,以查看是否會輸出任何訊息。

解決方案 2:您的應用程式僅接收不完整的畫面幀。在此情況下,系統會顯示諸如「無法擷取影像:GX 狀態 0x81010014」等錯誤訊息。有關如何解決此問題的提示,請參閱前一項問題。

解決方案 3:因其他原因導致影像擷取失敗。請將您的應用程式所顯示的錯誤訊息回報給 Basler 技術支援部門。

後續步驟#

您的攝影機現已準備就緒。有關如何開始使用的資訊,請參閱《Blaze 攝影機的使用說明》。