網路設定 (Stereo ace)#
本主題中針對 Linux 的相關資訊是基於使用 Ubuntu 20.04 的預設桌面 GUI。由於在 Linux 下有多種設定網路介面的方式,請參閱您的 Linux 發行版說明文件以了解更多詳細資訊。
網路設定逐步指南#
以下步驟將引導您完成在網路設定中建立 Stereo ace 相機的過程。
- 決定要如何為相機指派 IP 位址。請考慮以下事項:
- 您計劃使用幾台相機?
- 您正在使用幾張網路介面卡?每台相機是否都有專用的介面卡?
如需詳細資訊,請參閱 建議的網路架構。 - 您是否有可用的 DHCP 伺服器?
如果您有 DHCP 伺服器,請使用它。這會讓設定變得簡單許多。
如果您沒有 DHCP 伺服器,您可以選擇使用靜態 IP 位址或 Auto IP:- Auto IP 僅在您設定使用 Auto IP 的網路介面卡不超過一個時才能使用。為多個介面卡設定 Auto IP 會導致無法偵測到相機。
- 如果您使用多個具有靜態位址的網路介面卡,則每個介面卡必須位於不同的子網路中。
- 設定網路卡的地圖 IP 位址。
- 使用 pylon IP Configurator 設定相機的 IP 位址。
-
在 pylon IP Configurator 中檢查連線。
- 如果狀態為 OK,則一切正常。
-
如果狀態為 Not reachable,請檢查以下事項:
- 確保沒有其他應用程式正在存取相機。
- 確保網路卡的子網路遮罩與相機相同。
- 確保網路卡與相機的位址位於同一個子網路中。
範例:如果子網路遮罩為 255.255.0.0,則 IP 位址的前兩個區塊必須相同。 - 確保所有其他網路卡都設定為與相機所連接的子網路不同的子網路。
- 確保沒有其他網路裝置使用與相機相同的位址。
-
如果未列出相機,請檢查以下事項:
- 相機是否實體連接至正確的網路卡?
- 為相機所連接的網路卡停用防火牆。
- 調整效能設定。
- 故障排除
如果在串流傳輸時出現掉格或錯誤訊息,最常見的原因是網路連線不穩定或效能不足。 - 檢查是否可以進一步最佳化 Windows 或 Linux 系統上的網路設定。
- 為相機所連接的網路卡停用防火牆。
建議的網路架構#
規劃網路有兩種方法。以下列出它們的差異,以協助您選擇合適的設定。
點對點網路架構#
其中一個選項是在相機與主機電腦之間建立直接點對點連線。
相機可以連接至主機電腦中的個別 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。
透過網路交換器連接#
或者,您也可以透過網路交換器建立相機與主機電腦之間的連線。
以下範例顯示連接至 4 通訊埠網路交換器的 1 通訊埠 GigE 網路介面卡。您也可以使用多通訊埠網路介面卡或多個交換器。
- 優點:允許將多台相機連接至單一主機電腦。
- 優點:允許更長的整體纜線長度,因為各裝置之間的纜線長度最高可達 100 公尺。
- 缺點:交換器只有一個連接至電腦的 GigE 連線。相機必須共用此單一通道上可用的頻寬。單一通道上的可用頻寬約為 125 MByte/s。如果此頻寬不足,透過簡單的系統轉換改用 5GigE 上行鏈路,即可達到五倍的速度。
資訊
當多台相機連接至交換器時,交換器必須具備充足的緩衝區容量。這可讓交換器在傳輸單一輸出線路上的資料時,暫存來自相機的輸入資料。
所有相機都必須擁有同一個子網路(即介面卡的子網路)中的位址。
範例:如果電腦的位址是 192.168.1.1,相機可採用 192.168.1.100、192.168.1.101 等 IP 位址。
建議的網路介面卡#
為了達到最佳效能與可靠性,Basler 建議使用 Intel PRO 1000、I210、I340 和 I350 系列的介面卡。
網路介面卡 IP 設定#
以下是設定網路介面卡 IP 位址最常見的兩種方式:
Windows#
指定固定 IP 位址#
若要為網路介面卡指派固定 IP 位址:
- 開啟 Windows 控制台中的 網路連線 視窗。
若要快速存取,請按下 Win+R,輸入ncpa.cpl,然後按下 輸入. - 在用於相機的網路介面卡連線上按一下滑鼠右鍵,然後按一下內容。
隨即會開啟內容視窗。 - 按兩下網際網路通訊協定第 4 版 (TCP/IPv4)。
隨即會開啟網際網路通訊協定第 4 版 (TCP/IPv4) 內容視窗。 - 按一下使用下列的 IP 位址。
- 在IP 位址、子網路遮罩和預設閘道欄位中,輸入 IP 位址、子網路遮罩和預設閘道位址。
-
在慣用 DNS 伺服器和其他 DNS 伺服器欄位中,輸入主要和次要 DNS 伺服器位址。(通常不需要網域名稱伺服器。)

