《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于LabWindows的系留氣球地面測控系統研制
基于LabWindows的系留氣球地面測控系統研制
來源:微型機與應用2010年第15期
田松野1,3,胡柳燕2,周維虎1,韓曉泉1
1.中國科學院光電研究院,北京 100085;2.合肥工業大學,安徽 合肥 230009;3.中國科
摘要: 針對上海世博會車載系留氣球監測系統的應用要求,設計了基于LabWindows的地面測控系統,該系統具有多串口數據采集、數據庫存儲數據、用SQL語句訪問數據庫等特點,利用POS和GPS數據實現地面目標定位。
Abstract:
Key words :

摘  要: 針對上海世博會車載系留氣球監測系統的應用要求,設計了基于LabWindows的地面測控系統,該系統具有多串口數據采集、數據庫存儲數據、用SQL語句訪問數據庫等特點,利用POS和GPS數據實現地面目標定位
關鍵詞: 測控;數據庫;SQL;目標定位;LabWindows

    在浮空器領域,地面測控系統的性能和可靠性對于浮空器載荷的工作性能尤為重要。在上海世博會車載系留氣球監測系統任務系統中,地面測控系統面向的對象是浮空平臺上裝載的光電載荷及其配套設備,主要包括可見光高清攝像機、紅外相機和高光譜相機、POS(位置與姿態測量)系統及球上測控系統等,圖1所示是車載系留氣球監測系統任務應用系統的組成框圖。

    車載系留氣球監測系統任務系統地面測控系統軟件的目標是保證球上光電平臺上各個載荷與球下控制設備的正常工作,對球上載荷的狀態數據進行采集、接收、顯示與存儲,控制球上各個載荷的狀態。對球上載荷的某些參數具有報警功能,保證控制命令和參數返回具有很好的實時性,同時測控系統還要對世博園地面目標進行定位。
1 系統功能
    車載系留氣球監測系統任務系統地面測控系統軟件具體功能如下:
    (1)數據采集功能。對可見光攝像機、POS系統、紅外和高光譜相機、供配電等單元的工作數據與狀態數據進行實時采集。
    (2)坐標解算功能。解算出氣球位置變化引起的可見光監測系統吊艙的姿態變化。
    (3)球下目標位置解算功能。利用球載POS系統獲得的光電平臺姿態和位置以及可見光監測吊艙獲得的轉角信息解算球下目標點的位置坐標。
    (4)遙控功能。對可見光攝像機、POS系統、紅外和高光譜相機、供配電單元等進行指令控制,包括通斷電、可見光攝像機視軸指向控制、攝像機變焦、任務應用各分系統的通斷電及保護等。
    (5)數據顯示與存儲功能。對球載設備的所有遙測數據在球下測控系統操控臺上均能實時顯示,重要數據存儲到硬盤上以供分析。
2 系統設計
2.1 設計工具的選擇

    在應用程序開發軟件中,VC和VB等工具開發周期普遍較長、難度也比較高。美國NI公司推出的NI LabWindows/CVI是一類久經驗證的ANSI C集成開發環境,為用戶提供了用于創建測試和控制應用的全套編程工具[1]。NI LabWindows/CVI兼有ANSI C的耐用性、復用性和特定的工程性能,適用于儀器控制、數據采集、分析和用戶界面開發。NI的數據庫連接工具包(Database Connectivity Toolkit)具有完整的SQL功能,與本地或遠程數據庫可直接交互式操作,高級而易用的功能適用于常見的數據庫操作,利用其豐富的按鈕和圖形等用戶界面庫函數,可大大縮短軟件的開發周期,滿足軟件開發的實際需要。
    根據地面測控系統上述功能要求,采用模塊化設計方法把系統分為四個功能模塊:串口采集模塊、數據分析處理(包括定位)模塊、數據顯示模塊和數據管理模塊。采用單線程定時器技術滿足各個載荷不同數據采集頻率的要求;根據POS提供的數據和可見光監測球艙(穩定轉臺)輸出的的遙測數據,通過空間坐標變換計算球下目標位置;根據遙測下行數據流量大(傳輸速率6.2 Gb/s)、運行時間長(182天)的特點,采用SQL Tookit工具包應用Access數據庫存儲數據。系統物理模塊框圖如圖2所示,以下詳細介紹其中幾個重要的物理模塊的設計。

