在 Linux 上以多重執行個體啟動 pylon 應用程式時可能發生的問題#
在極少數的情況下,您可能需要同時執行多個應用程式實例,以管理多台攝影機。
若所有攝影機皆為相同型號、使用相同的韌體版本,且所有應用程式執行個體皆於同一時間啟動,則GenICam 會因檔案存取違規而拋出例外。
這是因為當使用相同的相機型號和相同的韌體時,GenICam 快取檔案會使用相同的名稱。
pylon 中用於Windows 的GenICam 版本已針對此問題進行防護,但Linux 版本則未受保護。
解決方案 1#
請先以單一執行個體啟動應用程式,將相機的XML 快取檔案寫入磁碟。一旦硬碟上已存在某台相機的GenICam 快取檔案,系統將僅授予讀取權限,此時便不會再拋出該例外。
解決方案 2#
若作業系統安裝在 ROM 上,上述解決方法將無效,因為系統重新啟動後,XML 快取檔案將會遺失。
在此情況下,為每個應用程式執行個體指定一個獨立的GenICam 快取目錄即可解決此問題,例如:
GENICAM_CACHE_V2_3=/home/$username/Genicam_cache1 ./GrabGENICAM_CACHE_V2_3=/home/$username/Genicam_cache2 ./Grab
資訊
使用 GENICAM_CACHE_V2_3 針對第 4 號電塔以及 GENICAM_CACHE_V3_0 適用於 Pylon 5 或更高版本。請確認目標目錄已存在,且使用者具有寫入權限。