亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于LABVIEW的無線數(shù)據(jù)采集系統(tǒng)上位機

        2018-08-10 06:07:24林奕林蔡文祥
        電子設(shè)計工程 2018年15期
        關(guān)鍵詞:下位上位代碼

        林奕林,蔡文祥

        (南京理工大學(xué)機械工程學(xué)院,江蘇南京210094)

        LABVIEW是美國國家儀器(NI)公司開發(fā)的一款圖形化編程語言(G語言),該語言采樣數(shù)據(jù)流和可視化編程方式編程,同時封裝了基礎(chǔ)功能[1-5]。LABVIEW把編程人員從繁重的代碼編輯中解放出來,專注于編程方法和編程結(jié)構(gòu)的設(shè)計。利用LABVIEW DAQmax測試人員不需要太多的學(xué)習(xí),很快便能寫出一個簡易的采集軟件用于簡易測試。通過深入學(xué)習(xí)和理解LABVIEW編程思維,工程測試人員便能編輯出適用于工程測試的性能良好的采集軟件[6-9]。

        近些年,國內(nèi)外有很多文獻研究,都使用LABVIEW用于各種測試、控制和嵌入式等領(lǐng)域[10-13]。

        1 總體框架設(shè)計

        無線數(shù)據(jù)采集系統(tǒng)上位機設(shè)計框架如圖1所示。

        “生產(chǎn)者消-費者循環(huán)”是LABVIEW中的一種高效的編程模式,在While循環(huán)中加入事件結(jié)構(gòu),用于接收和發(fā)送用戶事件,組成生產(chǎn)者循環(huán);在While循環(huán)中加入條件結(jié)構(gòu),用于處理用戶命令,組成消費者循環(huán)。生產(chǎn)者和消費者之間,使用隊列傳輸數(shù)據(jù)。上位機設(shè)計框架使用自定義數(shù)據(jù)類型作為隊列的傳輸數(shù)據(jù)類型,該自定義類型使用簇,包裝枚舉命令、枚舉的控制模塊和變體數(shù)據(jù)。使用自定義類型,可以大大減少后期修改程序的困難,只需對自定義類型做出修改,而不必對所有使用到該自定義的地方都做出修改。枚舉的命令,能夠使得消費者循環(huán)的條件選擇結(jié)構(gòu)的分支具有固定的數(shù)量,使不確定錯誤發(fā)生的幾率大大減少。枚舉的控制模塊,能夠使得程序能控制多個下位機模塊的同時,大大簡化分支。

        該上位機設(shè)計模式,不僅在經(jīng)典的“生產(chǎn)者-消費者”循環(huán)上,使用自定義類型作為數(shù)據(jù)傳輸類型。還添加了用戶事件,當(dāng)用戶通過彈出框選擇退出程序的時候,消費者循環(huán)里便會將“用戶退出”送人隊列,使消費者循環(huán)進入“用戶退出”分支?!坝脩敉顺觥狈种Мa(chǎn)生用戶事件并退出消費者循環(huán),用戶事件會觸發(fā)事件結(jié)構(gòu),退出生產(chǎn)者循環(huán)。用戶事件的加入,使得該上位機的“生產(chǎn)者-消費者“循環(huán)的退出更加穩(wěn)定。該模式的用戶事件,使用了枚舉變量,作為生產(chǎn)者循環(huán)的數(shù)據(jù)類型,同時也是生產(chǎn)者循環(huán)的一個移位寄存器數(shù)據(jù)類型。移位寄存器能夠保存上一次或者幾次循環(huán)的數(shù)據(jù),使用它能夠確定采集系統(tǒng)處于何種工作狀態(tài),并能根據(jù)工作狀態(tài),選擇性的過濾一些無法在忙碌時候處理的事件,這使得該結(jié)構(gòu)更加的完善和合理。

        圖1 上位機設(shè)計框架

        2 通訊命令格式

        無線數(shù)據(jù)采集系統(tǒng),具有上位機和多個下位機,其通訊使用TTL-32-1W串口無線通信單元組建通訊網(wǎng)絡(luò),上位機使用LABVIEW儀器IO中的串口模塊編寫接收和處理下位機信號的模塊[14-16]。下位機傳來的是一連串的字符,上位機想要從字符中解析出有意義的信息,這就需要兩者都要按照一定的標(biāo)準(zhǔn)去發(fā)送和解析數(shù)據(jù)。具體通訊格式如下所示:

        1)無線通訊測試

        格式:指令代碼(0000)+測試用數(shù)據(jù)(500 Byte)+截止符( )

        回復(fù):指令代碼(0000)+接收到的數(shù)據(jù)(500Byte)+截止符( )

        2)模塊在線查詢

        格式:指令代碼(0001)+截止符( )

        回復(fù):指令代碼(0001)+模塊號(XX)+截止符( )

        3)無線模塊開關(guān)

        格式:指令代碼(0010)+指令(00關(guān)/01開)+截止符( )

        回復(fù):指令代碼(0010)+指令(00/01)+截止符( )

        4)新建文件

        格式:指令代碼(0011)+指令(新建文件編號:XX)+截止符( )

        回復(fù):指令代碼(0011)+指令(新建文件編號:XX)+截止符( )

        5)刪除文件

        格式:指令代碼(0100)+指令(刪除文件編號:XX)+截止符( )

        回復(fù):指令代碼(0100)+指令(刪除文件編號:XX)+截止符( )

        6)參數(shù)設(shè)置

        格式:指令代碼(0101)+指令(采樣頻率(5Byte)+采樣點數(shù)(6Byte)+通道選擇(8Byte)+觸發(fā)方式(1Byte))+截止符( )

        7)模塊自檢

        格式:指令代碼(0110)+指令(0000)+截止符( )

        8)軟件開始

        格式:指令代碼(1000)+指令(0000)+截止符( )

        9)無線模塊參數(shù)設(shè)置

        格式:指令代碼(1001)+指令(6Byte指令)+截止符( )

        10)無線數(shù)據(jù)讀取

        格式:指令代碼(1010)+指令(通道號)+截止符( )

        11)模塊重啟

        格式:指令代碼(1011)+指令(0000)+截止符( )

        3 無線數(shù)據(jù)采集系統(tǒng)上位機設(shè)計

        3.1 界面設(shè)計

        具體無線數(shù)據(jù)采集系統(tǒng)的需求可以控制8個無線數(shù)據(jù)采集模塊,每個無線數(shù)據(jù)采集模塊具有8個采樣通道。每個模塊需要單獨控制新建文件、刪除文件、數(shù)據(jù)傳輸、通訊檢測、低功耗待機和模塊重啟等功能;還需要單獨的采集設(shè)置、零點設(shè)置和電量檢測及顯示等功能;對于模塊的通用設(shè)置在界面的右側(cè),模塊指示燈可以指示模塊使用與否狀態(tài),通訊指示燈用于指示上位機和模塊之間的通訊狀態(tài)。具體上位機界面如圖2所示。

        圖2 上位機界面

        3.2 多通道事件的精簡

        對于本文所研究的是8模塊8通道的數(shù)據(jù)采集模塊,若是每一個模塊、每一個事件都要對應(yīng)一個事件結(jié)構(gòu)分支和一個命令處理分支,那么所需要的事件結(jié)構(gòu)和命令處理分支太多、程序也太過于臃腫。因此將采集設(shè)置打包成簇,只響應(yīng)簇的值變化事件,并通過比較簇原值和新值的變化,確定簇中何值變化,并做出相應(yīng)控制,如果是“參數(shù)設(shè)置”按鈕按下事件,便會將參數(shù)設(shè)置(包括模塊選擇)命令發(fā)到消費者循環(huán)。而消費者循環(huán)中也只需一個條件結(jié)構(gòu)分支便可以分別處理各模塊中的相同操作。

        3.3 上位機流程圖及編寫

        具體的上位機,按圖4所示的流程圖編寫,由于已經(jīng)具有了總體框架,只需對流程圖中的流程,分別編寫“生產(chǎn)者”循環(huán)的事件結(jié)構(gòu)命令和“消費者”循環(huán)中的條件分支處理 命令,并注意按照上一節(jié)中的方式簡化,便可以高效的編寫完成無線數(shù)據(jù)采集系統(tǒng)的上位機。

        下位機傳輸過來的數(shù)據(jù)是一連串的具有固定格式數(shù)據(jù),上位機將按照約定好的數(shù)據(jù)格式,解析并轉(zhuǎn)換成TDMS格式的波形數(shù)據(jù),自動保存。在程序運行完成之后,使用LABVIEW中的文件I/O中的XML模塊,將采集參數(shù)設(shè)置和模塊選擇等參數(shù)使用xml格式保存,在下一次開機時候,使用該數(shù)據(jù)初始化上位機程序。

        圖3 消費者循環(huán)中命令處理分支的簡化

        圖4 上位機流程圖

        4 實驗驗證

        上位機和下位機在獨立編寫完成之后,對其進行實地通訊調(diào)試。實驗表明上位機能夠和下位機能夠穩(wěn)定通訊、上位機能夠穩(wěn)定工作,上位機能夠穩(wěn)定快速控制下位機無線采集模塊,上位機能穩(wěn)定的讀取、存儲下位機傳回的實驗采集數(shù)據(jù)。如圖5所示,是無線數(shù)據(jù)采集系統(tǒng)以5 kHZ采樣頻率,采集并獲得的實驗曲線。實驗表明,上位機和下位機能穩(wěn)定通訊,并能正確接收及解析數(shù)據(jù)。

        圖5 落錘試驗曲線

        5 結(jié)束語

        本文介紹了一種無線一種基于LABVIEW的上位機高效開發(fā)方案。并實際應(yīng)用于一種多模塊多通道的無線數(shù)據(jù)采集系統(tǒng)的上位機的編寫中?;跓o線數(shù)據(jù)采集系統(tǒng),定義了一種固定的通訊格式,使得上位機和下位機的編寫能夠分別獨立的進行,且能夠在上位機和下位機完成編寫后,快速調(diào)試和整合,大大減少了系統(tǒng)開發(fā)時間。在上位機的編寫過程中,使用簇打包,簡化了“生產(chǎn)者循環(huán)”事件分支和“消費者循環(huán)”條件結(jié)構(gòu)選擇分支,大大減少了上位機編寫時間。通過試驗驗證總體框架,在無線數(shù)據(jù)采集系統(tǒng)開發(fā)過程中達到了預(yù)期要求,具有較好運用價值。

        猜你喜歡
        下位上位代碼
        發(fā)射機房監(jiān)控系統(tǒng)之下位機
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
        景洪電廠監(jiān)控系統(tǒng)下位機數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
        圍觀黨“下位”,吐槽帝“登基”
        日本老熟女一区二区三区| 中文字幕爆乳julia女教师| 亚洲91av| 亚洲视频在线播放免费视频| 国产精品国产三级国产剧情| 国内少妇毛片视频| 插入日本少妇一区二区三区| 强奷乱码中文字幕| 人体内射精一区二区三区| 无码啪啪人妻| 日本第一影院一区二区| 品色堂永远免费| 男女男在线精品网站免费观看| 中国人妻沙发上喷白将av| 91九色熟女潮喷露脸合集| 精品人妻少妇嫩草av无码专区| 亚洲av永久无码精品秋霞电影影院 | 日韩少妇人妻一区二区| 日韩av毛片在线观看| 精品www日韩熟女人妻| 日子2020一区二区免费视频| 日本成人在线不卡一区二区三区| 久久精品色福利熟妇丰满人妻91| 男人激烈吮乳吃奶视频免费| av无码天一区二区一三区| 一区二区三区四区免费国产视频| 性欧美丰满熟妇xxxx性久久久| 久久人人玩人妻潮喷内射人人| 无码人妻中文中字幕一区二区| 久久综合激情的五月天| 国产精品人妻一区二区三区四| 激情综合欧美| 手机在线免费av网址| 日本添下边视频全过程| 波多野结衣中文字幕久久| 青青青国产免A在线观看| 国产一区二区黄色网页| 51国产黑色丝袜高跟鞋| 天天插视频| 国产成人精品一区二区不卡| 久久婷婷人人澡人人爽人人爱|