2.2 遙測數據接收模塊
    LabWindows/CVI編程語言提供了豐富的串口函數,可以很容易實現串口通信功能。利用豐富的RS-232庫函數可以方便地實現對載荷的數據/命令收發功能,這些函數包括:OpenCom函數打開串口、OpenComConfig函數設置串口并用設置串口的返回值來判定串口的狀態、ComWrtByte函數對串口發送字節、ComReadByte函數由串口接收字節、CloseCom函數關閉串口等[2]。圖3所示為串口初始化流程圖。
    以下為串口初始化程序示例:

    //打開并設置串號,波特率為9600,沒有校驗,8位數據位,1位停止位,最大輸入和輸出隊列長度都為512
    OpenComConfig(ComPort,””,9600,0,8,1,512,512);
    FlushlnQ(ComPo~);  //清空接收隊列
    FlushOutQ(ComPo~); //清空發送隊列
    //裝載串回調函數
    Installc0mcallback(ComPo,eventMask,3,eventChar,ComCallback,0);
    CloseCom(ComPo);  //關閉串13
2.3 遙控指令發送模塊
    在車載系留氣球監測系統任務應用系統測控分系統中,要求實時監測各載荷的工作狀態。根據要求本系統具有不同的數據/控制命令發送頻率,最小周期是20 ms,最大周期是1 s。考慮到本系統不要求精確定時,可以采用Timer定時器。
    定時器的建立、刪除和設置可通過調用New Timer函數、Discard Timer函數和Set TimerAttribute函數來實現。定時響應函數的聲明為:
    Int CVICALLBACK MyTimerCallback(int reserved,int theTimerId,int event,void *callbackData,int eventData1,int eventData2);
    測試系統軟件啟動之后,建立一個定時器;然后設置定時器的定時時間和響應函數;在軟件退出時,刪除定時器;在定時響應函數中,調用串口函數和面板響應函數讀取串口數據來實現實時狀態監測的功能,并定時發送控制指令。
2.4 地面目標位置定位模塊
    世博會車載系留氣球監測系統任務應用系統主要是監控世博會園區,對地面目標進行定位,所有圖像數據、定位數據和遙測數據通過地面光纜傳送至世博總控中心,為世博園安全提供有力的保障。
    POS定位與姿態測量系統及可見光轉臺均固定于浮空器光電平臺安裝基面上,當可見光球艙瞄準地面靜態目標后,可輸出視軸相對可見光轉臺自身的方位角和俯仰角,利用可見光轉臺與POS系統(方位和姿態角)的相對位置數據(事先標定),同時采集POS系統輸出的定位數據和光電平臺的姿態數據,通過一系列的坐標轉換后,可獲得視軸在以地面差分基站為原點建立的參考坐標系中的直線方程,進而可以得到目標點的定位數據。定位示意圖如圖4所示。

2.5 數據存儲模塊
    地面操作人員需要對載荷參數、設備狀態和設備操作等信息進行實時存儲,如果用文本文件、excel等格式存儲數據,考慮到本系統數據量大和運行時間長等特點,存儲文件將會很大,這對后續文件運行、查詢等操作將產生影響,本系統通過創建數據庫使數據存儲、數據查詢等操作變得簡單方便。
2.5.1 數據庫建立
    首先需要新建數據庫,將獲取的數據寫入數據庫,本文采用微軟公司的Access軟件。Access存儲方式單一,管理對象包括表、查詢、窗體、報表、頁、宏和模塊, 數據存放在后綴(.mdb)的數據庫文件中,便于用戶的操作和管理[3]。系統訪問數據庫時,首先必須用ODBC管理器注冊一個數據源,管理器根據數據源提供的數據庫位置、數據庫類型及ODBC驅動程序等信息,建立ODBC與具體數據庫的聯系。步驟如下:
    (1)打開控制面版→管理工具→數據源odbc;
    (2)點擊系統dsn,添加并選擇Microsoft Access driver(*.mdb),在“數據源名稱”中輸入定義的名字;
    (3)安裝Office里面的Accees,安裝好以后打開Access,新建一個數據庫,命名為***.mdb;
    (4)使用設計器創建新的表,一個數據庫MDB文件里面可以建立多個表。雙擊“使用設計器創建表”即可;
    (5)填寫字段名字,選擇字段類型,一條記錄可以有很多字段,字段大小即表示是這個字段最多可容納的字符數。
    該模塊部分代碼如下:
    int hdbc;  //定義數據庫連接句柄
    int hstmt;  //定義SQL連接句柄
    hdbc=DBConnect(”DSN=TestData”);  //連接數據源
    hstmt=DBActivateSQL(hdbc,”SELECT FROM發通道測試數據表”);  //顯式激活一個SQL語句,并通過字段索引的方法綁定各個字段到特定類型的變量
    DBDeactivateSQL(hstmt);  //解除SQL檢索語言
    DBDiseo~ect(hdbc);  //斷開與數據庫的連接
