• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      XML文件在GigE相機(jī)中的應(yīng)用

      2015-01-04 08:51:12趙建華
      電子設(shè)計(jì)工程 2015年12期
      關(guān)鍵詞:描述符配置文件結(jié)點(diǎn)

      趙建華,郭 奔

      (西安工業(yè)大學(xué) 電子通信工程學(xué)院,陜西 西安 710032)

      隨著工業(yè)自動(dòng)化,尤其是機(jī)器視覺(jué)行業(yè)的發(fā)展,對(duì)圖像采集設(shè)備的速度和性價(jià)比的要求越來(lái)越高。其中,GigE Vision相機(jī)[1]因?yàn)槠鋫鬏斔俣瓤?、性價(jià)比高、操作簡(jiǎn)單等優(yōu)點(diǎn)越來(lái)越受到人們的青睞。在國(guó)內(nèi),具備獨(dú)立開(kāi)發(fā)GigE Vision相機(jī)能力的只有大恒,盈科視控等屈指可數(shù)的幾個(gè)廠家而已,XML配置文件做為GigE Vision相機(jī)的一個(gè)關(guān)鍵技術(shù)很有研究的意義。

      一個(gè)符合GigE Vision協(xié)議的相機(jī)必須使用XML設(shè)備配置文件,而且必須具有解析XML設(shè)備配置文件的能力,相機(jī)可以通過(guò)解析XML設(shè)備配置文件在與應(yīng)用程序建立連接時(shí)通過(guò)寄存器來(lái)得到足夠的有效信息。XML設(shè)備配置文件有以下幾個(gè)特點(diǎn):

      1)獨(dú)立性。XML文件可以用來(lái)標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類(lèi)型,是一種允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言。 它提供統(tǒng)一的方法來(lái)描述和交換獨(dú)立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。

      2)可維護(hù)性。XML文件是以文本格式存儲(chǔ)的,十分便于閱讀;另外,它的內(nèi)容和語(yǔ)法都比較簡(jiǎn)單,應(yīng)用開(kāi)發(fā)者并不需要花費(fèi)大量的時(shí)間來(lái)學(xué)習(xí)。這些因素決定了XML設(shè)備配置文件的維護(hù)成本很低。

      3)易用性。對(duì)于任何支持GigE Vision相機(jī)[2]的軟件來(lái)說(shuō),不需要對(duì)XML設(shè)備配置文件做任何修改就可以保證相機(jī)正常使用,而不需要使用相機(jī)廠家指定的上位機(jī)軟件。

      1 XML配置文件的使用

      XML文件在GigE Vision協(xié)議[3]中被稱(chēng)為XML設(shè)備配置文件,它描述了相機(jī)的配置情況,以及上位機(jī)軟件能夠如何控制相機(jī)[4]。使用GigE Vision相機(jī)需要配合上位機(jī),用來(lái)提供操作相機(jī)的界面,以及解析XML設(shè)備配置文件,目前比較主流的該類(lèi)軟件主要有 Balser公司的 Pylon,JAI公司的 JAI Control,NI的 Vision Acquisition,另外還有 Halcon 等,本文以JAI Control為例進(jìn)行說(shuō)明。

      1.1 XML設(shè)備配置文件的工作流程

      如圖1所示,為XML配置文件的工作流程。在正式開(kāi)始工作之前,要連接好相機(jī)的電源和網(wǎng)線,然后打開(kāi)JAI Control軟件。

      圖1 XML配置文件使用流程Fig.1 Use flow of XML configuration file

      第一步,讀取XML配置文件。JAI Control首先會(huì)從相機(jī)內(nèi)寄存器地址為0x0200,長(zhǎng)度為512字節(jié)的地址區(qū)域中確定XML設(shè)備配置文件的實(shí)際存儲(chǔ)位置,然后讀取這個(gè)XML設(shè)備配置文件;如果該地址無(wú)效,就會(huì)從寄存器地址0x400長(zhǎng)度為512字節(jié)的地址區(qū)域中再讀取一個(gè)XML配置文件。讀取到的內(nèi)容有3種形式,第一種為“Local:acme_titan_rev1.zip;1C400;A000”,表示 XML文件保存在本地磁盤(pán)中地址0x1C400開(kāi)始的大小的0xA000的區(qū)域中;第二種為“http://www.acme.com/camera/acme_titan_rev1.xml”,表示XML配置文件保存在該網(wǎng)址中,需要通過(guò)網(wǎng)絡(luò)讀?。坏谌N為“File:acme_titan_rev1.zip”,表示存儲(chǔ)在上位機(jī)軟件的某個(gè)目錄中。

      第二步,解壓XML文件。由于XML配置文件一般會(huì)比較大,通常在1萬(wàn)到2萬(wàn)行左右,所以,相機(jī)既支持以.zip為后綴名的壓縮XML文件,也支持以.xml為后綴名的非壓縮XML。如果讀取到的是壓縮文件,就會(huì)對(duì)其進(jìn)行解壓,如果接收到的是非壓縮文件,則跳過(guò)該步驟。

      第三步,XML文件解析[5]。XML文件解析器是整個(gè)功能實(shí)現(xiàn)過(guò)程中最重要的一個(gè)部分,它會(huì)檢查該XML設(shè)備配置文件的語(yǔ)法正確性以及是否嚴(yán)格符合GenICam協(xié)議規(guī)定的XML結(jié)點(diǎn)規(guī)范。如果檢測(cè)到任何錯(cuò)誤,JAI Control軟件會(huì)停止進(jìn)行并報(bào)錯(cuò)。

      第四步,創(chuàng)建用戶界面接口。XML文件解析完成后,JAI Control軟件會(huì)根據(jù)XML設(shè)備配置文件的內(nèi)容創(chuàng)建各個(gè)控制結(jié)點(diǎn),并初始化各個(gè)結(jié)點(diǎn)的值及其相關(guān)數(shù)據(jù)。例如,在創(chuàng)建“Width”結(jié)點(diǎn)時(shí),不僅設(shè)置了它的初始值,還設(shè)置它的最大值、最小值、遞變量、寄存器地址、顯示名稱(chēng)等信息,這些值都是在“Width”結(jié)點(diǎn)描述符中直接設(shè)定的。

      第五步,等待用戶的其它操作。此后,相機(jī)開(kāi)始等待用戶的操作,XML配置文件將不再起作用。

      1.2 XML設(shè)備配置文件編寫(xiě)

      相機(jī)的每個(gè)功能都被描述為一個(gè)結(jié)點(diǎn),當(dāng)用戶從上位機(jī)操作某個(gè)功能時(shí),與該功能相對(duì)的結(jié)點(diǎn)就將當(dāng)前值更新到相機(jī)內(nèi)部,從而很方便地更新相機(jī)的狀態(tài)。另外一個(gè)方面,XML文件內(nèi)還可以進(jìn)行簡(jiǎn)單的數(shù)值運(yùn)算,這還可以大大減少相機(jī)內(nèi)部的邏輯量,減少了系統(tǒng)開(kāi)銷(xiāo)。XML設(shè)備配置文件中的每個(gè)結(jié)點(diǎn)只描述一個(gè)功能,每個(gè)結(jié)點(diǎn)都有一個(gè)特定的結(jié)點(diǎn)類(lèi)型和一個(gè)特定的接口。

      在XML設(shè)備配置文件中,每一個(gè)功能都對(duì)應(yīng)一個(gè)結(jié)點(diǎn),而每個(gè)結(jié)點(diǎn)都通過(guò)一個(gè)結(jié)點(diǎn)描述符來(lái)表示,結(jié)點(diǎn)描述符內(nèi)包含若干個(gè)屬性描述符來(lái)描述結(jié)點(diǎn)的具體功能,一個(gè)結(jié)點(diǎn)描述符的標(biāo)準(zhǔn)格式如下:

      <NodeType Name=”NodeName” NameSpace=”Standard”>

      <PropertyType>PropertyValue</PropertyType>

      </NodeType>

      NodeType表示結(jié)點(diǎn)類(lèi)型,常用的結(jié)點(diǎn)類(lèi)型有Integer、Float、String、Enumeration、Command、Boolean、Register、Category等,每個(gè)結(jié)點(diǎn)都對(duì)應(yīng)一個(gè)可視化圖形界面;NodeName表示結(jié)點(diǎn)名稱(chēng),它可以作為變量名提供編程接口給Visual Studio,具體的接口函數(shù)因使用的開(kāi)發(fā)包而不同;另外一個(gè)參數(shù)NameSpace的值如果為Standard,則表示這個(gè)結(jié)點(diǎn)的名稱(chēng)是GenICam標(biāo)準(zhǔn)中定義的名稱(chēng),如果該值為Custom,則表示這個(gè)結(jié)點(diǎn)的名稱(chēng)是用戶自定義的,該功能并不具有普遍性。與結(jié)點(diǎn)相關(guān)的內(nèi)容因結(jié)點(diǎn)的類(lèi)型不同而有很大差別,比如,Integer類(lèi)型會(huì)映射到一個(gè)帶有 value、min、max和 increment的滑動(dòng)條,而String類(lèi)型會(huì)映射到一個(gè)顯示字符串的編輯框,Enumeration類(lèi)型則映射到一個(gè)下拉框,而Command映射到一個(gè)命令按鈕。

      XML配置文件內(nèi)包含一個(gè)RegisterDescription標(biāo)簽,所有的結(jié)點(diǎn)描述都包含在RegisterDescription標(biāo)簽內(nèi)部,組成了整個(gè)XML設(shè)備配置文件,格式如下:

      <RegisterDescription ModelName=“AGSF_200_50m”……>

      <! -------結(jié)點(diǎn)描述符 1------------->

      <! -------結(jié)點(diǎn)描述符 2------------->

      ......

      <! -------結(jié)點(diǎn)描述符 n------------->

      </RegisterDescription>

      RegisterDescription標(biāo)簽的內(nèi)容包含兩部分,第一部分是相機(jī)信息描述,主要描述相機(jī)型號(hào),生產(chǎn)廠商等信息,即ModelName以及后面省略的部分;另外一個(gè)部分是相機(jī)功能描述,主要描述相機(jī)的功能配置,在結(jié)點(diǎn)描述符部分。在一個(gè)完整的XML配置文件中,結(jié)點(diǎn)描述符還會(huì)被Category標(biāo)簽分成若干個(gè)組,以便操作。

      2 實(shí)驗(yàn)結(jié)果

      圖2 XML配置文件界面Fig.2 Interface of XML configuration file

      如圖2所示,JAI SDK軟件讀取XML配置文件[6]后顯示的用戶配置界面。這個(gè)界面中所有的控制結(jié)點(diǎn)都是通過(guò)編寫(xiě)XML設(shè)備配置文件來(lái)實(shí)現(xiàn)的,正常情況下,會(huì)使用Category標(biāo)簽和pFeature標(biāo)簽將這些控制結(jié)點(diǎn)分成若干個(gè)組,如上圖中的a、b、c、d組,這樣做不僅看起來(lái)美觀,而且容易管理。

      另外,對(duì)XML還進(jìn)行了其它上位機(jī)軟件的兼容性測(cè)試,測(cè)試結(jié)果如下:

      表1 使用XML文件的相機(jī)兼容性測(cè)試Tab.1 Compatibility testing on GigE camera

      在測(cè)試的4個(gè)軟件中,只有Pylon一款軟件表現(xiàn)出不兼容,經(jīng)過(guò)分析發(fā)現(xiàn),這是由于該軟件添加了對(duì)相機(jī)廠家的識(shí)別過(guò)程,并屏蔽了其他廠家的相機(jī)。由以上測(cè)試結(jié)果可知,使用了XML配置文件的GigE相機(jī)軟件兼容性基本令人滿意,這就使用戶在選擇上位機(jī)控制軟件時(shí)有了更多的選擇。

      3 結(jié)束語(yǔ)

      本文在JAIControl軟件環(huán)境中,通過(guò)修改XML文件的方式配置了不同的用戶操作界面接口,該方法完全不同于以往基于圖形庫(kù)開(kāi)發(fā)界面接口的方法,易于操作、修改方便。通過(guò)實(shí)際操作,我們發(fā)現(xiàn)XML設(shè)備配置文件為GigEVision相機(jī)的使用、開(kāi)發(fā)、維護(hù)都提供了巨大的便利,降低了開(kāi)發(fā)難度,提高了開(kāi)發(fā)人員的工作效率,而且使相機(jī)的維護(hù)升級(jí)都變得更加容易。因此,XML設(shè)備配置文件具有很強(qiáng)的使用價(jià)值。

      [1]花再軍,黃鳳辰,陳釗.GigE Vision接口攝像機(jī)及其應(yīng)用[J].微型機(jī)與應(yīng)用,2011,30(21):92-94.HUA Zai-jun,HUANG Feng-chen,CHEN Zhao.GigE vision interface and application to the camera[J].Micro Computer and Application,2011,30(21):92-94.

      [2]鄭修勇,古樂(lè)野.基于Windows7系統(tǒng)的GigE工業(yè)相機(jī)網(wǎng)絡(luò)接口程序設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2014,34(S1):38-39,42.ZHENG Xiu-yong,GU Le-ye.GigE industrial camera network interface programming based on windows7[J].Computer Application,2014,34(S1):38-39,42.

      [3]MI 48104-3724,GigE Vision Specification Version 1.0[S].2013.

      [4]羅尤春,孫容磊.機(jī)器視覺(jué)理論及應(yīng)用[J].軟件導(dǎo)論,2014,13(3):13-14.LUO You-chun,SUN Rong-lei.Machine vision theory and application[J].SoftWare Guide,2014,13(3):13-14.

      [5]王磊,張紅梅,姚保峰,等.XML文檔解析技術(shù)研究[J].常州工學(xué)院學(xué)報(bào),2013,26(5):36-41.WANG Lei,ZHANG Hong-mei,YAO Bao-feng,et al.XML document parsing technology research[J].Journal of Changzhou Institute of Technology,2013,26(5):36-41.

      [6]孫志亮,霍俊杰,陳艷艷.基于XML技術(shù)的數(shù)據(jù)通信研究[J].信息通信,2014(1):30-31.SUN Zhi-liang,HUO Jun-jie,CHEN Yan-yan.Data communication research based on the technology of XML[J].Information&Communications,2014(1):30-31.

      猜你喜歡
      描述符配置文件結(jié)點(diǎn)
      提示用戶配置文件錯(cuò)誤 這樣解決
      基于結(jié)構(gòu)信息的異源遙感圖像局部特征描述符研究
      搭建簡(jiǎn)單的Kubernetes集群
      互不干涉混用Chromium Edge
      忘記ESXi主機(jī)root密碼怎么辦
      Linux單線程并發(fā)服務(wù)器探索
      Ladyzhenskaya流體力學(xué)方程組的確定模與確定結(jié)點(diǎn)個(gè)數(shù)估計(jì)
      利用CNN的無(wú)人機(jī)遙感影像特征描述符學(xué)習(xí)
      基于Raspberry PI為結(jié)點(diǎn)的天氣云測(cè)量網(wǎng)絡(luò)實(shí)現(xiàn)
      基于PDIUSBD12的USB接口設(shè)計(jì)應(yīng)用研究
      化州市| 略阳县| 罗城| 靖州| 迁西县| 鄢陵县| 云南省| 苗栗市| 乳源| 宣城市| 三都| 昌宁县| 文登市| 兴安县| 胶州市| 遵义市| 百色市| 迁安市| 长兴县| 延长县| 宜城市| 陕西省| 潼南县| 天门市| 临江市| 勃利县| 德令哈市| 奉化市| 河西区| 阳西县| 武邑县| 珲春市| 漳平市| 黄陵县| 子长县| 四平市| 晴隆县| 沁源县| 包头市| 日照市| 清河县|