远程抄表系统毕业设计(源码+万字报告+部署讲解等)

目 录
第1章电力载波抄表系统总体设计…
1.1 自动抄表系统的组成
第2章 数字电表的设计…
2.1系统功能需求分析
2.1.1主要性能参数
2.1.2 应完成的主要功能
2.2系统硬件设计
2.2.1电能计量模块设计
2.2.2 液晶显示模块选择
2.3系统软件设计
2.4 本章小结
第3章 介绍低压电力线载波通讯方案…
3.1电力载波远程抄表系统功能分析
3.2 系统总体构架设计思路
3.3 系统的组成和各部分的功能
3.4 本章小结
第4章 电力线载波抄表系统集中器软件的设计…
4.1通信协议的制定
4.2集中器软件设计
4.2.1主程序设计
4.2.2 集中器向上位机的数据传输
4.3本章小结
第5章 介绍上位机管理软件的设计思路、绘制程序流程图…
5.1系统的硬件设计及工作原理
5.1.1系统硬件方案设计
5.1.2 通讯方式选择
5.2 传输接口和协议选择
5.3 实时串行通讯程序设计
5.4 数据库的建立
5.5 利用Data 数据控件访问数据库
5.6 使用DBGrid 控件浏览数据库
5.7系统运行
结论…
参考文献…

第一章 电力载波抄表系统总体设计
1.1自动抄表系统的组成
图3-1是基于电力线调制解调器的自动抄表系统的结构示意图,系统以供电局的计算机抄表中心为主站,以电力变压器10KV/380V供电的每个小区为相对独立的子系统,在这些子系统中,集中器又相当于主站,电能表以及数据采集器为从站。采集器的作用是采集多个用户的电表数据,通过电力Modem的调制解调,并经22OV低压电力网用载波方式送到集中器,集中器再通过公用电话网或专用通信网(如光纤或无线电通信等)把数据传送到供电局的计算机抄表中心。
由系统结构示意图可知,自动抄表系统是将电表数据从下而上逐级传送完成,也可以根据实际情况的需要进行数据双向传输,该系统可分为五个主要组成部分:
(1) 电能用户表;
(2) 数据采集器;
(3) 电力线Modem;
(4) 集中器;
(5) 计算机抄表中心。