-
對於所有適用的網路介面卡,重複步驟 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 伺服器,介面卡會使用 Auto IP 常式來為自己指派 IP 位址。
大多數網路介面卡的預設設定都是 DHCP / Auto IP。在大多數情況下,與相機搭配使用的介面卡將沒有可用的 DHCP 伺服器。因此在預設設定下,介面卡最終會使用自動 IP 定址來為自己指派 IP 位址。
資訊
只能將一個介面卡設定為使用 Auto IP. 如果在多個介面卡上設定了 DHCP / Auto IP,Auto IP 指派將無法正常運作,且相機將無法透過 Auto IP 連線到網路。
如果您的電腦中有多個網路介面卡,Basler 建議在您的網路中安裝 DHCP 伺服器,或為介面卡和相機指派靜態 IP 位址。
若要使用 DHCP / Auto IP 指派 IP 位址:
- 開啟 Windows 控制台中的 網路連線 視窗。
若要快速存取,請按下 Win+R,輸入ncpa.cpl,然後按下 輸入. - 在用於相機的網路介面卡連線上按一下滑鼠右鍵,然後按一下內容。
隨即會開啟內容視窗。 - 按兩下網際網路通訊協定第 4 版 (TCP/IPv4)。
隨即會開啟網際網路通訊協定第 4 版 (TCP/IPv4) 內容視窗。 - 確定已選取 自動取得 IP 位址。
這會使介面卡將尋找 DHCP 伺服器作為首選。 - 按一下 替代設定 索引標籤。
此索引標籤上的設定用於設定當找不到 DHCP 伺服器時,介面卡將使用的 Auto IP 位址指派。 -
確定已選取 自動私有 IP 位址。

Linux#
若要設定網路介面卡:
- 透過 顯示應用程式 或右上角的圖示開啟 設定 應用程式。
-
在 網路 索引標籤上,按一下相機所連接之網路介面卡旁邊的齒輪圖示。

-
按一下 IPv4 索引標籤。

- 對於 DHCP,將 IPv4 方法 設定為 自動 (DHCP)。
- 若要進行靜態位址指派,請將 IPv4 Method 設定為 Manual,然後在 Addresses 區域中輸入 Address、Netmask,以及必要的 Gateway。
- 若要進行自動位址指派,請將 IPv4 Method 設定為 Link-Local Only。
-
按一下 Apply 以儲存設定。
相機 IP 位址設定#
若要變更相機的 IP 組態,請使用 pylon IP Configurator:
- Windows:按一下 Start > Basler > pylon IP Configurator。
- Linux:執行下列指令:/opt/pylon/bin/ipconfigurator
資訊
如需詳細資訊,請參閱 pylon IP Configurator 線上說明(僅限 Windows)或本說明文件中的 pylon IP Configurator 小節。
Auto IP (LLA):此選項無法使用。不過,如果您的相機設定為透過 DHCP 伺服器進行 IP 位址指派,但找不到 DHCP 伺服器,相機將會回復使用 Auto IP 來自行設定 IP 位址。相對地,如果您想要使用 Auto IP,請選取 DHCP 選項而不提供 DHCP 伺服器。
防火牆設定#
Windows#
停用 Windows 防火牆是一項極端的措施,通常不建議這樣做。不過,在某些情況下,為了修正效能問題,這可能是必要的。
若要關閉特定網路卡上的防火牆:
- 按下 Win+R,輸入 wf.msc,然後按下 Enter 鍵。
隨即會開啟 Windows Firewall with Advanced Security 視窗。 -
按一下 Windows Firewall Properties。

