當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于 B/S 模式的數(shù)控機(jī)床網(wǎng)絡(luò)測(cè)控系統(tǒng)軟件設(shè)計(jì)

 下位測(cè)控機(jī)的數(shù)據(jù)采集、顯示及存儲(chǔ)回放軟件設(shè)計(jì)

  下位機(jī)測(cè)控服務(wù)器系統(tǒng)軟件包括接口儀器驅(qū)動(dòng)軟件和應(yīng)用軟件兩部分。其中,接口儀器驅(qū)動(dòng)程序是完成對(duì)某一特定儀器的控制與通信的軟件程序集合,是連接上層易用軟件和底層軟件的紐帶和橋梁。每個(gè)儀器模塊都有自己的軟件驅(qū)動(dòng)程序,儀器廠商將其以源碼的形式提供給用戶,用戶在應(yīng)用程序中調(diào)用儀器驅(qū)動(dòng)程序。應(yīng)用程序包含兩方面的程序:實(shí)現(xiàn)虛擬面板功能的前面板軟件程序和定義測(cè)試功能的流程圖軟件程序。它主要功能是給用戶提供操作儀器、顯示數(shù)據(jù)的人機(jī)接口;實(shí)現(xiàn)數(shù)據(jù)的采集、分析處理、顯示、存儲(chǔ)等;并將需要在客戶端顯示的數(shù)據(jù)發(fā)送到Web服務(wù)器,同時(shí)從Web服務(wù)器接收來(lái)自遠(yuǎn)程客戶端的控制命令。

  1.1.1數(shù)控機(jī)床測(cè)控軟件的結(jié)構(gòu)化設(shè)計(jì)

  本文中數(shù)控機(jī)床數(shù)據(jù)采集系統(tǒng)的軟件基本結(jié)構(gòu)包括數(shù)據(jù)采集、數(shù)據(jù)處理、存儲(chǔ)回放及用戶界面等幾部分。測(cè)控軟件設(shè)計(jì)時(shí)可以采用面向?qū)ο蟮脑O(shè)計(jì)分析方法,通過(guò)仔細(xì)地規(guī)劃和設(shè)計(jì),使程序結(jié)構(gòu)清晰,便于維護(hù)、修改、增加。軟件程序結(jié)構(gòu)圖如圖1所示。

  結(jié)構(gòu)化的程序主要包含以下功能模塊(結(jié)構(gòu)圖見(jiàn)上圖1所示):

  ①A/D通道校準(zhǔn)模塊

  采集之前對(duì)采集通道校準(zhǔn)以保證A/D通道的準(zhǔn)確度。

 ?、陔娏鞑杉K

  電流采集模塊采用AD轉(zhuǎn)換器的數(shù)據(jù)采集卡,試驗(yàn)中采集數(shù)控機(jī)床的消耗電流。

  RRBDP軟件對(duì)采集到的數(shù)據(jù)進(jìn)行各種形式的濾波,曲線擬合、平滑等處理。

 ?、蹅鞲衅餍?zhǔn)模塊

  對(duì)電流傳感器做標(biāo)定以確保傳感器輸出信號(hào)盡可能接近真實(shí)值。

 ?、芗す飧缮鎯x數(shù)據(jù)模塊

  通過(guò)USB接口通訊,獲取干涉儀采集的長(zhǎng)度并經(jīng)過(guò)分析后送往其它模塊。

  ⑤攝像頭數(shù)據(jù)采集及顯示模塊

  該模塊負(fù)責(zé)完成視頻采集顯示和分析數(shù)控機(jī)床運(yùn)動(dòng)情況。

 ?、逌y(cè)試數(shù)據(jù)分析模塊

  對(duì)測(cè)試數(shù)據(jù)進(jìn)行分析、匹配,建立數(shù)學(xué)模型并送往曲線顯示模塊。

 ?、邔?shí)時(shí)曲線顯示模塊

  實(shí)時(shí)顯示消耗電流、定位精度以及坐標(biāo)的關(guān)系曲線,采用具有很好的視覺(jué)效果的LabVIEW中的XY圖來(lái)繪制曲線控件驅(qū)動(dòng)。波形直觀、精細(xì)、易于觀察。

 ?、嗖ㄐ畏治瞿K

  對(duì)關(guān)系曲線(即波形)依據(jù)需要研究的分項(xiàng)進(jìn)行分析,將分析結(jié)果及波形做為輸出數(shù)據(jù)以特定文件格式存儲(chǔ)起來(lái)。

  ⑨測(cè)試日志記錄配置模塊

  記錄試驗(yàn)數(shù)控機(jī)床的信息、試驗(yàn)次數(shù)、試驗(yàn)日期、試驗(yàn)人員以及輸出數(shù)據(jù)文件目錄。

 ?、鈿v史曲線回放模塊及歷史數(shù)據(jù)

  導(dǎo)出模塊載入以前試驗(yàn)后生成的數(shù)據(jù)和波形文件并回放出來(lái),確保以前的試驗(yàn)結(jié)果可追溯。

  1.1.2數(shù)據(jù)顯示與存儲(chǔ)回放程序的設(shè)計(jì)

  本章數(shù)據(jù)顯示與存儲(chǔ)回放程序設(shè)計(jì)所需的基礎(chǔ)知識(shí)包括:數(shù)控編程、數(shù)控機(jī)床操作、電路基礎(chǔ)、VC++、C++、Web Service、LabVIEW和測(cè)試儀器等?;谝陨铣绦蜷_(kāi)發(fā)結(jié)構(gòu)和基礎(chǔ),設(shè)計(jì)的各功能模塊顯示界面如下圖2所示:

  圖1.2是LabVIEW數(shù)據(jù)實(shí)時(shí)采集顯示界面,軟件的操作過(guò)程說(shuō)明如下:

 ?。?)AD通道校準(zhǔn)是指對(duì)采集板卡的計(jì)量校準(zhǔn),如果測(cè)得模擬量沒(méi)有在精度要求范圍內(nèi),軟件有自己校準(zhǔn)功能。

 ?。?)參數(shù)設(shè)置界面是按照用戶的要求來(lái)配置一些參數(shù),比如說(shuō)位移的起始點(diǎn)、終止點(diǎn)、步長(zhǎng)等參數(shù)。

 ?。?)測(cè)試界面如上圖1.2所示,也是軟件的主界面,但選擇好測(cè)試方式后,(硬件部分連接好的情況下)就開(kāi)始了實(shí)時(shí)采集與顯示。對(duì)于采集的數(shù)據(jù),測(cè)試完畢后,點(diǎn)擊保存可以保存到Excel表中,也可以保存成特定格式的數(shù)據(jù),在將此數(shù)據(jù)倒到分析軟件中,進(jìn)行無(wú)償?shù)姆治?,從而可以進(jìn)行相應(yīng)的補(bǔ)償。但是對(duì)于工廠中大量的測(cè)試數(shù)據(jù)數(shù)據(jù)庫(kù)是首先存儲(chǔ)方式。可以利用LabSQL方式向數(shù)據(jù)庫(kù)數(shù)據(jù)表添加記錄,假設(shè)數(shù)據(jù)表為位移Displacement表。具體步驟如下:

 ?、俳⑴c數(shù)據(jù)庫(kù)的連接。首先通過(guò)ADO Connection Create.vi創(chuàng)建一個(gè)Connection對(duì)象,然后利用ADO Connection Open.vi建立與數(shù)據(jù)庫(kù)的連接。數(shù)據(jù)庫(kù)由ADO Connection Open.vi的ConnectionString指定,此參數(shù)由前面板的字符串控件提供,如下圖1.3所示。

 ?、谏蒘QL命令,執(zhí)行命令。在前面板table控件中輸入表名,Current和Error控件中輸入字段值。在程序框圖中使用Format Into String生成SQL命令,將它連接到ADO Connection Execute.vi即可執(zhí)行,同時(shí)可在前面板Command Text控件顯示此命令。

 ?、蹟嚅_(kāi)與數(shù)據(jù)庫(kù)之間的連接。利用ADO Connection Close.vi關(guān)閉Connection對(duì)象,并使用ADO Connection Destroy.vi刪除Connection對(duì)象。