图3-1 系统结构示意图[4]
抄表系统各组成部分的功能是:
(1) 电能用户表
对于电磁式电能表,需在表内加装一只传感器或光电模块,将电能表的数据转换成电信号输出;对于电子式电能表,则可以直接利用表的电脉冲输出。
(2) 数据采集器
数据采集器实际上是计一费终端和数据集中器中间的一个桥梁,它的主要功能在于同时采集多个用户电能表的电量脉冲信息,并经过处理和存储,通过电力线Modem沿低压电网送到集中器上。并且当接收到上层的命令时,数据采集器能够向计费终端发出抄表或者断电的命令。
(3) 电力线Modem
主要是对采集器送来的数据进行调制和解调,增强对低压电网的抗干扰性和减低信道传输的误码率。
(4) 数据集中器
数据集中器是安装在小区的配电站区的,它的功能是向采集器发出命令,抄收计费终端的数据,然后再通过公用电话网络传送给远方的数据中心;数据集中器能够接收的数据中心的命令,并把相关命令再转发给辖区内的指定的数据采集器。此外,数据集中器还可以定时抄收计费终端的数据,并把抄收到的数据存储到数据存储器中。
(5) 计算机抄表中心
通过通信网对集中器送来的电量数据进行分类和储存、校对抄录时间、设置用户编号和抄表时间、发布抄录命令以及统计和计价、为收取电费、线损计算、负荷控制提供服务。
(6) 集中器与数据中心之间的通信
数据集中器与数据中心之间的通讯采用公用电话网络作为通讯媒介,自动抄表系统的数据中心与数据集中器之间的通讯主要是电话线Modem模块之间的通讯,在电力线载波集中抄表器的设计中,我们利用单片机进行两地间的数据通信,通过单片机及对应的控制电路和FSK(移频键控)调制解调器(MODEM)相结合,借助现有的公用电话交换网(PSTN进行传输,来实现两地之间的数据通信功能。

图3-2 集中器与上位机的通信框图【7】
发送端从PC的RS-232口出来,经RS-232/TTL电平转换芯片将RS-232电平转换成TTL电平送到调制解调器,调制解调器将数据调制成音频信号,通过电话通信网传到对方的调制解调器,对方的调制解调器将音频信号解调成数据,再送到对方的单片机中,进行数据处理。反之亦然
(7) 数据采集器与数据集中器之间的通信
低压电力线载波数据不能够跨越变压器,所以数据集中器基本上是被设置在住宅小区配电站以内,数据采集器与集中器之间的通讯采用低压电力线载波通信方式。
第二章 数字电表的设计
2.1系统功能需求分析
本系统是远程抄表系统的前端部分,主要包括电能的计量、液品显示.RS-485
通信和供电电源四部分。电能计量部分的核心是计量芯片; 前端采样应分别采集
电流和电压信号并数字化处理输入给单片机:单片机完成数据处理后控制液品显
示用电量,抄表通信时单片机控制串口通信芯片与中继器进行数据交换。实现数
据的实时采集,自动传输。
2.1.1主要性能参数
工作电压 :220Vt 10%
测量范围: 5A~40A,Ib=5A,Imax=40A,符合用户常用要求。

仪表常数: 3200imp/kwh
测量精度: 1.0级(误差s1%)
功率损耗; <1W
显示方式: 用电量显示8位有效数字,6位整数,2位小数; 通信时的汉字注
释显示
2.1.2 应完成的主要功能
(1)计量芯片功能电能计量使用小信号采样,高精度计量,模数转换和长频
转换高度集成的芯片,实现电最的脉冲输出,并配以发光二极管做脉冲输出指示。
(2)液晶显示功能液品显示在显示初期为OOOOOO在用电量到0.01W
时,显OOOOOO 用电量增加时,显示相应增加。开始串口通信时,液晶
显示“通信开始”字样,通信完成若成功则显示“通信成功”字样,若失败则显示“通
信失败”字样。
(3)电源功能电源电路除采用双路电源外,还设有电池做备用电源,防止
在停电时保存的电量丢失。
(4)通信功能RS-485的差分通信方式增強了抗干扰性,其外围电路的设计
提高了通信的稳定性1231。.
2.2系统硬件设计
2.2.1电能计量模块设计
该模块包括电流采样,电压采样,脉冲输出和辅助电路。该模块是独立电
源供电,使用光电耦合器向单片机传输数字信号,有效抑制电网的强干扰对单片
机控制系统的影响。整体电路设计如 图所示:

(1)计量芯片选择ADE7755 是一种高准确度电能测量集成电路。部分指标
优于IEC61036规定的准确度要求。ADE7755 只在ADC 和基准源中使用模拟电
路,所用其它信号处理(如乘法运算和滤波)都采用数字方式运行,这使ADE7755
在恶劣的环境条件下仍能保持极高的准确度和长期稳定性。
ADE7755的特点: 高准确度,支持50HZ和60HZ的IEC61036标准的要求,
1-500的动念范围内误差小于0.1%; 逻辑输出引脚REVP能指示反向功率或接线
错误; 电流通道内的PGA (可编程增益放大器) 使仪表能使用小阻值的分流电
阻; 独有的模数转换器(ADC)和数字信号处理器在环境和时间有很大变化的条
件下,能保证高准确度; 片内有电源监控; 防潜动功能; 片内基准电压2.5V+8%
(温度系数典型值30ppm/C),具有外部过驱动性能; +5V单电源,低功耗(典
型值15mw);采用低成本CMOS工艺24。
(2)电流采样通道电流采样电路的锰铜分流器R26 将电流信号转化成电压
信号。分流器阻值选300U2 做小信号采样。其选择依据: 0分流器功耗低。本
设计最大额定电流40A,最大功耗是40Ax40Ax300ysQ=480mw (EC1036标准
要求最大功耗2W)。园芯片高温散热。虽然分流器采用低溢度系数的锰铜合金材
料制成,但是在高温情况下对重负载仍然会产生明显的误差。3 电表对相电瓜短
路造成损害的防护能力。分流器阻值减小,外部短路对分流器的影响也将随之减
小,但分流器阴值太小将缩小通道1的信号范围,采样的精度会下降。基于以上
分析,分流器电阻选择300US2.
电流通道中用电阻R1和R2做限流电阻; 电容C11和C12用做去耦电容。
ADE7755芯片的15脚G1和16脚GO全部接高电平,即电流通道的信号放大16
倍以差动方式输入ADE7755.
(3)脉冲输出通道由于ADE7755的脉冲输出与通道1和通道2的乘积值成
IF 比,所以记录CF引脚输出的脉冲数后计算用电量。配用发光二极管做脉冲指
示灯,方便直观看到电能转化的脉冲输出。因为计量模块的电源是与电网不隔离,
所以用光电耦合器隔离计量模块的干扰对单片机电路的影响。ADE7755 的基准
源选用内部基准源,故将10 脚通过去璃电容接地。本设计的仪表常数为
3200imp/kwh,即用电量是1度时将产生3200 个脉冲。
(4)电压采样通道电压采样通道采用电阻中联分压的方式采集电H 信号,
电压信号以差动方式输入。电阻链直接对220V 分压,准确的电压采样值由电流
通道和脉冲输出通道的值计算确定,在计量参数计算部分将给出详细的计算过
程。电阻网络上:设有短接点,图中的J1-J8即是短接点,用于调节电表的精度。
2.2.2 液晶显示模块选择
采用北京青云创新科技有限公司的液晶显示模块
(1)液晶模块选择
LCM19264120。该类液品显示模块均是使用KS0108B 及其兼容控制驱动器,
同时使用KS0107B及其兼容驱动器。因为KS0107B不与MPU发生联系只要提供电
源就能产生行驱动信号和各种同步信号。
(2)液晶显示电路根据液品管脚功能,绘制单片机与液品模块连接图如图

所示,P1口做为数据通信口,P2.0-P2.3做控制端口,液品的复位端RET是
低电平有效,通过非门与单片机共用复位电路,单片机复位时液品同时复位。使
能端E是高电平有效,通过非门与读写控制端相连,在发送读写命令时,使能端
有效液品开始工作。可调电阻R24 用于调节液品的对比度,此电阻的选择比较
重要,实际调试时经验是: 用伟福仿真运行显示测试程序,然后反复调节R24,
直到出现清晰的显示为止251.液品的软件编程在系统软件部分将作详细介绍.
2.3系统软件设计
系统的软件应用灵活,修改方便,具有较强的移植性,可以允分扩展系统的
功能。本系统的软件功能程序包括电能表初始化主程序,电能计量中断子程序,
液品显示子程序,RS-485通信中断子程序。
2.3.1电能表主程序设计
电能表主程序主要功能是完成单片机的初始化,中断初始化,液晶显示初
始化等细节程序。经过实际程序调试,开始计量电量时,液晶晁示如图3-6所示。
其主程序框图如图 所示。

2.3.2 电能计量子程序设计
电量存储在30H~33H 单元内,以BCD码的形式存储,每个字节存储电量
数的两位。例如,30H内低四位存储的是电量小数部分的百分位,高四位存储+
分位。具体的分配情况如图所示。

2.3.3 液晶显示子程序设计
液品显示子程序比较复杂,将液晶分位左,中,右三列,分别对应写指令,
写数据和读数据,结构形式基本一样,只以写指令为例,如图所示。

显示字符分为8X16的西文字符显示和16X16的中文字符显示,但是两个子
程序只是在显示的列数上有差别,其余结构基本相似,以显示西文字符的子程序
为例,如图所示。

2.3.4 RS-485 通信子程序设计
RS-485 通信子程序包括电表从机的子程序和中继器主机的子程序,从机子
程序如图 所示,主机子程序如图所示。

2.4 本章小结
本章进行远程抄表系统前端部分的功能设计,该部分实现了用电量计量,用
电量的液品显示和RS-485 通信的功能。通过理论分析的方法,完成该系统功能
的可行性分析。说明了系统元器件的选择原则,器件的功能,器件的参数计算,
化京下业人学下积硕十论文
以及系统的工作原理; 绘制系统软件框图,用汇编语言编制源程序,实现远程抄
表系统预定的功能。在完成总体设计的理论分析之后,试制样机,以样机为平台,
经过反复调试,最终使系统的性能指标达到用电量的计最精度小于1%,仪表常数
3200imp/kwh; 液品显示用电量位数为8 位,品示6 位整数,2 位小数: 用电量
的数据通过RS-485 总线准确无误的传送到中维器。使系统的各项性能参数指标
都达到网家标准要求。

第三章介绍低压电力线载波通讯方案

利用低压电力线来传输用户用电数据,实现及时有效收集和统计,提高电力系统对供电质量监控能力和管理水平,是目前因内外公认的一个最佳方案。低压电力线是最为广泛的一种通讯媒介网络,采用合适技术充分用好这一现成的媒介,使低压电力线载波抄表系统达到实用化的需求,所产生的经济效益和生产效率是显而易见的。
3.1电力载波远程抄表系统功能分析
低压电力线载波通信,是自动抄表系统(集中抄表系统)的一个至关重要的
环节,其解决方案的优劣直接影响到系统的技术水平和实用性。一个合理的解决
方案必须是在充分地考虑了以下问题的基础上提出:
(1)采用合适的工作频段早在20 世纪90 年代初期,欧洲就提出了目前全
世界范围内在低压电力线上的任何方式载波都遵循的BSEN50065标准,此标准
对在低压电力线上的载波信号的频段、频带和电平等做出了具体的规定。此标准
的第一部分即: BSEN50065-1对频段的规定3kHz~9kHz为电力公司专用频段,
9kHz-95kHz 为电力公司和经电力公司许可的用户使用的频段,95kHz-148.5kHz
为其它用户使用的频段10。鉴于此,抄表系统所使的载波频段应选择在95kHz
以下.关于这一点,在我国的行业标准《低玉电力用户集中抄表系统技术条件》
(DL/T698-1999) 中也已明确提出。
(2)达到可靠的传输速率(波特率)
的- -项重要技术指标,也是载波通信技术水平的- -项重要标志。对于抄表系统而言,考虑到成本的因素,不宜追求很高的传输速率,在性价比合适的前提下,通常速率应在2400bps 以下。对实际使用来讲,从.300bps-2400bps 都是可行的,但如果太低(比如300bps以下),仅仅用于抄表尚可以使用,但如果系统具备较强的管理功能,比如: 多费率数据、相位平衡数据、线损数据和频繁抄表等,太低的传输速率就无法满足了。另一方面,速率太低,多数情况下需要设备(电表端和集中器) 长时间地处于发送状态,整体功耗就会很大。
(3)实现双向通信功能在抄表系统中,低压载波通信必须是双向的,这是
因为: 0通信中继的需要。低压电网上丰富的噪声是客观存在的,对载波信号所
呈现出阻抗也是动恣的,而且在用电负荷很大时,阴抗是很小的(1Z/<1S2是可能的)。因此,设计通信时必须面对这个客观,再加上其他因素的影响,数据通信的成功率会受到较大的影响,有时甚至会造成从集中器到表端设备通信的持续性失败,这种情况下就需要系统有中继的功能,而切实可行的中继方法是表端设备(采集模块或采集终端)在集中器的于预下进行中继,这就要求从集中器到表端
的载波通信必须是双向,否则将会严重影响数据的完整性,有时会因为通信的原
因迫使用户更换采集模块,其麻烦程度和经济损失是不言而喻的。2 多费率和管
理的需要。比如校时、修改时段、断电等功能,要求通信必须是双向的".
(4)采用窄带调制解调方法出于电力线信道中存在着大最的无规律干扰
源,有窄带的,也有宽带的,且电力线的阻抗随机变化,对载波信号的裒减很大。
目前市场销售产品的调制解调方法大致分为点频和扩频,而扩频又分为窄带扩
频和宽带扩频。通常点频方式需要较大的发送功常,载波信号幅度有可能超出规
定标准。宽带扩频容易提高传输速率,但成本较高,而且占用较宽的频带也是资
源的浪费。窄带扩频是一种比较经济的方法。为了排除以上所述的各类干扰,选择适合电力网络环境的通信技术是关键。在目前的PL通信产品中,主要使用两种方式,即窄带通信方式和扩频通信方式。因为窄带通信技术价格低廉并且较为容易实现,所以在以往的应用中比较流行。然而,要实现用于家庭或经济产品上的通信与控制网络,需要更为可靠的多用户环境的PL通信技术。因此,扩频载波通信技术就当仁:不让称为目前电力线载波通信的首选。扩频通信相对于窄带通信而言具有一定技术上的优势,主要表现在抗干扰方面。因为扩频我波信号的带宽通常较大(几十至几百kHz),所以其受干扰的频率范围所占比例相对减小,换句话讲,就是各种噪声仅能影响到- 一小部分所要传输的信号,而大多数的信号都能够完整、正确的到达目的地,所以对于各种类型的F扰都只有较强的抵抗性。
3.2 系统总体构架设计思路
设计以经济实用,满足人们需要为目的,以制作实用价值的产品为设计理念。
本系统选择的元器件几乎全部是通用器件,使硬件电路搭建方便: 并且尽量乐缩
硬件使用数量,软件可以实现的功能就不使用硬件,保证了最小量干扰或破坏因
素对硬件电路的影响。从用户和管理者使用便利方面着手功能设置,免去人工操
作,实现自动化,电能表自动完成电能计量,数据显示,数据传输,实现真正意
义上的自动化,为人们的生活创造最大的便利空间121.
3.2.1系统设计方案
(1)设计时序电能计量,传输通信和抄表软件3 部分软、硬件的设计调试
同时进行,以缩短下发周期。
(2)保证高性能、低成本计最芯片采用ADE7755; 用AT89C51单片机控制
点阵式液品的显示和RS-485 通信; 载波芯片PL2102 用达盛实验箱控制数据传
输; 用可视化VB软件编写抄表管理软件。载波传输系统工作频率选取100KHz,
传输速率选取000bps.
(3)模块化设计为了使系统具有可维护性和信息传输的可靠性,系统兼有
模块化结构。
3.2.2 系统设计采用的技术
(1)输出方式输出的用电量脉冲与电流、电压通道采样平均值成正比。点
阵式液晶字模显示。485总线采用信号差分传输。
(2)电力载波通讯采用直接序列扩频技术直接序列扩频(DS)系统就是将要
发送的信息用伪随机码序列扩展到一个很宽的频带上,在接收端用同样的伪随机
码序列来进行相关接收,,恢复信号。
(3)软件的设计使用可视化编程软件VisualBasic编写抄表管理软件,调用
通信控件设置通信参数,编写功能程序; 连接数据库将数据存储。
3.2.3 系统架构
远程抄表系统以达盛科技实验箱为基础抄读电能表,其系统主体出四部分组
成: (1) 电能采集,(2) RS485通信,(3) 电力载波通信,(4) PC机抄表管理
软件。电能采样部分: 由计量芯片和辅助电路完成电压、电流的采样和电能计量。
RS-485通信部分: 单片机读取电能量数据并存储,控制MAX485将电能量数据
传输到中继器。电力载波通信部分: 以达盛科技的实验箱为平台搭建电力载波通
信模块,即中继器和数传终端。中继器接受来自RS-485的电能量数据,将数据
调制后以电力线为载体发送到数传终端。PC 机抄表管理软件部分: 用VB编写
的管理软件接受解调后的电能表数据,对数据实行集中管理,使操作简单,查询
方便。系统基本实现了电能自动计量,数据自动F 确的传输和集中管理。
系统的总体架构如图所示: 图中左端的两个长方体代表电能表,图中只
画出两块电能表做代表,实际应用中,一个RS-485网络最多可以挂接256个电表节点,这样对于- 一般的楼房居数足够用。对于有大量住户的楼房可以扩展中继器的接受端,满足所要采集电量的电表数量。中维器和数传终端之间采用电力线载波通信,减少铺设专线的麻烦,虽然载波通信在穿过变压器传输数据技术方面还不是十分成熟,但在单台变压器范围之内数据传输的准确性还是有保障的,数传终端通过RS-232总线将数据传到上位机,由上位机管理软件对数据进行统一管理。
3.3 系统的组成和各部分的功能
数字电表: 主要包括电能的计量、液品显示、RS-485通信和供电电源四部分。电能用计量芯片采集电流和电压,传送到单片机计数器的端口,单片机完成数据处理后控制液品显示用电最,抄表通信时单片机控制RS485 芯片与中继器进行数据交换。实现数据的实时采集,自动传输.
通讯部分:以微处理器与专用电力线载波芯片构成中维站,能通过RS-485 总
线实现中继站与电表实现主从式通讯; 通过RS-232 总线实现中继站与上位机进行一对一通讯。中继站是整个通讯部分的主体,再配合外围电路,构成了抄表系统的通讯部分。系统通讯模块以生产现场的双绞线为通讯媒介,上位机利用的通讯控件实现与下位机的远程实时通讯。上位机处理部分:在监测现场,为了降低系统的成本,采用单片机系统作为数据采集和记录单元。在中央控制中心,利用上位机来完成人机会话,实现监测现场的通信。上位机的通讯程序用VB 专门实现串行通讯的MSCOMM控件编写,并实现数据的访问.
3.4 本章小结
本章介绍低压电力载波远程抄表系统的功能需求,说明本系统在工作中存在
的基本问题,提出解决现存问题的技术方案; 阐述本系统总体设计思想和设计方
案,介绍数据数字电表、中继器、传输模块和上位机模块的主要功能。

第四章 电力载波抄表系统集中器软件的设计
电力线载波抄表系统的硬件水平由于扩频技术的发展使其成为可能,而软件中继技术的应用使这种可能变成了现实。要使这种建立在网络协议层面上的通信系统得以正确实施,优秀的软件和良好的协议是必不可少的。系统中各个单元都有对应的软件,整个系统的软件设计既是一个整体,又相互独立,其间靠通信协议相互联系。本章首先介绍集中器与上位机以及集中器与载波电表之间的通信协议,然后介绍集中器的软件设计。
4.1通信协议的制定
本协议是参照电力部门规定的通信协议来编写的,在某些具体的数据格式上采用了特有的组织方式。协议的规定是为了使用方便、系统可靠。
4.2集中器软件设计
集中器系统软件使用汇编语言进行编写,这种语言具有功能浮点运算、编程灵活和移植性好等优点。
(1) 软件设计思想
在设计应用软件时应考虑以下几个方面:
(a) 程序承担的任务:任何一个系统的设计,都有其具体的应和明确的工艺要求,程序设计的首要任务就是确定程序承担的任务;
(b) 程序的时序性:单片机是按时序运行的,所以程序设计到抄表任务的执行顺序和时间要求;
© 程序的适应性:所谓适应性,就是要求设计出来的程序灵活性,主要考虑将来系统扩展时必要的修改,增加通用性。
本文采用模块化设计思想,将一个完整的程序分成若干个可以成某些任务的功能模块,各模块又分为若干子模块,各子模块之间立,又受主程序模块的控制。使整个系统层次分明,逻辑清楚,便的编制、调试、修改和查错。利用模块化技术,可以将错误控制限在模块内部而不影响整体,提高了系统的可靠性、灵活性和可维护性。
(2) 软件设计任务
根据集中器要完成的功能,软件结构主要包括:主程序模块(集中器接收上位机的命令、集中器抄收下位载波电表的数据)、数据块、等。
(a)上位机下发给集中器的指令
全抄指令:上位机与集中器建立通信链路后下发的全抄指令,应将存储在RAM中的所有电表数据发送至上位机;集中器和载波电表的通信主要指集中器根据上位机下载的定时抄收电表数据;根据上位机下发指令实时抄收电表数据。
(b)数据存储模块
集中器会将抄收回来的电表数据进行处理、存储。当上位机下发抄表指令后,集中器便将存储在RAM的所有电表数据读出并发送至上位机。
4.2.1主程序设计
在所有的操作中,定时读取各载波电表的数据是最主要的也是最复杂的,本文主要介绍集中器定时抄取载波电表数据的程序设计。
上电复位信号使系统复位,系统都将重新进行初始化,包括串口初始化等。接着检测集中器和电表的数据库是否存在后,才能保证抄表工作准确;若数据库已下载,当数据库下载完成并退出与上位机的通信后集中器进入抄表状态。

图4-1 抄表循环程序流程图
MCU采用查询的方式获取时间数据,当读取到的时间数据为设定抄表时间数据时,先判断数据库是否下载,接着判断所有表已抄标志,若为1,说明系统已经进行过抄表操作;若为0,说明当月的电表读数还没有抄取,于是启动抄表循环程序。从抄表循环程序退出来后,系统还会检查到表是否成功,若成功为1,则证明所有表都已成功读取;若为0,则说明系统曾经进行过抄表操作,但没有把所有表的数据成功读完,需重新调用抄表循环程序。在集中器的主程序中要不断的查询是否有上位机下发的命令,如果有则先根据上位机下发的命令,执行相应的程序,抄表循环程序流程图如图4-1所示。
4.2.2 集中器向上位机的数据传输
与集中器相连接的MODEM在进行初始化设置时将自动应答功能开启,这样呼叫方MODEM拨号后,等待集中器MODEM送来的载波信号,集中器MODEM检测到预定的响铃次数后便自动摘机,然后与呼叫方进行载波连接。如果双方在预定时间没有检测到载波信号MODEM会自动释放线路,同时返回结果码,一旦载波建立成功后,MODEM便会返回结果码,表明双方连接成功,可进行数据通信。
集中器向上位机发送数据的流程图如图4-2所示。

图4-2 集中器向上位机发送数据流程图
如果串口接收到数据则开始计时,并继续查询串口,若在10秒内串口接收到数据,表示载波建立成功保持集中器与上位机的连接,开始与上位机进行通信。数据传送完成后,使MODEM从联机状态返回到命令状态,延时一段时间后发送挂机命令,一次数据通信结束。若第一次响铃10秒后还未接收到结果码l,则表示载波无效,上次响铃为有人打电话或者是连接出现错误,集中器不与上位机连接而继续运行其他程序。发送完一包数据后,集中器若接收到上位机发送的“W”指令,说明发送有错误,要求重发本包数据。
调制电路的工作过程是这样的:从终端到中心的链路建立之后,先控制MOD2和MOD1使MSM7512B工作在接收状态,使能“MODEM状态中断”,等待数据采集中心的应答信号;当有应答信号时,MSM7512B的CD/引脚变的有效,触发W77E58的“MODEM状态中断”,在中断过程中,查询是否为正确的应答信号,如果是,则禁止“MODEM状态中断”,使能“发送数据空中断”,控制DTRB和DTRA引脚使MSM7512B切换到发送模式,控制RTSB/引脚使能MSM7512B的发送,控制RTSB/引脚选择M7512B的发送幅度为-4dBm,然后就可以从存储器中取出数据通过PSTN向数据采集中心发送数据,如果不是正确的应答信号,则继续等待应答信号。MSM7512B的最高波特率为120ObpS,因此,设置W77E58的波特率时,最高不能超过1200bps,否则MSM7512B不能正常工作。
5.3本章小结
本章简单介绍了集中器的软件系统。包括集中器与上位机以及集中器与载波电表之间的通信协议、集中器主程序的流程图、集中器向上位机的数据传输流程图。由于软件设计不是本文的主要任务,在此不做详细介绍。

第五章 介绍上位机管理软件的设计思路、绘制程序流程图

在许多实时监测系统中,经常需要接收距离较远的测控点数据,如何快速可
靠的实现数据的远程传输是监测系统必须解决的问题。在监测现场,为了降低系
统的成本,往往采用单片机系统作为数据采集和记录单元。在中央控制中心,通常利用上位机来完成人机会话,实现监测现场的通信。
本系统将详细介绍在VB 环境下上位机与单片机之间实现串行通讯的软硬件方案上位机的通讯程序使用VisualBasic编写,VB 是Microsoft 公司推出的Windows应用程序开发工具,因其界面友好,编程简便,VisualBasic6.0版本带有专门实现串行通讯的MSCOMM控件等优点被广泛应用。
本系统通讯模块以生产现场的双绞线为通讯媒介,上位机利用VB 6.0 的通
讯控件MSComm 实现与下位机的远程实时通讯,下位机应用现场取得了满意效
果。
5.1系统的硬件设计及工作原理

5.1.1系统硬件方案设计

目前的上位机都有串行通讯RS-232 端口,该端口可实现两台计算机之间的
通讯,RS-232 的逻辑电平用正负电压表示,且信号使用负逻辑,逻辑0的电压
范围是+5V~+15V,而逻辑1的电压范围是-5V–15V,RS-232端口是计算机与其
他设备沟通的最常用的接口,不但操作简单,而且价格便宜。在8031单片机的
内部有- 一个全双工的异步串行V/O 口,它的输入和输出使用5V 逻辑而不是
RS-232 电压,如何进行两种信号的转换,是连接时需要解决的问题,事实上,
解决的方法很简单,只需使用一个诸如MAX232这样的专用芯片即可。电路
结构见下图。

MAX-232 包含两个将TTL输入转换成RS-232输出的驱动器,还包含两个
将RS-232输入翻译成CMOS输出的接收器,这些驱动器和接收器具有反向的功
能。4个外置的电容大小为1uF,如果使用极化电容,注意极性,引牌6的电压
为负,因此它的电容的正极连接到地,电瓜等级至少为15V。
5.1.2 通讯方式选择
控制中心作为系统的数据终端设备DTE (Da2taTeminal Equipment),负责实
现对远端单片机系统的检测数据进行判别、存储等。上位机通过232通讯电缆与
远端单片机装置相连,其传输速率为4800bps.端口数据传输速率可根据系统需要
设为1200bps~19200bps.
远端单片机装置性能检测系统通过光电编码器和AD 转换器对现场设备的
性能参数进行数据采集,采用MAX-232 芯片与上位机进行数据传输从而实现对
现场设备的控制和数值的传输。
通讯系统以控制中心上位机和远端单片机控制系统通过232 通讯电缆以同
频异步全双工方式进行数据信息传输,上位机通过串口发送令牌到远端单元,远端单元收到自己的令牌后发送数据到上位机上位机收到数据后回送正确信息。h
而实现控制中心对远端设备的控制和数据采集。.
5.2 传输接口和协议选择
本项目用Intel586/120PC机为上位机,通识程序使用VB 丌发,用8031单片机作数据采集的下位机,上位机作数据接收和数据处理中心站,下位机实时采
集数据之后,进行简单的数据平均计算,当收到上位机发来的发送指令之后,开
始向上位机发送数据。
上位机无线通讯接口使用的是计算机的COM 口,COM 与MAX-232 相连,
单片机的数字信号经过串口送入上位机。
系统的通讯网络,并非点对点的通讯,而是一点对多点的广播式通讯方式,
因此,我们在通讯协议中增加站点识别码,每个站有自己特定的识别码,给下位
机编码可以保证网络通讯的有序性。
由于实际通讯可能会有空间的噪声干扰,因此,我们采取了多项抗干扰措施。
首先是包头识别码,在发送了传输命令之后,下位机开始以数据包的形式传输数
据,每一包都有- 一个包头和包尾识别码,若识别码有误,将本次传输的数据做不正常的数据处理。另外,连续发送数据的时间超过一分钟就会自动中断发送,因此,当数据较多时不打包连续发送的时间会超过一分钟,发送数据将中断。打包发送能解决这个问题。
在下位机中有32KB的NVRAM,可以保存32KB的数据。该数据可以由上
位机发送清除命令的方法清楚掉,当32KB满了以后,最早放入的数据就会丢掉,
本系统采样速率不高,两天的时间才能存满,这样不论上位机或下位机出现断电、
死机等问题,数据不会丢失。
在发送过程中,由于干扰的原因数据传输出现错误,上位机不给下位机发送
清楚命令,数据保存在NVRAM 中,下次上位机发送传输命令之后,这些数据
还会重新发送到上位机,这样可以避免线路带来的数据损失。下位机向上位机传
送的代码有ASCI码和BCD码,测量数据部分用的是BCD码,为了节省资源,
由上位机向下位机发送的命令均为ASCII码。
上位机向下位机发送的命令有校时命令并校时、请内存命令、发送数据命令、
快采命令和慢采命令等。发送命令有两种发送方式,即手动方式和自动方式,自
动方式是由定时器来完成的。
在通讯过程中,除了规定合理的协议之外,为了保证通讯的正确性,在数据
发送时适当地增加延时是必要的。当速度较慢的计算机向速度较快的计算机发送数据时应适当的增加延时。
5.3 实时串行通讯程序设计
5.3.1通讯控件MScomm 的使用
上位机利用VB6.0进行编程,用VB6.0 开发串行通讯程序普遍采用两种方法:一种是利用Windows的API丽数; 另一种是采用VB的通讯控件MSComm.利用API 函数编写串行通讯程序较为复杂,需要调用许多繁琐的API 函数,而VB6.0的MSComm通讯控件提供了标准的事件处理函数、事件和方法,用户不
必了解通信过程中的底层操作和API函数,从而比较容易、高效的实现了串口通信。MSComm 控件提供了一系列标准通讯属性和方法的。使用它可以建立起应用程序与串行端口的联接。为实现远程通讯,还甫要把调制解调器与串行端几通过RS-232 接口连接,这样,在应用程序中发出AT命令,就可以达到控制调制解调器的月的,进行远程通讯。
(1)MSComm控件的加入在项目中加入MSComm控件启动Visual Basic,
建立一个新项目。选Projeet 菜单,从中选择Components 子菜单。在弹出的
Components对话框里的Controls标签下选择MicrosoftCommControl5.0项。
(2)MSComm 控件的属性与程序设计有关的MSComm 控件属性CommPort
设置或返回通讯端口号,设置或返问波特率、奇偶校验、数据位和停止位、设置
并返回通讯端口的状念(打开或关闭),返回并删除接收缓冲区中的数据流。设
置并返回从接收缓冲区中每次读取的字符数等属性。确定在通讯时是否计算机发
送到调制解调器的信号,指示计算机准备就绪,可以开始传输数据。
(3)MSComm 控件的OnComm 事件 过程MSComm 控件的OnComm 事 件通
讯控件产生的唯-事件是OnComm 事件。每当有通讯错误或某事件发生时,通
讯控件就会产生此事件。事件或错误的数字代码放在CommEvent属性中。
5.3.2 通讯协议
(1)通讯中数据的组成一桢数据由1位起始位,8位数据位,1位校验位,1
位停止位共11位组成。
(2)波特率波特率的- 一致性波特率为4800bps.测试系统的单片机的串口选
用UARTO进行数据的发送和接收,为了得到准确的波特率,ARM单片机采用振荡频率为6MHZ的品振。上位机串口波特率通过VB通讯控件MSComm的Stting
属性设置,为保证数据传输的准确性,两者的波特率必须一致。
(3)通讯方式系统采用异步通讯方式,上位机通过令牌传递总线(token-passingbus)方式与远端单元进行通讯.上位机发送的信息为固定4个字节。第1个字节和第2个字节分别为起始标志符和远端单元的具体地址号,第3 个字节表示发送的是令牌还是命令,第4个字节为结束标志符。
(4)数据传输”远端单元接收到令牌后,对照令牌的地址号与本单元地址进行
比较,若令牌是本单元的,此时总线处于接收数据状态。此单元开始发送信息,发送的信息共158 个字节。第1个字节和第2 个字节分别表示起始标志符和命令符,第3个字节表示数据个数,第4个到第157个字节表示采集的测试数据,158个字节表示结束标志符。如果地址不符,则将令牌转发到下- 一单元。其通讯方式如图所示。
5.3.3 远端单片机控制系统的串行通讯程序设计
远端ARM单片机采用中断方式进行数据接收,基于软件MAX-232 与上位机进行通讯,上位机通讯子程序流程图以及下位机中断子程序流程图分别如图和图所示。
控制中心上位机始终在循环发送令牌当远端单元接收到与本机地址相同的令牌时,置接受数据标志,接收到自己的令牌后,远端单元开始上传数据到上位机,与此同时上位机停止发送令牌并处于接收数据状态,等到接收数据完毕并检验数据合格后发送确认命令到此远端单元,如果没收到数据或数据不合格发送错误标志到此远端单元。如果收到的令牌与本机地址不同时,程序返中断入口处,继续执行其他操作。这样可保证远端单元把数据准确地发送到上位机。
5.4 数据库的建立
5.4.1可视化数据管理器管理数据库
随着计算机的月益发展和普及,微机监控在各种系统及其自动化方面得到了
广泛的应用。远程抄表系统上位机软件采用面向对象的编程思想,设计的软件模
块主要有6个功能模块组成,它们是: 1.系统设置; 2、数据接收: 3.数据管
理; 4.信息查谢; 5.数据分析; 6.数据维护。
在启动可视化数据管理器之前,首先打开一个新的工程,并且将工程的名改
为“电力部门管理系统”。然后在Visual Basic6.0集成开发环境中选择“外接程序”菜单下的“可视化数据管理器”选项,启动可视化管理器。
创建的是一个MiscrosoftAcces类型的数据库。具体步骤如下:
在管理器窗体中选择“文件”菜单,然后在弹出的菜单中选择“新建”子菜单中的Miserosof Access\Version7.0MDB 选项。
系统会自动弹出“选择要创建的Miscrosoft Access 数据库”对话框,输入
power.mdb到文件名”文本框中,选择存储路径。单击“保存“按钮。
5.4.2 建立数据表
用鼠标右键单击管理器中的“数据窗口”,然后从弹出的上下文菜单中选择“新建表”菜单命令。
利用该对话框可以创建、查看和修改表结构。
在添加完后,在“表结构”对话椎底部的“索引列表”列表框中列出了当前数据库表中的所有索引项。为了在选中的表中添加索引,用鼠标单击“表结构“”对话框中的“添加索引”按钮,打开“添加索引”对话框,在该对话框中,你可以指定数据库表单索引项。
添加完后,单击“确定”按钮建立索引,然后单击“关闭“按钮对话框。会发现刚才建立的对话框已经在“表结构”对话框中了。
5.4.3 建立查询
用SQL语句窗口直接输入、修改和保存SQL查询。
5.4.4 创建数据窗体
在管理其中选择“实用程序\数据窗体设计器”菜单命令,启动“数据窗体设计器”对话框。在“窗体名称”文本框中输入要创建的窗体名称,这里我们设定窗体的名称为power,表示创建的窗体用于处理有关电力的数据。
Visualbasic将在纪录源下拉列表中列出当前数批库中的表和SQL语句。在列表中选择表“电力管理”。
当你在纪录源列表中选择了合适的表或SQL语句以后,系统将在“可用的列表”中列出被选中的可用字段。用鼠标选中要出现在窗体中的字段,然后单击列表右边的“》“按钮,将该字段添加到“包括的字段”列表中。也可以单击“<““按钮,将该字段从列表中去掉。
重复上述操作,直至选完所需的所有字段。
单击“生成窗体”命令按钮,最后单击“关闭“按钮关闭“数据窗体设计器”对话框,然后选择“文件\退出”菜单命令,关闭可视化数据管理器,这样- 一个新的数据库就生成了。
5.5 利用Data 数据控件访问数据库
首先打开一个新工程,然后对工程中的数据窗体进行布局设置。具体步骤如下:
在Visual Basic 的集成开发环境中选择“文件\新建工程“菜单命令,打开一个新工程,并且将工程保存为“电力部门管理系统”,将默认产生的窗体保存为power.fm 文件。
双击工具箱中的Data控件按钮,在窗体上添加一个Data控件对象,其缺省名称 为 Datal.
设置Datal 控件的Databasename 属性为“C: lwb6\powers.mdb”,Rccordset 属性为“电力管理”。由于Access类型的数据库是VisualBasic的内嵌数拢库,因此这里不设置Connect属性。
设定窗体的Caption属性为“电力部门管理系统”,然后在窗体上放置十个命令按钮(command),并且将其Caption風性分别设置为“增加”、“修改”、“查询”、“删除”、“上一个”、“下一个"、“缴费记录”、“退出“、“确定”和“取消”。其中“确定”和“取消”两个按钮的Visible 属性为False,且分别放置在“增加”和“修改”上面。这样的目的是为了使其开始时不可见,而当用户单击“增加”或“修改”按钮时,使其覆盖这两个按钮。
5.6 使用DBGrid 控件浏览数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值