http://www.kadhoai.com.cn 2026-04-08 06:01:07 來源:
在zai某mou些xie應ying用yong場chang合he中zhong,如ru果guo需xu要yao處chu理li來lai自zi多duo台tai相xiang機ji的de圖tu像xiang時shi,則ze圖tu像xiang記ji錄lu的de精jing確que時shi間jian或huo準zhun確que的de先xian後hou順shun序xu對dui後hou續xu處chu理li至zhi關guan重zhong要yao。若ruo相xiang機ji能neng夠gou提ti供gong時shi間jian戳chuo,則ze可ke為wei不bu同tong的de圖tu像xiang數shu據ju建jian立li時shi間jian基ji準zhun。然而,相機的時間基準要能夠精確匹配,這一點至關重要。通過使用“精確時間協議”(PTP),HK IDS GigE Vision相機(固件版本2.2或以上)能夠輕鬆實現同步。
借助精確時間協議(PTP)同步HK IDS GigE Vision相機
精確時間協議(PTP)是一種時間同步標準(IEEE1588),它(ta)使(shi)通(tong)過(guo)網(wang)絡(luo)連(lian)接(jie)的(de)設(she)備(bei)實(shi)現(xian)時(shi)間(jian)同(tong)步(bu)。支(zhi)持(chi)此(ci)標(biao)準(zhun)的(de)相(xiang)機(ji)可(ke)在(zai)特(te)定(ding)的(de)周(zhou)期(qi)內(nei)與(yu)主(zhu)時(shi)鍾(zhong)交(jiao)換(huan)同(tong)步(bu)信(xin)息(xi)。利(li)用(yong)各(ge)自(zi)發(fa)送(song)和(he)接(jie)收(shou)時(shi)間(jian)中(zhong)的(de)時(shi)間(jian)戳(chuo)信(xin)息(xi),相(xiang)機(ji)內(nei)部(bu)的(de)計(ji)數(shu)器(qi)可(ke)實(shi)現(xian)精(jing)確(que)地(di)校(xiao)準(zhun)和(he)同(tong)步(bu)。
所有固件版本為2.2及以上的HK IDS GigE Vision相機都可與PTP兼容!
IEEE1588時間戳是以1970年1月1日0時0分為計時起點,支持1納秒(1 GHz)的時間分辨率。然而,由於延遲和信號運行時的不準確性,聯網設備的時間同步精度達微秒級。
PTP應用案例
PTP作為一種基礎協議,通過為圖像數據提供時間基準,為各種應用奠定基礎。視應用要求及網絡基礎設施的複雜性的不同,PTP可以通過不同的方式來實現。
01 相對時間戳同步
在zai本ben案an例li中zhong,所suo有you相xiang機ji都dou在zai同tong一yi個ge網wang絡luo。其qi中zhong一yi台tai相xiang機ji為wei主zhu服fu務wu器qi,其qi餘yu相xiang機ji為wei從cong服fu務wu器qi。所suo有you從cong相xiang機ji的de時shi間jian戳chuo與yu主zhu相xiang機ji同tong步bu。相xiang機ji既ji不bu提ti供gong絕jue對dui時shi間jian戳chuo(實時),同時在無其他操作的情況下,也無法實現同步觸發。

優勢:
■ zaigaiyingyongchanghezhong,xiangduishijianchuoquedingsuoyouxiangjituxiangjiludeshijianfenpei。ciwai,xiangduishijianchuohainengquedingnayizhangtuxiangweidiyizhang,yijibutongxiangjidetuxiangshichadaxiao。
■ 無需額外的操作和成本,即可為特定的網絡基礎架構生成相對時間戳。
02 利用絕對時間同步時間戳
本案例中,聯網相機與外部主時鍾同步。該PTP主時鍾可以是支持“硬件時間戳”的網卡——若無硬件支持,同步精度將顯著降低。除必要的硬件外,還需要支持PTP的軟件。

