为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

远程监控系统的云台控制及多画面显示

2010-06-09 2页 pdf 119KB 40阅读

用户头像

is_999621

暂无简介

举报
远程监控系统的云台控制及多画面显示 2002年8月 电 脑 学 习 第4期 远程监控系统的云台控制及多画面显示 刘金明 陈佩江~ 周洪玉一 摘 要 基于面向对象的编程思想。对有关串口编程和 多画面显示的函数进行了类的封装。提出了串行通信和多画面显示程 序 的一 般方法 。并给 出 了远程 监控 系统的软件实现方痞 。 关键词 远程监控 Visual C++ 面向对象 串行通信 云 台控制 多面面显示 Console Control and Multi-picture Show in Remote M onitoring System L...
远程监控系统的云台控制及多画面显示
2002年8月 电 脑 学 习 第4期 远程监控系统的云台控制及多画面显示 刘金明 陈佩江~ 周洪玉一 摘 要 基于面向对象的编程思想。对有关串口编程和 多画面显示的函数进行了类的封装。提出了串行通信和多画面显示程 序 的一 般方法 。并给 出 了远程 监控 系统的软件实现方痞 。 关键词 远程监控 Visual C++ 面向对象 串行通信 云 台控制 多面面显示 Console Control and Multi-picture Show in Remote M onitoring System Liu Jinming Chen~ijiang Zhou Hongyu Abstract Keyword Basing on object-oriented program thinking,this paper encapsulates some functions about serial portprogram and multi-picture show designing,and tells general method of serial communication program and muhipicture show designing.This paper also gives method of realizing remote monitoring and controlling system. Remote Monitoring Visual C++ Object-oriented Serial Communication Console Controlling Multi-picture Show 远程监控系统中云台和镜头的控制足系统的~个重要 功能,它须借助于串口编程来实现,如何有效地开发串行通 信程序 ,足远程监控系统软件中基础、关键的一个环节。本 文采用面向对象的编程方法 ,利用 Visual C++实现监控系 统的云台控制和多画面显尔功能。 1远程监控系统结构 根据功能_手【I硬件连接方式的不同,远程监控系统可分 为二种类型:总线型,星型, 型扩展型。其中垡型足应用最 多,也是最经济的一种 ,其连接方法如图 1所示。采用星型 的远 监控系统的特点足: (1)对镜头可进行二可变控制:控制光圈、焦距、镜头 拉伸; (2)埘 云台可做全方位控制:该系统可以对 云台的上、 下、左、右转动以及配套的云台护罩的丰H应保护设备进行全 方位的控制; (3)可同时 示多个通道的视频信息; (4) 数字录像功能 :能根据用户制定的计划智能录 像,也可随时录像,并可对录像文件进行查询和回放; (5)编码懈 码器具有双向通讯功能:编码器和解码器 具有独 的地址编码,采J{J数字化信号进行寻址 ,它可将丰H 应的反馈信息及报警信息回传到主控系统,并可实现单线 遥控; (6)编码控制节省控制线:系统各点均采用编码方式 总线控制,各监控 点设备和控制设备只需挂接在总线上即 可,方便灵活。同时编码控制提高了设备控制的可靠性,使 布线、维修较为容易。 本系统中一个编码器最多可接四个云台和摄像头。云 台J{]来控制摄像头的移 和镜头的拉伸、调焦等任务。编码 刘金明 哈尔滨铁路局齐齐哈尔科学技术研究所工程师 (161002) 陈佩江 哈尔滨理丁大学机械动力工程学院 (150080) · 4 · 器对应于现实中的站点(如哈尔滨火车站),一个云台对应于 某站点的一个监视点 (如哈尔滨火车站售票人厅)。 r-- h r-- h ~-a星r-- h 云台 白 亡] 苫 声视频采集卡 — l解码器 l 2M I编码器 编码器 工 解码器 编码器 工 解码器 }拧计算机 兰竺 网络分摔计算机 网络分控计算 RS232 图 1星型远程监控 系统结构 2远程监控系统的云台控制功能的实现 远程监控系统中控制功能有控制镜头和控制 云台,它 须借助于串行通信来实现。串行通信可以在一定的硬件支 持下主要用软件来实现,更方便也更常,{J的串行通信实现 方法是使用硬件接 口电路,再辅之以必要的软件驱动程序 。 串行端 口的本质功能是作为 CPU和串行设备间的编码转 换器。当数据从 CPU经过串行端 口发送出去时,字节数据 转换为串行的位;在接收数据时,串行的位被转换为字节数 据。 在 Windows环境 卜,串口足系统资源的一部分。麻川程 序要使用串口进行通信,必须在使埘之前向操作系统提 打开串口要求,通信完成后必须关闭串口,释放资源。在实 际编程中,由于采刚的通信方式和流控制不 ,串口设置也 不同,这就涉及到 DCB的仞始化和读弓串口等细节问题, DCB (Device Control Block) 结构定义了串口通信设备的 控制设置,许多重要设置部是在此结构中完成的 。 串口通信程序的流程如图 2所爪。 在面向对象的编程过程 中,类的实现是核心¨题l4J,存 此可以把与串口操作有关的函数封装为一个类:CCorePort。 收稿日期:2002—02—27 维普资讯 http://www.cqvip.com 2£生 H鱼 墼墼H亟兰圭竖H 生 l 图2 串行通信程序流程图 布程序中只要卢明一个 CComPort的一个实例后便可对串 口进行操作。以 卜埘 CComPort类最常用的 L个成员函数进 行简要的说明。 (1)打丌串口:void OpenPort(int nPort,DWORD dw— Baud : 9600. Parity parity NoParity. BYTE DataBits = 8,StopBits stopbits : 1, FlowControl fc = NoFlowControl, BOOL bOverlapped= FALSE); nPon为所使刚的串口号, dwBaut为波特牢,parity为奇偶位 ,DataBits为数据位 ,stop- bits为停止位,fc为流 制设置,bOvedapped为是否采用异 步通信方式。 (2)写 串口:DWORD WritePort(const void lpBuf,DW— ORD dwCount);lpBuf为存 放要写入 的数据 的缓冲 区,dw— Count为要写入的字节数。 (3)读串 口:DWORD ReadPort(void lpBuf,DWORD dwCount);lpBuf为存放要读取数据的缓冲区,dwCount为要 读取的字节数。 (4)关闭串口:void ClosePort0,释放所申请的资源。 要实现监控系统的云台控制功能,需要发送给摄像机 云台驱动器命令码来使其进行以’卜操作,下面 以操纵云台 向左运动为例说明: ①声明 一个 CComPort类的实例:CComPort Ill—Port; ② 打丌 串口: Ill—Port.OpenPort(1,9600,CComPort:: NoParity); ③弓串口:本文就是操纵云台向左运动 。 void CCommand::I FC FdFop(BYTE EncordAddr,BYTE PtcAddr1 作云台向 运动 { BY FE cmdl 71; cmd[O I=Oxfc; cmd[1】:Ox6; cmdI 21=EricordAddr; 岛码器地址 cmdl31=0xl: 码器和云台直接相连,值恒定为 1 cmd[4]=PtcAddr;//2台拧制器地址 cmdl51=Ox4; 制云台I,n_走运动 cmdl6]=Oxl00一((cmdlOl+cmdl 1]+cmd[21+cmd[31+cmd[4]+cmd[5])% Oxm: 验码 m_l’oft.WritePort(cmd,7); ) ④关闭串口:m—Port.ClosePort0。 3远程监控系统多画面显示的实现 埘于远程 控系统来说,多画面显示也是必不可少的 一 种功能。与传统的监控系统不 同的足:多画面显求不是借 助于硬什来实现,而足完全由软件来完成。基于面向对象的 编程思想,本文定义了一个类 CPicView,通过它可方便的实 现以 }:功能,并 H.可很人程度地提高软件的可扩展性。以 F 埘 CPicView类的主要的接口函数进行简要的说明。 (1)初始 化:BOOL InitPicView(HWND hView);参 数 hView为要显示图像的窗口的句柄 。 (2)设置显 示幅 数 :BOOL SetVieWMOde(int nMode1: 参数 nMode为显示幅数,值可为 1,4,9,16。 (3)显示 图像 :BOOL ShowMPG(int index.int chan— ne1); 参数 index代表要显示图像的区域为第几个矩形,基 数为 0;参数 channel为显尔的图像为第几通道的视频信 息,基数为 0。 (4)设置某一通道为当前画面:BOOL SetCufDentView (int index);参数 index为要设置的 前画面,基数为 0:在整 个系统的控制面板上只有一个 前画面,控制功能只对当 前画面起作用.且只有当前画面可进行声音预览。 例如某远程监控系统有十个监视点,要四幅显示其中 的前四个通道的视频信息可由下面的步骤实现。 (1)在系统起动时,首先声明一个 CPicView的实例:c picView Ill — PicView; (2)对实例进行初始化 Ill—PicView.InitPicView(m _ hWn d);m—hwnd为主窗口的句柄 ,以后所有的视频信息都将在 主窗口内显示: (3)显示四幅图像,可由下面的消息函数实现。 void CMonitorDlg::OnFourView() { nl — PicView.SetViewMode(4);/臌 置显示方式为四幅显示 f0r(int i_O;i<4;i++) { m _ PicView.ShowMPG(i,i1; ∥显示四幅图像 】 m _ PicView.SetCurrentView(0);/A~置第 一个画面为当前监视画面.并 可监听第 一个画面所对应的通道的音频信息 】 4结 束 语 基于面向对象的编程思想,针对远程监控系统中的云 台控制和多画面显示,本文提出了串行通信程序设计和多 画面显示的一般方法,提高了程序的可扩展性和稳定性。采 用此方法编写的远程监控系统 投入使用,实地运行结果 表明,系统可实现对云台的上、卜、左、右转动伞方位的控制 和多画面显示功能,特别适用于监控对人体有毒、有害的 作环境,而且真正实现了少人或无人看管,减轻了现场工作 人员负担,降低了工程造价,提高了经济效益。该系统稳定 可靠,具有较强的适应性,经过简单修改后,就可应用于电 力、交通、医疗、银行等领域。 参 考 文 献 1张力,吕振肃,赵庆林.vc++下串行通信的编程方法[J]. 成都:计算机应用,1999,(3) 2邹逢兴,史美萍,陈立刚.讨’算机硬件技术及应刚基础 【M】.长沙:国防科技大学 出版社,2001:26—43 3刘树坤,刘金.用 Windows API实现串行通信[J].成都: 计算机应用,2000,20(2):43—44 · 5 ‘ 维普资讯 http://www.cqvip.com
/
本文档为【远程监控系统的云台控制及多画面显示】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索