(4)歷史數(shù)據(jù)回放界面,可以根據(jù)用戶需要,按照測(cè)試的日期時(shí)間打開(kāi)所需要回放查詢的文件。數(shù)據(jù)回放界面繪制出的相應(yīng)歷史曲線如圖1.4所示。

[!--empirenews.page--]

  在實(shí)時(shí)與歷史曲線顯示部分,趨勢(shì)曲線能夠形象清楚地描繪出現(xiàn)場(chǎng)數(shù)據(jù)在一段時(shí)間內(nèi)的分布趨勢(shì),通過(guò)趨勢(shì)圖,操作員可以根據(jù)各個(gè)現(xiàn)場(chǎng)數(shù)據(jù)采集點(diǎn)的數(shù)據(jù)的變化趨勢(shì)看出各個(gè)量的變化情況,且能查看任何歷史時(shí)刻的數(shù)據(jù),供現(xiàn)場(chǎng)操作人員作出適當(dāng)?shù)奶幚怼?/font>

  1.1.3數(shù)據(jù)記錄監(jiān)控模塊DSC的應(yīng)用

 ?。?)測(cè)控系統(tǒng)在上述功能的實(shí)現(xiàn)過(guò)程中,遇到了三個(gè)實(shí)際工程問(wèn)題:

 ?、俦O(jiān)控界面中現(xiàn)場(chǎng)數(shù)據(jù)顯示的速度慢,最慢達(dá)到5秒的延遲,很顯然這不符合工業(yè)現(xiàn)場(chǎng)過(guò)程控制實(shí)時(shí)性的要求。

 ?、谟捎贚abVIEW軟件本身不像FIX工控軟件一樣,帶有實(shí)時(shí)數(shù)據(jù)庫(kù)。當(dāng)系統(tǒng)比較小時(shí),即在控制點(diǎn)數(shù)少的情況下,實(shí)現(xiàn)監(jiān)控功能可以利用全局變量的概念,將監(jiān)視或控制的現(xiàn)場(chǎng)測(cè)量點(diǎn)都看作是全局變量,暫且稱它們?yōu)?ldquo;全局變量庫(kù)”.然后把LabVIEW實(shí)現(xiàn)的各個(gè)功能看作是一個(gè)子程序,每一個(gè)子程序都是從全局變量庫(kù)中取數(shù)據(jù)或向里寫數(shù)據(jù)。也就是將這個(gè)“全局變量庫(kù)”看作是一個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù),現(xiàn)場(chǎng)每一個(gè)測(cè)量點(diǎn)都與庫(kù)中的參數(shù)一一對(duì)應(yīng)。這種方法在控制點(diǎn)數(shù)少的情況下還是可行的,但是,當(dāng)系統(tǒng)是大中型的情況即現(xiàn)場(chǎng)控制點(diǎn)數(shù)很多的時(shí)候,在實(shí)踐中發(fā)現(xiàn),使用全局變量的方法,不僅編程量大,而且數(shù)據(jù)查找起來(lái)沒(méi)有數(shù)據(jù)庫(kù)查找起來(lái)方便快捷,另外,全局變量一直是編程人員所盡量避免使用的方法。

 ?、塾捎谠趯?shí)際的過(guò)程控制監(jiān)視中,要求各個(gè)界面之間來(lái)回的切換,實(shí)現(xiàn)界面的友好操作性。FIX監(jiān)控軟件通過(guò)編程有調(diào)用各個(gè)界面的函數(shù),可以方便的實(shí)現(xiàn)界面之間的切換。然而,在用LabvEIW實(shí)現(xiàn)界面之間切換的過(guò)程中,將上述的“全局變量庫(kù)”作在“數(shù)據(jù)總攬”的界面里,其它各個(gè)子程序(界面),例如,“實(shí)時(shí)和歷史曲線”、“歷史數(shù)據(jù)”、各個(gè)流程圖等,都是和它進(jìn)行數(shù)據(jù)交換。所以“數(shù)據(jù)總攬”子程序起著實(shí)時(shí)數(shù)據(jù)庫(kù)的作用,它在系統(tǒng)運(yùn)行的過(guò)程中不能被關(guān)閉,本課題是利用VI Sevrer技術(shù)使得“數(shù)據(jù)總攬”子程序在系統(tǒng)己開(kāi)運(yùn)行時(shí)就以最小化的形式開(kāi)始運(yùn)行,保證數(shù)據(jù)的實(shí)時(shí)性。但是,考慮到“歷史數(shù)據(jù)”和“歷史曲線”兩個(gè)子程序由于需要存取歷史數(shù)據(jù)的原因,而在系統(tǒng)運(yùn)行的過(guò)程中不能被關(guān)閉,所以也將它們始終處于最小化的狀態(tài)運(yùn)行。按照上述的做法,發(fā)現(xiàn)在系統(tǒng)運(yùn)行過(guò)程中,各個(gè)界面之間切換起來(lái)速度較慢,這不能充分滿足現(xiàn)場(chǎng)過(guò)程控制的實(shí)時(shí)性和可靠性的要求。

 ?。?)基于DSC模塊的問(wèn)題解決方法

  第一個(gè)問(wèn)題,數(shù)據(jù)讀和寫的速度有明顯的差別。利用Datasocket技術(shù)編程實(shí)現(xiàn)數(shù)據(jù)的讀和寫,寫數(shù)據(jù)的速度卻很快。所以可能是編程中出現(xiàn)的數(shù)據(jù)緩沖或者程序中等待事件的發(fā)生執(zhí)行效率低的原因,決定數(shù)據(jù)顯示部分通過(guò)在前面板直接用Datasocket連接OPC服務(wù)器。結(jié)果數(shù)據(jù)顯示速度明顯達(dá)到幾百毫秒,滿足了實(shí)時(shí)要求。而且這種方法開(kāi)發(fā)時(shí)間短,效率高。

  用LabVEIW能夠初步實(shí)現(xiàn)數(shù)據(jù)采集、顯示和存儲(chǔ)等功能的前提下,考慮到NI公司推出的LabVIEW一附加模塊--數(shù)據(jù)記錄監(jiān)控模塊DSC(Datalogging and Superviosry Control Module),此模塊是專為過(guò)程控制而設(shè)計(jì)開(kāi)發(fā)的,是專用于輕松設(shè)計(jì)和維護(hù)分布式監(jiān)控系統(tǒng)的理想軟件工具。利用這個(gè)模塊可以很方便地完成與設(shè)備的連接,包括LabVEIW實(shí)時(shí)目標(biāo)模塊和OPC設(shè)備。從系統(tǒng)概覽到節(jié)點(diǎn)執(zhí)行,該模塊提供了內(nèi)置式的開(kāi)發(fā)工具,來(lái)成功記錄數(shù)據(jù)、警報(bào)和事件;顯示生產(chǎn)數(shù)據(jù)隨時(shí)間變化的趨勢(shì);同時(shí)還可通過(guò)網(wǎng)絡(luò)數(shù)據(jù)庫(kù),利用SQL/ODBC標(biāo)準(zhǔn)查詢從中提取數(shù)據(jù)。該模塊的應(yīng)用增強(qiáng)了搜索和提取數(shù)據(jù)的靈活性,提高了數(shù)據(jù)記錄的可靠性和保護(hù)能力 .

  相比其它附加模塊,DSC模塊有以下六個(gè)特點(diǎn):內(nèi)置的網(wǎng)絡(luò)開(kāi)發(fā)工具;用于實(shí)現(xiàn)數(shù)據(jù)共享和與第三方設(shè)備結(jié)合;應(yīng)用的安全性設(shè)置;針對(duì)分布式監(jiān)控的開(kāi)發(fā)工具;用于分布式數(shù)據(jù)記錄的網(wǎng)絡(luò)數(shù)據(jù)庫(kù);實(shí)時(shí)和歷史趨勢(shì)曲線。

 ?。?)“LabVEIW+DSC”相結(jié)合運(yùn)用“LabVEIW+DSC”相結(jié)合,軟件體系結(jié)構(gòu)圖如圖1.5所示。

  為提高系統(tǒng)的開(kāi)放性,選用了“LabVIEW+OPC”的設(shè)計(jì)方法。就是用LabVIEW作為上位機(jī)監(jiān)控軟件,采用先進(jìn)的網(wǎng)絡(luò)通信技術(shù)--DataSocket技術(shù),通過(guò)OPC服務(wù)器接口來(lái)實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)共享。這里采用的OPC服務(wù)器是Matrikon公司研發(fā)的,它作為一中間橋梁,實(shí)現(xiàn)了監(jiān)控軟件LabVIEW和現(xiàn)場(chǎng)智能組件之間的數(shù)據(jù)通信,通過(guò)OPC配置項(xiàng)建立與底層設(shè)備的數(shù)據(jù)采集點(diǎn)的一一對(duì)應(yīng)關(guān)系。如下圖1.6所示:

  圖1.6是OPC服務(wù)器的配置,其中項(xiàng)名Name是用戶自己定義的對(duì)應(yīng)于現(xiàn)場(chǎng)的數(shù)據(jù)采集點(diǎn),Item Path必須符合OPC服務(wù)器與MODBUS協(xié)議的語(yǔ)法要求,即“[port].Device. 0~4:”,同時(shí)設(shè)置該項(xiàng)是讀數(shù)據(jù)還是寫數(shù)據(jù)以及數(shù)據(jù)的類型、更新時(shí)間等等 .

  LabVIEW訪問(wèn)OPC的方法有很多種,本文采用的是通過(guò)DSC模塊中Tag Configuration Editor引擎,建立LabVIEW和OPC服務(wù)器的連接。DSC模塊使用Tag連接OPC數(shù)據(jù)項(xiàng),通過(guò)Tag Configuration Editor,可以將DSC的Tag與OPC數(shù)據(jù)項(xiàng)對(duì)應(yīng)起來(lái),生成。scf文件,相當(dāng)于LabVIEW的實(shí)時(shí)數(shù)據(jù)庫(kù),如圖1.7所示

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