隨即會開啟 Windows Firewall with Advanced Security on Local Computer Properties… 視窗。
-
按一下您要關閉防火牆保護的設定檔標籤。
通常這會是 Public Profile 標籤。不過,如果您使用的是專用網路卡,Basler 建議同時停用其他設定檔的防火牆保護。 -
按一下 Customize。

隨即會開啟 Protected Network Connections for the Public Profile 視窗。該視窗會列出已開啟防火牆的連線。

-
清除連接了相機的連線勾選。這會關閉其防火牆保護。
- 對所有您想要關閉防火牆保護的設定檔重複步驟 3 到 5。
Linux#
連接相機的網路卡必須停用防火牆。否則,裝置尋找和接收來自相機的資料串流可能會無法運作。
若要停用防火牆,請輸入:
效能最佳化#
Windows#
如果您的網路卡不支援效能驅動程式,將會預設安裝篩選器驅動程式。若是如此,必須先設定網路卡,才能將其與相機搭配使用。
首先,Basler 建議停用可能會干擾篩選器驅動程式的特定通訊協定或服務。
若要停用通訊協定或服務:
- 開啟 Windows 控制台中的 網路連線 視窗。
若要快速存取,請按下 Win+R ,輸入ncpa.cpl,然後按下 輸入. - 在用於相機的網路介面卡連線上按一下滑鼠右鍵,然後按一下內容。
隨即會開啟內容視窗。 -
清除除 pylon GigE Vision Driver 和 Internet Protocol Version 4 (TCP/IPv4) 之外的所有核取方塊:

-
對所有適用的網路介面卡重複步驟 2 和 3。
其次,Basler 建議最佳化特定的介面卡 Property。
若要最佳化介面卡 Property:
- 開啟 Windows 控制台中的 網路連線 視窗。
若要快速存取,請按下 Win+R ,輸入ncpa.cpl,然後按下 輸入. - 在與相機搭配使用的網路介面卡連線上按一下滑鼠右鍵,然後按一下 Properties。
隨即會開啟 Properties 視窗。 - 按一下 Configure。
隨即會開啟網路驅動程式的設定視窗。 - 按一下 Advanced。
- 調整以下 Property(請參閱下方的備註):
- 將 Jumbo Frames Property 設定為最大值。
如果沒有 Jumbo Frames Property,請選取與畫面大小相關的參數並將其設定為最大值。 - 選取與接收描述元數量相關的參數(例如 Receive Descriptors)並將其設定為最大值。
- 選取與 CPU 中斷次數相關的參數(例如 Interrupt Moderation Rate)並將其設定為較低的值,例如 1000。設定 CPU 中斷次數的方式可能會因您的網路介面卡而異。您可能必須使用單獨的參數來啟用中斷調節。
- 選取與速度和雙工模式相關的參數(例如 Speed and Duplex Mode)並將其設定為自動(例如 Auto Negotiation)。
- 將 Jumbo Frames Property 設定為最大值。
- 對所有適用的網路介面卡重複步驟 2 至 5。
Linux#
防止封包遺失的首要任務是啟用巨型畫面 (jumbo frames) 並增加 UDP 接收緩衝區大小。如果您已執行此操作但仍遇到封包遺失的問題,請嘗試調整即時優先權、環形緩衝區大小和中斷調節率。
啟用巨型封包 (Jumbo Frames)#
使用巨型畫面對於降低負擔和 CPU 負載非常重要。畫面大小越大,產生的 CPU 中斷就越少,因此 CPU 負載也就越低。透過使用以下工具將最大傳輸單元 (MTU) 設定為其最大值 9000 來啟用巨型畫面 ifconfig 命令。
若要將 MTU 設定為 eth0 網路介面設為 9000,請輸入:
增加 UDP 接收緩衝區大小#
為了確保使用 Stereo ace 相機進行穩定的影像擷取,Basler 建議增加系統的最大 UDP 接收緩衝區大小,以確保穩定的影像擷取。建議最大大小至少為 4 MB。
若要增加最大 UDP 接收緩衝區大小,請輸入:
若要使此設定永久生效,您可以將 net.core.rmem_max 設定新增至 /etc/sysctl.conf 檔案。
設定即時優先權#
pylon SDK 使用執行緒來接收影像資料。它嘗試將接收執行緒的執行緒優先權設定為即時執行緒優先權,以將抖動和封包遺失降到最低。這通常需要特殊的權限。
不過,對於使用 Linux 核心 2.6.13 或更新版本的系統,可以允許沒有 root 權限的行程設定即時排程策略。在 Ubuntu 系統上,您可以透過 /etc/security/limits.conf 檔案針對每個使用者或群組控制非特權行程的最大即時優先權。
例如,將以下行新增至 /etc/security/limits.conf 允許所有使用者啟動將執行緒優先權設定為即時優先權的應用程式:
變更 /etc/security/limits.conf 需要 root 權限。
修改 /etc/security/limits.conf 檔案後,您必須先登出再重新登入。如需關於 /etc/security/limits.conf 檔案的更多詳細資料,請參閱 limits.conf man 說明頁面。
Basler 建議為所有將啟動基於 pylon SDK 之應用程式的使用者,指定大於或等於 1 的最大即時優先權 (real-time priority)。
對於核心版本 2.6.12 或更舊版本,Basler 建議以 root 權限啟動基於 pylon SDK 的應用程式,或設定基於 pylon 之應用程式的 SUID 位元 (bit)。
資訊
當設定了應用程式的 SUID 位元時,執行階段連結器 (runtime linker) 在啟動該應用程式時會忽略 LD_LIBRARY_PATH 變數的值。
您可以使用 pylon 3D Viewer 來檢查 GigE library 是否具備設定即時執行緒優先權所需的權限。啟動 pylon 3D Viewer 後,從裝置清單中開啟相機裝置。在 Features 窗格中,展開 Stream Parameters 節點。ReceiveThreadPriority 參數表示接收執行緒的執行緒優先權。如果值為零,表示該 library 沒有設定即時執行緒優先權所需的權限。大於零的值表示該執行緒是以即時執行緒優先權進行排程。
增加環形緩衝區 (Ring Buffer) 大小#
接收 (Rx) 環形緩衝區定義了 NIC 驅動程式用來接收和處理來自相機之接收影像資料的緩衝區數量。通常,環形緩衝區的設定較小,在接收大量網路流量的系統上可能需要增大。
若要使用 ethtool 指令增加環形緩衝區大小:
範例: 若要將接收 (Rx) 與傳輸 (Tx) 環形緩衝區大小設定為 eth0 網路介面設為 4096,請輸入:
資訊
您的網路介面卡可能不支援上述組態。如果 ethtool 傳回錯誤,請略過此最佳化。
設定中斷調節速率#
中斷調節率 (IMR) 定義了延遲與效能之間的取捨。IMR 會控制中斷節流率 (ITR),也就是控制器調節中斷的速率。ITR 越低,驅動程式的回應速度就會越快,但 CPU 負載也會越高,因為會產生更多中斷。另一方面,ITR 越高,處理中斷的延遲就會越高,但 CPU 負載會較低。因此,對於大多數應用程式,Basler 建議使用較高的 IMR 值,例如 Extreme 或 3600。如果您需要較低的延遲,請使用較低的值。
若要使用 ethtool 指令設定中斷調節率:
範例: 若要套用建議的設定至 eth0 網路介面,請輸入:
資訊
您的網路介面卡可能不支援上述組態。如果 ethtool 傳回錯誤,請略過此最佳化。
故障排除#
擷取時發生錯誤
問題: 嘗試從多部相機擷取影像時,顯示錯誤訊息 "PrepareGrab (StartStreaming) failed for device" 或 "Insufficient system resources exist to complete the API"。
解決方案: 當可用開啟檔案描述元 (file descriptors) 的數量耗盡時,可能會發生此狀況。通常可以使用以下指令為目前程序增加此限制:ulimit -n
未顯示相機
問題: 我的應用程式看不到相機,即使等待超過一分鐘也是如此。
根據相機與介面卡的 IP 組態,可能需要長達一分鐘的時間才能將有效的 IP 位址指派給相機。
解決方案: 如果 pylon IP Configurator 可用,請啟動 pylon IP Configurator (/opt/pylon/bin/ipconfigurator)。IP Configurator 中是否顯示該相機?
- 如果相機狀態為 Not Reachable,請檢查相機的 IP 位址以及介面卡的 IP 位址。相機與網路介面卡都必須使用位於相同子網路內的 IP 位址。請參閱上方 Network Adapter IP Configuration 節。庫
- 如果 IP Configurator 中未顯示相機,最可能的原因是啟用了防火牆。請針對相機將連接的那些網路介面卡停用防火牆。如果您沒有防火牆,核心中啟用的反向路徑過濾 (reverse-path filtering) 可能會阻止相機被偵測到。請參閱下一個問題說明以取得更多詳細資料。
無法設定相機
問題: 我的應用程式看不到我的相機。我無法重新設定相機以使其再次可見。
解決方案:首先,請確定連接相機的網路介面卡上未啟用防火牆。
如果您仍然無法看到相機,則核心中的反向路徑過濾可能會阻止您的應用程式偵測相機。當相機的 IP 位址與連接相機的網路介面卡不在同一子網路中時,可能會發生這種情況。
若要檢查是否已開啟過濾功能,請執行以下命令:
在輸出中,尋找以下幾行:
其中 eth1 是連接相機的網路介面卡。net.ipv4.conf.all.rp_filter 是一個必須關閉的全域開關。net.ipv4.conf.eth1.rp_filter 顯示是否啟用了指定網路介面卡的過濾功能。若要停用過濾功能,您必須先關閉 all 以及特定網路介面卡(在此範例中為 eth1)的過濾功能。請使用下列命令在執行階段變更過濾行為:
重新啟動您的應用程式,並檢查是否已偵測到相機。重新設定相機並使用 Write Configuration 使您的變更永久生效。您可以透過執行相同的命令但將值設為 1 來重新啟用過濾功能。如果您想要永久關閉過濾功能,可以在 /etc/sysctl.conf 中編輯相同的值。
從 Linux 核心版本 2.6.32 開始,rp_filter 設定允許嚴格和寬鬆的過濾。若要接受非對稱路由的封包,請修改 /etc/sysctl.conf:
錯誤代碼 0x81010014
問題:擷取影像導致錯誤,錯誤代碼為 0x81010014。此錯誤代碼表示電腦接收到不完整的影像,亦即網路封包已遺失。
解決方案 1:將最大的 UDP receive buffer size 增加到夠大的值。這可讓 pylon SDK 將通訊端緩衝區大小增加至 2 MB,以確保穩定的影像擷取。
解決方案 2:確保應用程式具有必要的權限,可將 receive thread's priority 設定為即時執行緒優先權。
解決方案 3:檢查纜線。對於 GigE,建議使用 Cat 5e 纜線。品質不良或受損的纜線可能會導致無法復原的傳輸錯誤。
未顯示影像
問題:我的應用程式似乎正在擷取影像,但未顯示任何影像。
解決方案 1:從命令列啟動您的應用程式,以查看它是否列印任何訊息。
解決方案 2:您的應用程式只接收到不完整的張。在這種情況下,會顯示諸如 Failed to grab image: GX status 0x81010014 的錯誤訊息。請參閱先前的問題以取得如何解決此問題的提示。
解決方案 3:擷取影像因其他原因而失敗。請將應用程式列印的錯誤訊息回報給 Basler 技術支援。
後續步驟#
您的相機現在已準備好使用。如需如何開始使用的資訊,請參閱 Using Stereo ace cameras。