用VB6 - 0实现PC机对多台流量计远程数据采集与监控-_第1页
用VB6 - 0实现PC机对多台流量计远程数据采集与监控-_第2页
用VB6 - 0实现PC机对多台流量计远程数据采集与监控-_第3页
用VB6 - 0实现PC机对多台流量计远程数据采集与监控-_第4页
用VB6 - 0实现PC机对多台流量计远程数据采集与监控-_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用VB6_0实现PC机对多台流量计远程数据采集与监控.txt如果真诚是一种伤害,请选择谎言;如果谎言是一种伤害,请选择沉默;如果沉默是一种伤害,请选择离开。用VB6.0实现PC机对多台流量计远程数据采集与监控节能法律、法规节能先关表格下载节能宣传栏节能相关技术标准相关部门文件栏目树形导航| 首页 | 行业信息 | 公司信息 | 部门信息 | 生产管理 | 技术资料 | 员工沟通| 网上学习 | 帮助导航 |技术设备部首页|设备管理|计量管理|节能管理|部门动态|法规制度|技术交流|设备之窗|您现在的位置:珠海供水 >> 技术交流 >> 技术设备部正文用户登录新用户注册

2、图文用VB6.0实现PC机对多台流量计远程数据采集与监控【字体:小大】用VB6.0实现PC机对多台流量计远程数据采集与监控作者:喻维纲技术设备部来源:湘潭钢铁公司自动化部点击数:18 更新时间:2005-10-28摘要:利用VB6.0 ActiveX控件的MSComm通信控件,实现了Windows9X下单台PC机与多台智能流量计的串行通讯,达到了对分散设备的集中控制和计量数据的采集和自动上报功能。关键词:PC机;流量计;智能仪表;RS485;串口;事件驱动Collecting and controlling the Long-distance Data of Flowrates byUsing

3、 Personal Computer Base on VB6.0Xiang Tan Steel Automatic DepartmentYu Wei GangAbstract: This paper describes one personal computer series-communicating with many intellectual-flowrates under Windows9X by using MSComm controls of VB6.0 ActiveXs.Coming to centralized controlling scattered measure Equ

4、ipment and Automatic data collecting and switching.Key word: Personal computer; floweret; intellectual meter; SerialcommunicationRS485; incident driving一、引言在工业生产中,能源、动力介质的测量设备分布在现场的各个区域,给设备的监控和数据的统计带来诸多不便,随着智能仪表技术的不断发展,其通讯技术也在不断加强,当今的流量测量仪表大多带有RS-485通讯接口,完全可以运用现场总线方式实现多台测量仪表的集中监控与数据采集。本文利用VB6.0的Acti

