版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
環(huán)境下編寫應(yīng)用程序的一個框架和引擎是掛在VC之上的一個輔助軟件開發(fā)包,它是微軟提供的下應(yīng)用程序的編程語言接口,是一種軟件編程的規(guī)范,但不是一種程序開發(fā)語言本身,可以允許用戶使用各種各樣的第三方的編程語言來進行對下應(yīng)用程序的開發(fā),使這些被開發(fā)出來的應(yīng)用程序能在下運行。MFC不只是一個功能單純的界面開發(fā)系統(tǒng),它提供的類絕大部分用來進行界面開發(fā),關(guān)聯(lián)一個窗口的動作,但它提供的類中有好多類不與一個窗口關(guān)聯(lián),即類的作用不是一個界面類,不實現(xiàn)對一個窗口對象的控制,而是一些在中實現(xiàn)內(nèi)部處理的類戴鈞,戴國駿杭州電子工業(yè)學(xué)院學(xué)報李曉輝等楊漢祥,曾惠芳沈永玲康彥肖皖東.計算機網(wǎng)絡(luò)技術(shù).西安電子科技大學(xué)出.1998遠程監(jiān)控系統(tǒng)的云臺控制及多畫面顯示RoboticsInstitute,Carnegie摘要基于面向?qū)ο蟮木幊趟枷?。對有關(guān)串口編程和多畫面顯示的函數(shù)進行了類的封裝。提出了串行通信和多畫面顯示程序的一般方法。并給出了遠程監(jiān)控系統(tǒng)的軟件實現(xiàn)方法。關(guān)鍵詞:遠程監(jiān)控;VisualC++;面向?qū)ο螅淮型ㄐ?;云臺控制遠程監(jiān)控系統(tǒng)中云臺和鏡頭的控制足系統(tǒng)的一個重要功能,它須借助于串口編程來實現(xiàn),如何有效地開發(fā)串行通信程序,足遠程監(jiān)控系統(tǒng)軟件中基礎(chǔ)、關(guān)鍵的一個環(huán)節(jié)。本文采用面向?qū)ο蟮木幊谭椒ǎ肰isualC++實現(xiàn)監(jiān)控系統(tǒng)的云臺控制和多畫面顯爾功能。1遠程監(jiān)控系統(tǒng)結(jié)構(gòu)根據(jù)功能和硬件連接方式的不同,遠程監(jiān)控系統(tǒng)可分為二種類型:總線型,星型,星型擴展型。其中星型是應(yīng)用最多,也是最經(jīng)濟的一種,其連接方法如圖1所示。采用星型的遠程監(jiān)控系統(tǒng)的特點足:(1)對鏡頭可進行二可變控制:控制光圈、焦距、鏡頭拉伸;(2)對云臺可做全方位控制:該系統(tǒng)可以對云臺的上、下、左、右轉(zhuǎn)動以及配套的云臺護罩的相應(yīng)保護設(shè)備進行全方位的控制;(3)可同時示多個通道的視頻信息;(4)數(shù)字錄像功能:能根據(jù)用戶制定的計劃智能錄像,也可隨時錄像,并可對錄像文件進行查詢和回放;(5)編碼懈碼器具有雙向通訊功能:編碼器和解碼器具有獨立的地址編碼,采用數(shù)字化信號進行尋址,它可將相應(yīng)的反饋信息及報警信息回傳到主控系統(tǒng),并可實現(xiàn)單線遙控;(6)編碼控制節(jié)省控制線:系統(tǒng)各點均采用編碼方式總線控制,各監(jiān)控點設(shè)備和控制設(shè)備只需掛接在總線上即可,方便靈活。同時編碼控制提高了設(shè)備控制的可靠性,使布線、維修較為容易。本系統(tǒng)中一個編碼器最多可接四個云臺和攝像頭。云臺用來控制攝像頭的移動和鏡頭的拉伸、調(diào)焦等任務(wù)。編碼器對應(yīng)于現(xiàn)實中的站點(如哈爾濱火車站),一個云臺對應(yīng)于某站點的一個監(jiān)視點(如哈爾濱火車站售票人廳)。遠程監(jiān)控系統(tǒng)中控制功能有控制鏡頭和控制云臺,它須借助于串行通信來實現(xiàn)。串行通信可以在一定的硬件支持下主要用軟件來實現(xiàn),更方便也更常用的串行通信實現(xiàn)方法是使用硬件接口電路,再輔之以必要的軟件驅(qū)動程序。串行端口的本質(zhì)功能是作為CPU和串行設(shè)備間的編碼轉(zhuǎn)換器。當(dāng)數(shù)據(jù)從CPU經(jīng)過串行端口發(fā)送出去時,字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位;在接收數(shù)據(jù)時,串行的位被轉(zhuǎn)換為字節(jié)數(shù)據(jù)。在Windows環(huán)境下,串口足系統(tǒng)資源的一部分。應(yīng)用程序要使用串口進行通信,必須在使塒之前向操作系統(tǒng)提打開串口要求,通信完成后必須關(guān)閉串口,釋放資源。在實際編程中,由于采剛的通信方式和流控制不,串口設(shè)置也不同,這就涉及到DCB的初始化和讀寫串口等細節(jié)問題,DCB(DeviceControlBlock)結(jié)構(gòu)定義了串口通信設(shè)備的控制設(shè)置,許多重要設(shè)置部是在此結(jié)構(gòu)中完成的。在面向?qū)ο蟮木幊踢^程中,類的實現(xiàn)是核心問題,存此可以把與串口操作有關(guān)的函數(shù)封裝為一個類:CCorePort。布程序中只要盧明一個CComPort的一個實例后便可對串口進行操作。以下對CComPort類最常用的幾個成員函數(shù)進行簡要的說明。(1)打開串口:voidOpenPort(intnPort,DWORDdwBaud=9600.ParityparityNoParity.BYTEDataBits=8,StopBitsstopbits=1,F(xiàn)lowControlfc=NoFlowControl,BOOLbOverlapped=FALSE);nPort為所使剛的串口號,dwBaut為波特牢,parity為奇偶位,DataBits為數(shù)據(jù)位,stopbits為停止位,fc為流控制設(shè)置,bOvedapped為是否采用異步通信方式。(2)寫串口:DWORDWritePort(constvoid*lpBuf,DWORDdwCount);lpBuf為存放要寫入的數(shù)據(jù)的緩沖區(qū),dwCount為要寫入的字節(jié)數(shù)。(3)讀串口:DWORDReadPort(void*lpBuf,DWORDdwCount);lpBuf為存放要讀取數(shù)據(jù)的緩沖區(qū),dwCount為要讀取的字節(jié)數(shù)。(4)關(guān)閉串口:voidClosePort0,釋放所申請的資源。要實現(xiàn)監(jiān)控系統(tǒng)的云臺控制功能,需要發(fā)送給攝像機云臺驅(qū)動器命令碼來使其進行以下操作,下面以操縱云臺向左運動為例說明:①聲明一個CComPort類的實例:CComPortm_Port;②打丌串口:m_Port.OpenPort(1,9600,CComPort::NoParity);③寫串口:本文就是操縱云臺向左運動。voidCCommand::PTCToTop(BYTEEncordAddr,BYTEPtcAddr)//操作云臺向左運動{BYFEcmd[7];cmd[O]=Oxfc;cmd[1]=Ox6;cmd[2]=EricordAddr;//編碼器地址cmd[3]=0xl;//編器和云臺直接相連,值恒定為1cmd[4]=PtcAddr;//云臺擰制器地址cmd[5]=Ox4;//控制云臺向左運動cmdl6]=Oxl00-((cmd[O]+cmd[1]+cmd[2]+cmd[3]+cmd[4]+cmd[5])%Oxff;//校驗碼m_Port.WritePort(cmd,7);)④關(guān)閉串口:m_Port.ClosePort0。3遠程監(jiān)控系統(tǒng)多畫面顯示的實現(xiàn)對于遠程監(jiān)控系統(tǒng)來說,多畫面顯示也是必不可少的一種功能。與傳統(tǒng)的監(jiān)控系統(tǒng)不同的足:多畫面顯求不是借助于硬什來實現(xiàn),而足完全由軟件來完成。基于面向?qū)ο蟮木幊趟枷?,本文定義了一個類CPicView,通過它可方便的實現(xiàn)以上功能,并且可很大程度地提高軟件的可擴展性。以對CPicView類的主要的接口函數(shù)進行簡要的說明。(1)初始化:BOOLInitPicView(HWNDhView);參數(shù)hView為要顯示圖像的窗口的句柄。(2)設(shè)置顯示幅數(shù):BOOLSetVieWMOde(intnMode1:參數(shù)nMode為顯示幅數(shù),值可為1,4,9,16。(3)顯示圖像:BOOLShowMPG(intindex.intchanne1);參數(shù)index代表要顯示圖像的區(qū)域為第幾個矩形,基數(shù)為0;參數(shù)channel為顯爾的圖像為第幾通道的視頻信息,基數(shù)為0。(4)設(shè)置某一通道為當(dāng)前畫面:BOOLSetCufDentView(intindex);參數(shù)index為要設(shè)置的當(dāng)前畫面,基數(shù)為0:在整個系統(tǒng)的控制面板上只有一個當(dāng)前畫面,控制功能只對當(dāng)前畫面起作用.且只有當(dāng)前畫面可進行聲音預(yù)覽。例如某遠程監(jiān)控系統(tǒng)有十個監(jiān)視點,要四幅顯示其中的前四個通道的視頻信息可由下面的步驟實現(xiàn)。(1)在系統(tǒng)起動時,首先聲明一個CPicView的實例:cpicViewm_PicView;(2)對實例進行初始化Ill—PicView.InitPicView(m_hWnd);m_hWnd為主窗口的句柄,以后所有的視頻信息都將在主窗口內(nèi)顯示;(3)顯示四幅圖像,可由下面的消息函數(shù)實現(xiàn)。voidCMonitorDlg::OnFourView(){m_PicView.SetViewMode(4);//設(shè)置顯示方式為四幅顯示for(inti=O;i<4;i++){m_PicView.ShowMPG(i,i);//顯示四幅圖像}m_PicView.SetCurrentView(0);//設(shè)置第一個畫面為當(dāng)前監(jiān)視畫面.并可監(jiān)聽第一個畫面所對應(yīng)的通道的音頻信息}4結(jié)束語基于面向?qū)ο蟮木幊趟枷?,針對遠程監(jiān)控系統(tǒng)中的云臺控制和多畫面顯示,本文提出了串行通信程序設(shè)計和多畫面顯示的一般方法,提高了程序的可擴展性和穩(wěn)定性。采用此方法編寫的遠程監(jiān)控系統(tǒng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二手手機購買合同(三篇)
- 2025年買賣協(xié)議經(jīng)典版(2篇)
- 2025年臨時供用水協(xié)議(2篇)
- 2025年個人股份轉(zhuǎn)讓合同標(biāo)準(zhǔn)版本(三篇)
- 2025年個人房屋出租賃合同樣本(三篇)
- 2025年個人房屋購房合同標(biāo)準(zhǔn)樣本(2篇)
- 服裝店裝修承包協(xié)議
- 服裝店裝修合同范本公裝
- 農(nóng)村養(yǎng)殖場裝修協(xié)議模板
- 市政項目土石方運輸合同
- 青島中國(山東)自由貿(mào)易試驗區(qū)青島片區(qū)(青島前灣綜合保稅區(qū))管理委員會選聘35人筆試歷年參考題庫附帶答案詳解
- 《社區(qū)工作者培訓(xùn)課件 新浪版》
- 教育信息化背景下的學(xué)術(shù)研究趨勢
- 人教版小學(xué)數(shù)學(xué)(2024)一年級下冊第五單元100以內(nèi)的筆算加、減法綜合素養(yǎng)測評 B卷(含答案)
- 2024-2025學(xué)年北京市豐臺區(qū)高三語文上學(xué)期期末試卷及答案解析
- 2024年度體育賽事贊助合同:運動員代言與贊助權(quán)益2篇
- 2025屆西藏林芝一中高三第二次診斷性檢測英語試卷含解析
- 開封市第一屆職業(yè)技能大賽健康照護項目技術(shù)文件(國賽)
- 公路電子收費系統(tǒng)安裝合同范本
- 醫(yī)院培訓(xùn)課件:《傷口評估與測量》
- 2021年全國高考物理真題試卷及解析(全國已卷)
評論
0/150
提交評論