優勢:
■ 具備全局(實時)時間戳的圖像內容可跨越當前的應用限製,與任何其他使用實時時間基準的信息相關聯。
■ 對於其它使用全局時間基準的應用場合或評估,圖像內容可以重用。
使用PTP:“相對同步”
硬件設置
兩台不同的固件版本為2.2(支持PTP)的HK IDS GigE Vision相機(GV-526xFA-C和GV-504xCP-M)連至同一網絡交換機。一台額外的主機PC,僅用於控製和配置相機,不涉及相機的PTP同步。
軟件設置
可通過“PtpControl”下的相機功能節點圖查找所有PTP配置功能。隻有固件需為2.2或以上版本的相機才能使用這些功能。我們在主機PC上安裝配套軟件,來設置PTP同步。
將一台相機配置為PTP主時鍾
GV-526xFA-C相機應設置為PTP主時鍾。在軟件中打開相機,並將“PtpEnable”設為“True”,啟用PTP。另外,將“PtpSlaveOnly”設為“False”為相機賦予“主時鍾”角色。
# Configure master camera
PtpEnable = True
PtpSlaveOnly = False
將另一台相機配置為PTP從時鍾
GV-504xCP-M相機應設為PTP從時鍾。同理,將“PtpEnable”設為“True”以啟用PTP。此時,這台相機僅作為從時鍾使用。將“PtpSlaveOnly”仍設為“True”。
# Configure slave camera
PtpEnable = True
PtpSlaveOnly = True
創建主從等級
在完成主從時鍾配置後,主-從等級將自動創建。對於主時鍾相機,可通過“PtpStatus”由“Listening ”變成“Master”來確定。對於從時鍾相機,可通過“PtpStatus”先由“Listening”變為“Uncalibrated”,並在與主時鍾相機同步後變為“Slave”來確定。
在通過相機的新PTP功能完成主從等級創建後,“相對同步”也隨之完成。
啟用時間戳
如果您希望對圖像數據使用已同步相機生成的時間戳,則必須將時間戳作為元數據,啟用元數據(及塊數據)傳輸。
首先,將“ChunkModeActive”設為“True”,以通過圖像緩衝區啟用塊數據傳輸。然後,通過“ChunkSelector”選擇“Timestamp”,並通過“ChunkEnable”開關啟用時間戳。
# activate chunk data creation
ChunkModeActive = True
# enable "ChunkTimestamp"
ChunkSelector = Timestamp
ChunkEnable = True
這時,相機所采集的每一張圖像將具備相應的時間戳,並借助圖像緩衝區(通過塊數據)傳輸至主機PC。這樣,塊數據及時間戳可通過任何視覺標準軟件進行讀取。
圖像采集
ruguoyingyongzhongxuyaoduidaishijianchuodetuxiangshujujinxingchuli,zetuxiangdejilushijianhexiangjidechufazhiguanzhongyao。zhezhongqingkuangqujueyulaiziduotaixiangjidetuxiangshifouxuyaowanquanxiangtongdecaijishijian(同步圖像采集)以及時間關聯偏差(時間戳抖動)有you多duo大da。根gen據ju應ying用yong要yao求qiu,須xu選xuan擇ze適shi合he相xiang機ji的de觸chu發fa模mo式shi。在zai做zuo出chu這zhe一yi選xuan擇ze時shi,要yao考kao慮lv的de決jue定ding性xing的de因yin素su不bu僅jin包bao括kuo不bu同tong軟ruan件jian和he硬ying件jian信xin號hao模mo式shi的de精jing度du,也ye包bao括kuo部bu署shu和he使shi用yong所suo需xu操cao作zuo和he成cheng本ben。為wei檢jian查zha先xian前qian配pei置zhi的de“相對同步”,我們使用每秒脈衝數(PPS)信號來觸發相機,以實現同步自由運行。
同步自由運行
顧名思義,在PTP功能啟用的情況下,每台相機(主時鍾相機和從時鍾相機)的PPS信號會每秒生成一個。因此我們可借助PPS信號檢查相機的同步狀態。這一信號被設置為觸發源,因此每秒鍾將觸發一次圖像采集。除了由“相對同步”導致的幾微妙的偏差,相機生成的圖像時間戳應為一致。通過PPS信號實現所有相機同步自由運行的操作如下:
# image acquisition configuration for both cameras
LineSelector = Line2
LineMode = Output
LineSource = PPS
TriggerSelector = ExposureStart
TriggerMode = On
TriggerSource = Line2
# Limit bandwidth on both cameras
DeviceLinkThroughputLimit = 60000000
# Start acquisition on both cameras
Execute AcquisitionStart

同步PPS觸發信號將觸發相機在同一時間點進行圖像采集
讀取時間戳
為wei在zai應ying用yong場chang合he中zhong處chu理li時shi間jian戳chuo和he圖tu像xiang內nei容rong,您nin須xu讀du取qu當dang前qian圖tu像xiang緩huan衝chong區qu的de塊kuai數shu據ju。塊kuai數shu據ju為wei製zhi造zao商shang相xiang關guan的de有you效xiao負fu載zai緩huan衝chong區qu,其qi存cun儲chu布bu局ju通tong常chang未wei知zhi,因yin此ci我wo們men將jiang通tong過guo節jie點dian圖tu來lai讀du取qu各ge個ge元yuan數shu據ju。為wei此ci,所suo有you現xian有you的de元yuan數shu據ju及ji其qi標biao準zhun的de節jie點dian名ming稱cheng將jiang從congGenTL傳輸至節點圖,以便通過標準的API進行訪問。
以下的源代碼片段為您演示如何從圖像緩衝區中提取時間戳。安裝包也為您提供了有關塊數據處理的完整源代碼示例。
// Get buffer from device's datastream
const auto buffer = m_dataStream->WaitForFinishedBuffer(5000);
// check buffer for chunks
if (buffer->HasChunks())
{
// update nodemap with current chunk data
m_nodemapRemoteDevice->UpdateChunkNodes(buffer);
// Get the value of the timestamp chunk
const auto chunktimestamp = m_nodemapRemoteDevice->FindNode<peak::core::nodes::FloatNode>("ChunkTimestamp")->Value();
}
總結
當涉及圖像內容的時間分配時,PTPshiduoxiangjiyingyongchanghezhongyigezhongyaodejichugongneng,nenggouqingsongshixianxiangjijiandexiangduitongbu,wuxuewaideyingjianheruanjianzhichi。zaixuduoyingyongchanghezhong,xiangduixiangjitongbuyezuyiquebaotuxiangzai“相同”的時間或以正確的順序使用。相機還配備外部定時器,適用於全局同步。