2.5.2 數據庫寫入
    建好數據庫之后,收到串口發來的數據,經分析后,需要將新的數據寫入數據庫。寫入數據庫的信息包括載荷狀態、報警信息、控制命令等,它們對應不同的表或字段。ODBC本身提供了對SQL語言的支持,所以用戶可以直接將SQL語句送給ODBC,首先利用DBCreateRecord函數創建一個新的記錄,將測試結果直接賦給新記錄的各字段的變量,然后調用DBPutRecord函數保存新的記錄[4]。
    hstmt=DBActivateSQL(hdbc,string);激活SQL語句。
    DBPutRecord(hstmt);刷新數據庫。
2.5.3 數據庫查詢
    系統在測試聯調時,經常需要對設備運行狀態中的數據進行比對分析,即對數據庫已有信息進行分類檢索。Access提供對SQL語句的支持,SQL是使用關系模型的數據庫應用語言,可以用SELECT語句對信息進行檢索。
    LabWindows/CVI工具包中,用途廣泛的SQL命令為[5]:
    (1)CREATE TABLE;
    (2)SELECT;
    (3)INSERT;
    (4)UPDATA;
    (5)DELETE。
    使用SELECT語句可以執行對數據庫的下列操作:
    (1)取回表中的記錄;
    (2)更新表中的記錄;
    (3)新建或刪除表中的記錄。
    hdbc=DBConnect(“UserID=sa;PWD=123;DSN=xx”);//指明連接SQL Server服務器的口令,DSN為連接到數據源的路徑
    i(f hdbc≤0){ShowErro(r);goto Error;}
    MessagePopup(“Successful connect to the server”,“OK”);//判斷是否連接成功
    hstmt=DBActivateSQL(hdbc,“SELECT * FROM表名WHERE查詢條件”);
    i(f hstmt≤0){ShowErro(r);gotoError;}
    //根據條件對表進行激活并查詢
    //根據定義的緩存變量類型,對要進行查詢的項目分別進行緩存分配。
    本文利用LabWindows豐富的函數VI、直觀的控件、可嵌入C程序等特點,完成了上海世博會車載系留氣球地面測控系統的設計,該系統可完成數據采集存儲、載荷控制、目標定位等功能,系統已經過聯調、地面考機、升空試驗、穩定運行所有階段性試驗,試驗表明本測控系統具有功能齊全、穩定可靠、操作簡便、人機交互友好等特點。
參考文獻
[1] 應秉斌,賀世正.基于LabVIEW的微速差雙轉子動平衡測試系統的開發[J].流體機械,2006,34(7):39-42.
[2] 史君成,張淑偉,律淑珍.LabWindows虛擬儀器設計[M].北京:國防工業出版社,2007.
[3] 劉方鑫,羅昌隆,等.數據庫原理與技術[M].北京:電子工業出版社,2002.
[4] 張桐,陳國順,王正林.精通LabVIEW程序設計[M].北京:電子工業出版社,2008.
[5] 白鳳山,潘長勇,楊知行.用動態鏈接庫技術LabWindows/CVI與高速數據采集卡的通訊[J].電測與儀表,2000(8):54-56.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲精品高清久久 | 成熟女人免费一级毛片 | 伊人色婷婷 | 麻豆国产精品一二三在线观看 | 午夜va| h成年动漫同人网站免费 | 精品国产一区二区三区免费 | 久久www视频 | 国产第一页福利 | 日韩欧美精品综合久久 | 国产一级淫片视频免费看 | 亚洲图片欧美日韩 | 欧美日韩精彩视频 | 五月天婷婷激情网 | 中文字幕亚洲 综合久久 | 羞羞网站在线免费观看 | 手机看片1024精品国产 | 亚洲国产成人最新精品资源 | 免费看日b视频 | a一级爱做片免费观看欧美 a一级爱做片免费 | 在线观看成年人网站 | 亚洲精品二区中文字幕 | 国产精品手机在线 | 男人使劲桶女人下面动态图片 | 精品国偷自产在线不卡短视频 | 在线天堂资源www中文在线 | 日韩免费一区二区三区在线 | 男女很黄很色床视频网站免 | 亚洲青青草 | 免费一级e一片在线播放 | 成人影院在线观看完整高清bd | 一级毛片在线免费播放 | 新版天堂中文资源官网 | 黄色三级国产 | 亚洲精品无码专区在线播放 | 免费观看黄a一级视频日本 免费观看黄a一级视频 | 在线观看成人免费视频播放 | 欧美z000zxxxx | 激情小视频在线播放免费 | 一区二区高清在线观看 | 婷婷视频在线观看 |