5、veX控件Microsoft Communication控件,方便的实现了Window9X环境下一台PC机与多台流量计测量仪表的串行通信功能,完成24台流量计的数据采集与管理。二、系统的硬件设计:根据RS485电气规定,在两线制传输方式下,RS485驱动器可带32个接收器,实现多半点双工通讯,通讯距离在15m时波特率可达10Mb/s,通讯距离在1.2m范围内波特率可达100Mb/s,超过此距离可用Repeater(中继器,增大传输距离,系统方框图如图所示:图中PC机通过RS232接口,经RS232RS485模块与多台流量计仪表相连接,一条总线上最多可接32台,每台仪表被赋予各自的通讯地址码用以

6、识别身份,这样上位PC即能通过RS485总线对挂在总线上的每个仪表进行通讯。实现对流量计的远程数据采集与监控。三、流量计结构及通讯功能:3.1 流量计大致由三部分组成:1、流量传感器,包括壳体组合,前置放大电路等;2、温度传感器组合;3、流量积算仪表组合。随着单片技术的不断发展,流量积算仪大多采用单片计算机组成的智能系统,在完成系统的采样积算等功能的同时,还可以采用一定的通讯协议与遵循相同协议的设备联网,积算仪表系统中有1K以上字节的EPROM可以永久保存数据和命令,用户的命令和系统运行参数可通过串口从PC机发送到积算仪表,积算仪表将其格式化后存入不同的EPROM地址中,供运行时直接调用。3.

7、2 积算仪表与计算机的通讯采用RS-485半双工的方式,积算仪表作为从机,上位PC机作为主机,控制和监视流量计的运行,通讯波特率大多为9600bps,通讯格式为:1位起始位,8位数据位,1位奇偶校验位,1位停止位,每个从站被赋予唯一的本机地址,采用主机轮询,从机应答的通讯方式。主机通过发送命令帧启动一次通讯,从机接收到数据后,判断呼叫地址是否和本机地址相同,若不同,则不与理睬,若相同则根据命令帧中的特征字(命令字,发送主机要求的数据帧。以TLXZ系列流量计为例,命令帧的格式如下:项号1234字节数1字节2字节4字节1 字节意义起始字节(STX从机地址(ADDR特征字异或校验(BCC第一项为帧头

8、(STX取值41H,用以标志一帧的开始;第二项为从机地址(ADDR流量计地址码,取值为031,当地址码两个字节都为255时为广播地址;第三项命令特征字为3A、3C、3F,用以命令流量计回传的数据内容,第四项BCC为异或校验,为前面数据的异或校验和用于通讯校错。数据帧比较长,有12个字节,其格式如下:项号1231字节数1字节2字节8字节1 字节意义起始字节(STX从机地址(ADDR用户数据异或校验命令帧与数据帧除第三项外,其它意义相同,数据帧的第三部内容是从机根据主机发出的命令帧向主机发出的本机即时、累计数据,或运行参数。另外主机还有一个特殊的命令帧参数修改数据帧,它的格式为:项号12345字节

9、数1字节2字节1字节8字节1字节意义起始字节(STX从机地址(ADDR命令字用户数据异或校验该帧的命令字特征为3E,起始码为3F,用以区别其它命令帧,第三部分是主机向从机发送的从机运行参数,从机收到此帧后,将数据格式化,存入EPROM中,以发送流量计的运行参数,对此帧从机不回应。四、 VB6.0中的ActiveX控件:在Windows环境下,出于对系统的安全考虑,操作系统完全接管了各种硬件资源,不允许用户直接对包括串口在内的硬件中断进行管理,以往人们只能通过繁琐的API函数或VisualC+标准通讯函数来控制各种硬件,现在VB6.0提供了一个ActiveX控件Microsoft Communi

10、cation Control,Version6.0,称为MSComm控件,利用它可以方便地进行计算机串口的通讯管理。MSComm控件有许多属性,其中与串口有关的重要属性有:CommPort设置串口号,类型short,设置为1、2、3等,分别表示COM1、COM2、COM3Settings设置串口通讯参数(B、P、D、S,类型string,B表示波特率,P表示奇偶校验(N无校验,E偶校验,O奇校验,M符号校验,S空格校验,D表示有效数据位数,S表示停止位数PortOpen设置或返回通信端口状态,类型Bool;InputMode从接收缓冲区读取数据格式,类型VARIANT,设置为0时表示字符串格式

11、,设置为1时表示二进制格式Input设置从缓冲区中读取数据,类型Long;Output向发送缓冲区中写入数据,类型Long;InputLen设置或返回Input 每次读取的字节数,类型Short;Rthreshold 设置返回要接收的字符数,类型Short;Sthreshold 设置并返回发送缓冲区中允许的最少字符数,类型Short;CommEvent串口事件,类型Short;InputMode 使程序方便地选择从缓冲区读取数据格式。当串口接收到信息时MSComm 控件提供两种处理方法,一种为查询方式,一种为事件响应方式,利用SetCommEvent (函数设置串口响应事件。当响应事件发生时,

12、系统会激活OnComm(事件。在OnComm(事件中添加用户处理代码,则可实现类似中断的串口事件处理。五、用VB6.0实现对流量计积算仪表的串行通讯控制:在Windows9X VB6.0编程环境下,新建工程引用MSComm通讯控件,在窗体中至少添加以下几个基本控件:1、 1个MSComm控件,控制名为MSComm1,用于软件对串口的访问;2、两个定时器控件,名为(TimPeriodic和TimNonPeriodic,TimPeriodic用于使PC机定时向各仪表发送周期性命令,使其定时回传实时数据;TimNonPeriodic 用于控制两次非周期性指令传送之间的时间间隔;3、 1个非周期性命令

13、发送按钮CmdNonPeriodic,用于非周期性指令的传送启动;4、若干个用于显示仪表参数的文本框和设置仪表参数的对话框;监控软件的核心是如何读取和处理现场仪表的实时数据,编程时应注意以下几个问题:、主机采用轮询方式访问从机,从机应答到发送完数据有一定的时间间隔,一般设定为23秒;、由于采用一个串口和半双工通讯方式,一方发送数据时另一方必须等待接收,因此在发送非周期性命令时,必须停止轮询,否则会发生数据包碰撞,使通讯失败;、主机呼叫从机无应答时,要有报警设置,提示通讯出错,一般设置3次呼叫无应答后,即可停止呼叫,提示通讯出错,跳过此从机继续执行;、当从机故障或停运时,应可自动跳过对此从机轮询

14、,以节省轮询时间,并在显示窗口提示,同时写入故障记录。下面给出读取和处理现场仪表数据时的源代码,供参考:5.1 窗体中各控件初始设置:Sub Form-load(MSComm1,CommPort=2 /选用COM2口通讯MSComm1,Setting=“9600,N,8,1 /设置通讯参数MSComm1,Inputlen=0 /Input将读取缓冲区全部内容MSComm1,InputlenSize=1024 /设置接收缓冲区大小MSComm1,PortOpen=True n /打开通讯端口MSComm1,InBufferCount=0 /清除发送缓冲区MSComm.OutbufferCount

15、=0 /清除接收缓冲区TimNonPeriodic.Interval=3000 /设置3秒定时间间隔TimNonPeriodic.Interval=500 /设置0.5秒定时间间隔CmdPressed=False /命令按钮在未激活状态DuringPeriodic=False /周期命令传输未开始DuringNonPeriodic=False /非周期命令传输未开始End Sub5.2 周期性命令的发送:Sub TimPeriodic_Timer(If DuringNonPeriodic=True Then Exit Sub /非周期命令数据传送未结束退出过程DuringPeriodic=Tr

16、ue /周期命令准许发送Call Send Date (Periodic_COMMAND /发送周期性命令MSComm1.Rthreshold=R_PERIOPIE_BYTE /接收字节后引发OnCommgk 事件 End Sub5.3 非周期命令的发送Sub CmdNomPeriodic_click(CmdPressed=true/允许发送End SubSub TimNoPeriodic_Timer(/发送周期性命令If DuringPeriodic=True or CmdPressed=False Then Exit Sub/周期性命令传送未结束或本次传送未被允许时,退出本过程CmdPre

17、ssed=false/发送命令按钮恢复禁止 Call SendDate(NoPeriodic_COMMAND /发送命令 MSComm1.Rthreshold=R_NONPERIODIC_BYTE / 接 收 字 节 后 引 发 Oncomm 事件 5.4 数据的接收和处理: 流量计积算仪表回传数据时即可在主机上引发 OnComm(事件,在此事件处理函数中, 首先判断接收数据的完整性,然后将数据一次全部读到所定义的变量参数中,根据流量计通 讯协议中定义的内容,分别取出各个字节,解析出意义,在屏幕上显示,同时利用 OFFICE 自带的 Access 数据库,在 VB 监控程序中加入 DATA 控

18、件,将数据存入数据库中,使用 VB 的 报表功能即可产生日、月、年报表,同时可以通过编程将数据发往企业内部主数据库,实现 能源计量数据的自动上报。 六、结语: 本文利用 VB6.0 下的 ActiveX 控件实现了在 Windows9X 环境下, 单台 PC 与多台流量计 的通讯监控。本系统在湘钢煤气调试系统中成功使用,实现了分散计量点数据的自动采集、 汇总与上报,及时反应出生产中能源计量数据,为生产的成本控制起到了积极作用,整个系 统结构简单,无需购置价格昂贵的组态软件,方便、灵活,具有较好的实际价值和使用性。 参考文献: 1、 范逸文、 陈立元 Visual Basic 与 RS-232 串行通信控制M, 清华大学出版社, 2002 年。 2、王仲文等释,精通串行通信M,北京电子工业出版社,1995 年。 3、 (美)Steven Holzner.Visual Basic 6.0 技术内幕,机械工业出版社M,1999。 4、TLXZ 系列流量计说明书,2002 年 技术设备部录入:何雄 责任编辑:何雄 上一个技术设备部: 泵用机械密封的维修 下一个技术设备部: 我国将重点推进十项节能工程 【发表评论】 【加入收藏】 【告诉好友】 【打印此文】 【关闭窗口】 最新热点 最新推荐 08 年度能源统计月报(下载 设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论