摘 要:对PC机与多台流量计通信的方案、系统的组成、硬件的配置、软件设计、工作原理、功能以及技术性能进行了论述。该系统通过下位机(流量计)采集数据、整理数据,通过串口与上位机(PC)通信,控制中心通过上位机(PC机)对数据进行处理、运算、显示与存储。
一、 引言
在工业生产中,能源、动力介质的测量设备分布在现场的各个区域,给设备的监控和数据的统计带来诸多不便,随着智能仪表技术的不断发展,其通讯技术也在不断加强,当今的流量测量仪表大多带有RS-485通讯接口,完全可以运用现场总线方式实现多台测量仪表的集中监控与数据采集。
本文利用VB6.0的ActiveX控件——Microsoft Communication Control,是Microsoft公司提供的ActiveX控件,可以通过计算机串行端口传输和接收数据,还有利用Data 控件来来进行数据库连接存储。
二、 系统的硬件设计:
根据RS—485电气规定,在两线制传输方式下,RS—485驱动器可带32个接收器,实现多半点双工通讯,通讯距离在15m时波特率可达10Mb/s,通讯距离在1.2m范围内波特率可达100Mb/s,超过此距离可用Repeater(中继器),增大传输距离,系统方框图如图所示:
http://www.chinakong.com/upload/upload/200804241936518.jpg
图中PC机通过RS232接口,经RS232—RS485模块与多台流量计仪表相连接,一条总线上最多可接32台,每台仪表被赋予各自的通讯地址码用以识别身份,这样上位PC即能通过RS—485总线对挂在总线上的每个仪表进行通讯。实现对流量计的远程数据采集与监控。
三、 流量计结构及通讯功能:
3.1 流量计大致由三部分组成:
1、 流量传感器,包括壳体组合,前置放大电路等;
2、 温度传感器组合;
3、 流量积算仪表组合。
随着单片技术的不断发展,流量积算仪大多采用单片计算机组成的智能系统,在完成系统的采样积算等功能的同时,还可以采用一定的通讯协议与遵循相同协议的设备联网,积算仪表系统中有1K以上字节的EPROM可以永久保存数据和命令,用户的命令和系统运行参数可通过串口从PC机发送到积算仪表,积算仪表将其格式化后存入不同的EPROM地址中,供运行时直接调用。
3.2 积算仪表与计算机的通讯采用RS-485半双工的方式,积算仪表作为从机,上位PC机作为主机,控制和监视流量计的运行,通讯波特率大多为9600bps,通讯格式为:1位起始位,8位数据位,1位奇偶校验位,1位停止位,每个从站被赋予唯一的本机地址,采用主机轮询,从机应答的通讯方式。主机通过发送命令帧启动一次通讯,从机接收到数据后,判断呼叫地址是否和本机地址相同,若不同,则不与理睬,若相同则根据命令帧中的特征字(命令字),发送主机要求的数据帧。以TLXZ系列流量计为例,命令帧的格式如下:
项号 1 2 3 4
字节数 1字节 2字节 4字节 1 字节
意义 起始字节(STX) 从机地址(ADDR) 特征字 异或校验(BCC)
第一项为帧头(STX)取值41H,用以标志一帧的开始;第二项为从机地址(ADDR)流量计地址码,取值为0—31,当地址码两个字节都为255时为广播地址;第三项命令特征字为3A、3C、3F,用以命令流量计回传的数据内容,第四项BCC为异或校验,为前面数据的异或校验和用于通讯校错。
数据帧比较长,有12个字节,其格式如下:
项号 1 2 3 1
字节数 1字节 2字节 8字节 1 字节
意义 起始字节(STX) 从机地址(ADDR) 用户数据 异或校验
命令帧与数据帧除第三项外,其它意义相同,数据帧的第三部内容是从机根据主机发出的命令帧向主机发出的本机即时、累计数据,或运行参数。
另外主机还有一个特殊的命令帧——参数修改数据帧,它的格式为:
项号 1 2 3 4 5
字节数 1字节 2字节 1字节 8字节 1字节
意义 起始字节(STX) 从机地址(ADDR) 命令字 用户数据 异或校验
该帧的命令字特征为3E,起始码为3F,用以区别其它命令帧,第三部分是主机向从机发送的从机运行参数,从机收到此帧后,将数据格式化,存入EPROM中,以发送流量计的运行参数,对此帧从机不回应。
四、 VB6.0中的ActiveX控件:
在Windows环境下,出于对系统的安全考虑,操作系统完全接管了各种硬件资源,不允许用户直接对包括串口在内的硬件中断进行管理,以往人们只能通过繁琐的API函数或VisualC++标准通讯函数来控制各种硬件,现在VB6.0提供了一个ActiveX控件——Microsoft Communication Control,Version 6.0,称为MSComm控件,利用它可以方便地进行计算机串口的通讯管理。MSComm控件有许多属性,其中与串口有关的重要属性有:
CommPort 设置串口号,类型short,设置为1、2、3等,分别表示COM1、COM2、COM3
Settings 设置串口通讯参数(B、P、D、S),类型string ,B表示波特率,P表示奇偶校验(N—无校验,E—偶校验,O—奇校验,M—符号校验,S—空格校验),D表示有效数据位数,S表示停止位数
PortOpen 设置或返回通信端口状态,类型Bool;
InputMode 从接收缓冲区读取数据格式,类型VARIANT,设置为0时表示字符串格式,设置为1时表示二进制格式
Input 设置从缓
|