簡體   English   中英

通過 PTP 同步多個 Allied Vision GenICam 相機的時間戳

[英]Synchronizing the timestamp of multiple Allied Vision GenICam cameras through PTP

我正在開發一個帶有多個工業 Allied Vision Mako 相機的系統。 我需要同步這些相機,Allied Vision 建議使用 PTP 協議。 因此,我有一個時間服務器作為 PTP 主時鍾。 攝像機通過以太網交換機連接到該服務器。 不幸的是,該交換機未啟用 PTP,這意味着它在傳遞 PTP 數據包時會引入延遲。 這會導致相機保持在PtpStatus == Uncalibrated

據我了解 Allied Vision GigE-Features 手冊,PTP 導致相機的時間戳在所有相機上同步,即GevTimestampValue在任何給定時間在所有相機上都應該相同。 然而,在我用多個相機拍攝時鍾的實驗中,我觀察到兩個不同相機提供的時間戳約為 187511041595600 滴答(約 187511 秒),而幀中可見的時鍾顯示的實際時差約為 0.04 秒。

因此,我的問題是:

  • 我是否正確理解了 Allied Vision 的 PTP 界面?
  • 可能是PtpStatus == Uncalibrated導致這不起作用?

經過一些調查工作,我找到了原因,並將在這里分享我的發現,以防其他人陷入同樣的境地:

簡短的回答:

  • 我的問題的原因確實是我的開關。 我暫時用一個不同的開關替換了它,這解決了這個問題。
  • 我確實正確理解了 PTP,但是,相機需要至少在PtpStatus == Slave中出現一次才能同步。 如果它們稍后失去同步,它們將恢復為Uncalibrated並保持一定程度的同步,但如果它們從未處於PtpStatus == Slave中,它們尚未同步。 這導致時間戳偏離。

長答案:我將交換機配置為鏡像時間服務器和相機連接到我的筆記本電腦的端口。 使用 WireShark,我能夠調查 PTP 流量並發現SyncDelay_Req數據包被傳遞,這導致攝像機從Listening轉換為Uncalibrated (我的時間服務器不發送Follow_Up )。 但是, Delay_Resp (由時間服務器發送)被交換機丟棄。 因此,我的交換機似乎以某種方式配置錯誤,讓那些其他多播數據包在丟棄Delay_Resp時通過。

gen 防火牆配置

[英]firewall config for gen<i>cam / GigE vision camera discovery and communication

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM