| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1087 人关注过本帖
标题:基于visual basic快速开发现场电视监控系统
只看楼主 加入收藏
baoliwanqing
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2005-7-6
收藏
 问题点数:0 回复次数:2 
基于visual basic快速开发现场电视监控系统
摘要: 本文介绍了一种用visual basic快速开发现场电视实时监控系统的方法,该方法简单方便、成本低廉,具有一定的实用价值。实时监控系统投入使用可有效地提高电视台或交通部门的工作效率。 关键词:vb电视监控系统activex 随着电视监视器材、计算机技术的日益发展,图形监视系统在电视系统或监控场所得到了广泛地应用。用图形来实时显示被控对象(摄像机、终端设备等)在操作过程中的状态,具有清晰明了、形象直观且可以及时处理反馈信息。它比数字仪表包含的信息量大得多,因此使现场监控人员的工作方式得到了改进,效率也由此得到了很大的提高。 现场电视监控系统由实时控制系统、监视系统及管理信息系统组成。实时控制系统完成实时数据采集处理、存储、反馈的功能;监视系统完成对各个监控点的全天候的监视,能在多操作控制点上自动或手动切换多路图像,能遥控前端设备,能使摄像镜头自动对焦等;管理信息系统完成各类所需信息的采集、接收、传输、加工、处理,是整个系统的控制核心。 目前的图形实时监控软件通常用vc或vc++开发,它对软件开发人员要求很高,而且开发周期较长,开发难度也偏大。如果利用visual basic(vb)来开发有关的监控系统,就能较好地解决上述问题。 1设计思路与技术路线 由于visual basic在界面制作上的优越性,我们采用visual basic来进行系统的快速开发。本系统必须对硬件进行实时监视控制,从而实现监控功能。要利用vb来开发就必须先解决vb不能直接访问低层硬件的问题,也就是要提出用vb访问低层硬件的解决方案。我们为本系统确定了下列设计方案:让vb去调用dll文件,再让dll去调用vxd文件,通过vxd文件实现对低层硬件的实时控制,再通过写并行端口实现硬件电路的切换。这样,即克服了vb不能直接访问低层硬件缺点,又发挥了vb在界面和开发速度上的优点。本系统主控模块如图1所示。主控模块是监视中心的主界面,它分为手动模块、自动模块、退出模块三个子模块。手动子模块又分为键盘控制和鼠标控制,主要为了监控中心人员灵活的手动控制各个监控点;自动子模块又分为打开通道、增加一项、设置时间、更改名称、删除一项、关闭通道,主要为了监控中心人员方便的自动控制各个监控点,遥控远端设备。 图1系统结构图

2功能简介 (1)监控硬件是通过写计算机的并行端口来实现,vb通过调用dll向并行端口写入8bit的定位信息,本系统采用四个通道并行监控控制点,各通道互不影响。由后端硬件电路根据这8bit的定位信息判断哪个端口的哪个摄像机(监控点)被选中,现场电视监控系统服务器接通被选中的摄像机所对应的门电路。同时在监控中心实时的反映出来。 (2)系统提供了手动控制和自动控制二种方式。 ①自动控制:实现对各个摄像机(监控点)的循环监控。对正在监控摄像机(监控点)进行计时,达到此摄像机(监控点)预定时间时,去调用自动切换子程序完成切换功能,从而使系统按照监控中心人员预先设定的监控顺序自动循环切换。监控中心人员可选择监控的摄像机序列,在自动监控状态下加载后,可以动态的增加、删除摄像机,改变播出时间和顺序。 ②手动控制:实现对各个摄像机(监控点)的手动监控。由于工作需要,有时需要固定在某个摄像机(监控点)长时间不间断地监控,本系统提供了手动控制很好的满足了这个需要。当系统处于手动状态时,监控中心人员可以通过主窗口的手动按钮,或使用键盘数字键选择哪个通道监控哪一台摄像机。选中后,该通道就固定监控此摄像机(监控点),直到手动选择另一个摄像机(监控点)时,才调用手动切换子程序完成切换功能。 (3)系统界面采用vb6.0中的listview控件,此控件具有smallicon、largeicon、list、report四种显示方式,从而达到用户界面友好的效果。图2是在report显示方式下的监控中心主界面。

图2 现场电视监控系统

3.系统的实现 3.1vb访问低层硬件的实现 支持低层硬件访问的dll文件和activex控 件,通过它们可读写存储器单元、端口,甚至控制硬件中断。本系统利用dll实现访问低层,详见图3所示。

图4低层硬件访问示意图

3.2系统中对播放序列存储的实现 由于本系统涉及的摄像机为16台,数量不算太多,可不采用数据库存储,而巧妙地选用随机文件(*.dat)的方式进行存储,可大大提高响应的速度。 表1随机文件格式表

域名用途长度(byte) name 存储摄像机名称 10 id 存储摄像机编号(唯一) 2 time 存储摄像机播放时间 5

3.3写并行端口的程序实现 id域为16×4个摄像机各自唯一的编号,按编号控制门电路的接通与断开。 表2 8bit定位信息取值与通道对照表

通道高位(hex)低位(hex) a 0 0---a b 1 0---a c 2 0---a d 3 0---a

表2中通道列中的a、b、c、d分别对应a、b、c、d四个通道,高位(hex)列只要用二进制的低六位即可完成控制功能。编写函数writetoport向并口中写入8位的二进制数,部分关键源程序如下: public sub writetoport(addr as string, valport as string) '' cw as checkbox) dim nomw as integer, datw as integer '' if cw.value = checked then ''nomw = hextoint(addr.text) nomw = hextoint(addr) datw = hextoint(valport) '' write one byte to the port call setportbyte(hw32, nomw, datw) '' end if end sub

搜索更多相关主题的帖子: basic visual 监控系统 现场 电视 
2005-07-12 20:28
ZGQ520
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-11-10
收藏
得分:0 
有没有源码发份参考参考嘛
qunhuaqing@163.com
谢谢咯
2006-04-30 13:08
XSY3660
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2005-6-6
收藏
得分:0 
能提供源码来学习吗

能提供源码来学习吗
xsy3660@163.com

2006-04-30 17:26
快速回复:基于visual basic快速开发现场电视监控系统
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017142 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved