博文

基于VB的分布式监控系统通信设计(2005-08-02 04:09:00)

摘要:郭爱文 (武汉大学动力工程系自动化专业) 王  静 (武汉大学电力工程系通讯专业) 武汉  430072 摘  要  本文介绍了利用VB的多种通信手段实现分布式监控系统的多种通信功能,对每一种通信手段给出其原理和应用实例。 关键词  VB  通信  串行口  控件  DDE  API The Communication Design of Distributed Control System Based on VB Abstract:  This article introduces the realization of many communication functions of Distributed Control System with the application on lots of communication methods of VB. Key Words:  VB, Communication, Serial Port, Control Box, DDE, API 1. 概论 分布式监控系统已在工业领域得到广泛应用,许多企业对于中小规模的设备,如中小型热电厂和水电站,出于硬件软件投资利润率和性能价格比的考虑,常常是自行开发或参与开发本企业的监控系统。而许多企业在成套引进大型DCS系统后,也常因实际情况而需要自行开发或改进其监控系统。 分布式监控系统以微机为基础,用数据通信将微机连在一起实现数据共享,从而对工业过程进行集中监视管理和分散控制。因此,分布式监控系统中通信的设计与实现是至关重要的环节。Visual Basic开发语言具有简洁明了、编程效率高、开发周期短的特点,利用VB中的多种通信手段,可实现分布式监控系统的多种通信功能。 2. 与下位机的通信 分布式监控系统的数据采集站可直接与现场带有标准RS-232C接口的智能仪表、PLC和单片机等链接,并可通过扩展控制卡形成一个数据采集子网,以高速准确地获取数据。VB的MSCOMM通信控件具有完善的串口数据发送和接受功能,利用它可以屏蔽对硬件的操作,简易快捷地......

阅读全文(2860) | 评论:0

用Visual Basic 5.0开发无线通讯数据采集应用程序2(2005-08-02 04:03:00)

摘要:下面的部分程序代码是计算机和900M无线电台之间的传输程序,本程序已经在486计算机和PII586上调试通过。 1 从串口读入电台数据程序GetStringFromComm() 功能:(1) 主要完成从端口获得数据,将二进制的数据转换为ASCII码数据 Public Function GetStringFromComm() As String 定义变量(略) If frmTerminal.MSComm1.InBufferCount < 7 Then     GetStringFromComm = ""     Exit Function End If '//读入标志码 frmTerminal.MSComm1.InputLen = 6 ReDim Preserve BinDataarr(6) As Byte BinData = frmTerminal.MSComm1.Input BinDataarr = BinData UserDataLenth = BinDataarr(5) '用户数据的长度 Wait1:     If BinDataarr(5) > frmTerminal.MSComm1.InBufferCount Then   '未接受完数据         delay 6 '延时6s         GoTo Wait1     End If     frmTerminal.MSComm1.InputLen = UserDataLenth     BinData = frmTerminal.MSComm1.Input   ReDim Preserve BinDataarr(UserDataLenth)    &......

阅读全文(2462) | 评论:0

用Visual Basic 6.0开发无线通讯数据采集应用程序1(2005-08-02 04:03:00)

摘要:摘要:本文通过对无线通讯系统基本工作原理的分析,阐明了采用Visual Basic 5.0中的控件MSCOMM.VBX进行无线数据采集程序开发的基本方法。并结合900M频率无线通讯电台的特点,给出了基本通讯接口源程序代码。 关键词: VB5  无线通讯      控件 1  引言 目前对于用于数据采集和传输的无线设备之间的通讯编程,一般仍采用C语言和汇编语言较多,这主要是由于在编程时,要涉及到对无线通讯设备硬件的控制,因此,选择C语言和汇编语言的较多。采用以上两种语言进行编程,对于一般的编程人员来讲,很难较快的掌握。本文采用可视化的编程环境从根本上解决了以上问题,只要有一定编程基础的技术人员,均可实现自己编程。 2    无线通讯设备的基本工作原理 在无线的通讯方式中,数据传输的基本原理可以认为是通过调制解调器进行工作的,而这种调制解调器是无线方式工作的,它不含有拨号功能,而且和它直接连接的是无线电台。无线电台的作用就相当于有线传输中的电话线,它是通过无线电波进行发送和接受信号的。而无线调制解调器的作用是将二进制的信号调制成可以在无线电台之间传输的无线电波。 信号转换过程的属性取决于调制解调器所接收到的源信号和目的信号。一般来说,调制解调器从终端或计算机接以串行方式收到二进制信号后,将它们转换成了音频信号。然后调制解调器将这些声音通过无线电台传输出去。在接受端,另一个兼容的调制解调器将这些声音信号转换成了二进制信号,并把这些二进制信号发送给终端或计算机。 由于在无线电台之间有过滤和放大作用,同时,无线电波的传输受很多因素影响,因此传送的速度受到限制。下面给出了一种900M电台的技术特性见表 1。本程序就是使用的这种电台,对于其它参数的电台,其基本原理也是一样的。 表 1 900M无线电台的技术指标 项目 指标 含义 传输速率 1.2Kbps或2.4Kbps 每秒的字节数 数据的控制 透明传输    发射功率 3W    接受灵敏度 -105dBm    工作频率 915—917MHZ    信道......

阅读全文(3181) | 评论:0

china-CAD字体文件下载(new快快下载)(2005-08-02 03:47:00)

摘要:gbcbig.zip    本程序压缩组包含了符合中国国标的汉字标注字体文件:长仿宋大字体形文件gbcbig.shx,和重新改写的与汉字字高比例适当的西文字体gbenor.shx,斜体西文字体gbeita.shx。这些字体都已经包含在AutoCAD R14简体中文版和MDT2.0简体中文版中了。使用西文版的用户,可以从这里得到汉字字体文件,处理符合国标的汉字标注。这些字体文件,也可用于R14以前的版本中。使用方法只是简单地将解压后的文件拷贝到AutoCAD的字体寻找路径下即可!   hztxt.zip   单线仿宋字体     hzfs.zip    仿宋字体     hzht.zip    黑体字体     hzkt.zip    楷体字体     hzst.zip    宋体字体 http://www.adskchina.com/support/chs/filelib/china.html ......

阅读全文(12514) | 评论:0

AutoCAD应用中常见问题的分析与解决2(2005-08-02 03:41:00)

摘要:二、图块组成对象颜色、线型和线宽的继承性     为了讨论方便,先约定几个术语。     Bylayer设置就是在绘图时把当前颜色、当前线型或当前线宽设置为Bylayer。如果当前颜色(当前线型或当前线宽)使用Bylayer设置,则所绘对象的颜色(线型或线宽)与所在图层的图层颜色(图层线型或图层线宽)一致,所以Bylayer设置也称为随层设置。     Byblock设置就是在绘图时把当前颜色、当前线型或当前线宽设置为Byblock。如果当前颜色使用Byblock设置,则所绘对象的颜色为白色(White);如果当前线型使用Byblock设置,则所绘对象的线型为实线(Continuous);如果当前线宽使用Byblock设置,则所绘对象的线宽为默认线宽(Default),一般默认线宽为0.25mm,默认线宽也可以重新设置,Byblock设置也称为随块设置。     显式设置就是在绘图时把当前颜色、当前线型或当前线宽设置为显式,既非Bylayer,也非Byblock。     Bylayer块是指颜色、线型和线宽都采用Bylayer设置绘制的图块;Byblock块是指颜色、线型和线宽都采用Byblock设置绘制的图块;Non-by块是指颜色、线型和线宽都采用显式设置绘制的图块。     在Bylayer块插入后,图块中各对象的颜色、线型和线宽与图块插入后各对象所在图层的设置,即图层颜色、图层线型和图层线宽一致,而不是与图块插入后各对象所在图层的当前设置,即当前颜色、当前线型和当前线宽一致。也就是说,在Bylayer块插入前,如果在被插图形文件中有图块的同名层,则 Bylayer块插入后,图块相应图层上对象的颜色、线型和线宽将跟随被插图形文件中图块的同名层的图层设置。这时,如果图块图层的设置与被插入图形文件图块同名层的设置不同,则在图块插入前后,图块颜色、线型和线宽有明显变化。如果在被插入图形文件中没有图块的同名层,则Bylayer块插入后,图块相应图层上对象的颜色、线型和线宽将保持不变。Bylayer块分解前后,图块所有对......

阅读全文(4579) | 评论:0

AutoCAD中图块使用必须注意的几个问题1(2005-08-02 03:41:00)

摘要:在实际设计中,AutoCAD中图块插入前后其组成对象的图层、颜色、线型和线宽等常常会发生变化,本文分析了AutoCAD中图块插入前后其组成对象的图层、颜色、线型和线宽的变化规律,并推荐了绘制图块时所采用的图层、颜色、线型和线宽设置。     熟练掌握图块特性和使用图块绘图,是每一个渴望成为AutoCAD高手必备的利器。虽然组成图块的各对象都有自己的图层、颜色、线型和线宽等特性,但插入到图形中,图块各对象原有的图层、颜色、线型和线宽特性常常会发生变化。一般AutoCAD书刊中只涉及图块的定义、插入和存盘等内容,而关于图块插入前后其组成对象一般特性发生变化的内容则很少见到。总结它们的变化规律,对于正确使用图块,提高计算机绘图与设计的效率很有意义。本文讨论的图块组成对象的一般特性仅限于图块组成对象的图层、颜色、线型和线宽。     讨论图块组成对象图层、颜色、线型和线宽的变化,涉及到的图层特性包括图层设置和图层状态。图层设置是指在图层特性管理器中对图层的颜色、图层的线型和图层的线宽的设置。图层状态是指图层的打开与关闭状态、图层的解冻与冻结状态、图层的解锁与锁定状态和图层的可打印与不可打印状态等。 一、图块组成对象图层的继承性     在图块插入时,图块中0层上的对象改变到图块的插入层,图块中非0层上的对象图层不变。即图块中原非0层上的对象,如在被插入图形文件中有与其同名的图层,则分别置于各自的同名图层,被插入图形文件中图层的设置不变。如在被插入图形文件中没有与其同名的图层,则AutoCAD首先在被插入图形文件中新建图块的同名图层,并继承图块中非0层对象所在图层的设置,然后把图块中非0层上的对象分别置于各自的同名图层。总之,若0层不是插入层,则图块中0层上的对象,其图层发生改变,被重新置于图块的插入层;图块中非0层上的对象,其图层保持不变,因此我们说非0层对象的图层具有继承性。若0层就是插入层,则图块中各对象所在的图层保持不变。     图块插入后,如果关闭图块的插入层,会使图块中与插入层同名层上的对象不可见,如果0层不是插入层,也会使图块中0层上的对象不可见。因为,图块中0层上的对象已重新置于图块的插......

阅读全文(4569) | 评论:0

AutoCAD 2000的一些实用技巧(2005-08-02 03:37:00)

摘要:---- AutoCAD 是目前国内外使用最广泛的CAD软件,AutoCAD R14 丰富的绘图命令,强大的编辑功能,三维造型功能和良好的用户界面深受广大工程技术人员的普遍欢迎。在AutoCAD R14基础上,Autodesk公司又推出更具震撼力、可相互协作的新一代设计产品AutoCAD 2000。笔者在进行AutoCAD教学和软件开发时,获得一些体验,现总结出,以供大家使用AutoCAD 2000时参考。 1、 十字光标尺寸改变 ---- 工程图绘制时,要按投影规律绘图。为了便于“长对正,高平齐,宽相等”,绘图时,可调整十字光标尺寸。即用options命令或选择下拉菜单 Tools(工具)/ Options(系统配置),打开Options 对话框,找到Display(显示)选项卡,通过修改Crosshair Size(十字光标大小)区中的光标与屏幕大小的百分比或拖动滑块,可改变缺省值5%,使绘图窗口十字光标尺寸变大。 2、 画粗实线 ---- 技术制图国家标准对机械图样中的线型有规定。用AutoCAD 2000画粗实线有多种办法,最简便的办法是使用lweight命令。此命令可在命令行直接键入,或选择下拉菜单Format(格式)/Lineweight(线宽),在出现的对话框中,设置所需线宽,缺省线宽为0.25mm,即可。 ......

阅读全文(2986) | 评论:0

用VB构建Internet的应用2(2005-07-21 17:34:00)

摘要:在Internet应用程序中使用ActiveX控件   ActiveX控件为你的HTML页面带来了活力。通过HTML和VBScript, 你可以在一个HTML页面上使用ActiveX控件, 设置它们的属性,调用它们的方法并处理它们的事件。一个包含控件的的HTML页面仿佛一个Visual Basic的设计窗口。ActiveX控件可以提供更多的交互式的,生动的用户界面特性,使HTML页面变得更加有活力。   一般需要通过HTML和VBScript的综合手段引用并控制ActiveX控件的行为。使用HTML为浏览器提供下载,注册并引用ActiveX控件引用的途径。在HTML代码的OBJECT标签中需要包括: 控件的类别ID, 以使程序能在Windows的注册表中找到它们; ID的属性,以便在VBScript中引用该控件(类似于Visual Basic中的Name属性); CODEBASE属性,告诉浏览器如果组件不在客户机上该去哪儿找; PARAM NAME标签,设置控件的属性参数。 然后用VBScript编写处理单击事件的代码,使每一个控件被单击后,程序可以作相应的动作。   Visual Basic专业版中还包括了三个已预先设计好的用于包裹Internet相关技术的控件, 使你能够扩展已有的应用程序,它们是: Internet Transfer Control---包裹了三种通用的Internet协议:HTTP, FTP和Gopher; WebBrowser Control---包含了许多通过Internet Explorer可以获得的功能; WinSock Control---使你可以连接到一台远程的机器, 然后通过UDP或TCP交换数据。   通过使用这些控件, 你可以添加从FTP站点自动下载文件的功能,还可以为Visual Basic IDE提供Web浏览器的Add-in。   在Internet应用程序中使用ActiveX代码组件   无论是在客户端或是在服务器端, 都可以使用ActiveX代码组件(.dll或.exe文件), 从而为HTML页面添加功能。   在客户端部署代码组件, 由于用户的命令无须通过网络传输回服务器,可以大大提高运行速度。服务器端的组件同样也可以有显示用户界面可视化元素的功能。通过下载一个DLL, 我们可以......

阅读全文(2824) | 评论:0

用VB构建Internet的应用1(2005-07-21 17:33:00)

摘要:用VB构建Internet的应用   Internet技术的发展为编程人员提供了更广泛的施展身手的空间。早先"Internet应用程序"这个词仅仅只是指一些用FTP协议下载文件或浏览HTML页面的工具,而如今使用Visual Basic,不仅可以为Internet开发应用程序,而且还可以把Internet技术作为一部分融入大型的解决方案中?   今天我们所要讨论的问题是利用Visual Basic创建在面向Internet的应用中起重要作用的ActiveX组件。例如,你所创建的ActiveX控件可以用于HTML页面;你开发的ActiveX文档可以在Internet浏览器中使用并于其他的组件一起和HTML页面集成起来;另外ActiveX代码组件(以前被称为OLE服务器), 可以被部署在客户端或服务器端的计算机上用于后台的处理。   [Internet的开发环境]   Internet是一个使用TCP/IP协议、全球性的非集中管理的计算机网络。如果去掉全球性这一点, 所谓"Internet技术"完全可以和本地局域网中所使用的技术一样。   从一方面来看, Internet技术只是简单地为开发人员提供了另一个施展身手的空间。如果你在和Web连接时使用了ActiveX组件,尽管你具体实现的方法有可能不同,如采用了HTML和VBScript代码以实现安全性或是其他,但是你仍然在调用方法,设置属性,处理事件等等。这样,作为一个VB开发人员所有的 知识和技能都被用于了Internet的环境下。   从另外一个方面来看,应用Internet的技术可以使你向一些吸引人的方向延伸你的开发工作。例如将ActiveX组件和Internet技术综合有以下的益处: 更简单的维护---作为Web一部分的组件可以根据需要下载,无须用户运行一个setup程序进行升级; 将功能延伸至Internet---通过通用协议,用户将看不见在Internet和Intranet之间的切换。   Internet客户/服务器   可以借用客户机/服务器的关系来考查Internet的开发环境,客户端和服务器端都可以有"静态的"和"活动的"两种状态。活动的客户机或服务器可以根据其内部状态的改变而动态地运行一个......

阅读全文(2171) | 评论:0

人生十二个经典领悟 (2005-07-21 17:25:00)

摘要:父子二人经过五星级饭店门口,看到一辆十分豪华的进口轿车。儿子不屑地对他的父亲说:「坐这种车的人,肚子里一定没有学问!」父亲则轻描淡写地回答:「说这种话的人,口袋里一定没有钱!」   (注:你对事情的看法,是不是也反映出你内心真正的态度?) 2、晚饭后,母亲和女儿一块儿洗碗盘,父亲和儿子在客厅看电视。突然,厨房里传来打破盘子的响声,然后一片沉寂。是儿子望着他父亲,说道:「一定是妈妈打破的。」「你怎么知道?」「她没有骂人。」   (注:我们习惯以不同的标准来看人看己,以致往往是责人以严,待己以宽。) 3、有两个台湾观光团到日本伊豆半岛旅游,路况很坏,到处都是坑洞。其中一位导游连声抱歉,说路面简直像麻子一样。说而另一个导游却诗意盎然地对游客说:诸位先生女士,我们现在走的这条道路,正是赫赫有名的伊豆迷人酒窝大道。」   (注:虽是同样的情况,然而不同的意念,就会产生不同的态度。思想是何等奇妙的事,如何去想,决定权在你。) 4、同样是小学三年级的学生,在作文中说他们将来的志愿是当小丑。中国的老师斥之为:「胸无大志,孺子不可教也!」带外国的老师则会说:「愿你把欢笑带给全世界!」   (注:身为长辈的我们,不但容易要求多于鼓励,更狭窄的界定了成功的定义。) 5、在故宫博物院中,有一个太太不耐烦地对她先生说:「我说你为甚么走得这么慢。原来你老是停下来看这些东西。」   (注:有人只知道在人生的道路上狂奔,结果失去了观看两旁美丽花朵的机会。) 6、妻子正在厨房炒菜。丈夫在她旁边一直唠叨不停:慢些。小心!火太大了。赶快把鱼翻过来。快铲起来,油放太多了!把豆腐整平一下!「哎厎」妻子脱口而出,「我懂得怎样炒菜。」「你当然懂,太太,」丈夫平静地答道:「我只是要让你知道,我在开车时,你在旁边喋喋不休,我的感觉如何。」   (注:学会体谅他人并不困难,只要你愿意认真地站在对方的角度和立场看问题。) 7、理由充份 一辆载满乘客的公共汽车沿着下坡路快速前进着,有一个人後面紧紧地追赶着这辆车子。一个乘客从车窗中伸出头来对追车子的人说:“老兄!算啦,你追不上的!”“我必须追上它,”这人气喘吁吁地说:“我是这辆车的司机!”   (注:有些人必须非常认真努力,因为不这样的话,後果就十分悲惨了!然而也正因为必须全力以赴,潜在的本能......

阅读全文(1990) | 评论:2