远程集中抄表系统设计报告.doc_第1页
远程集中抄表系统设计报告.doc_第2页
远程集中抄表系统设计报告.doc_第3页
远程集中抄表系统设计报告.doc_第4页
远程集中抄表系统设计报告.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

实训成绩评定表分项目名称功能要求分值 单项分值 出色完成较好完成一般未完成前置集中抄表软件需求分析3055430用UML绘制用例图和类图55430使用串口或GPRS通讯55430能抄回集中器的电能表列表55430能抄回集中器的日常数据55430能把抄回的数据进行校验和相应的纠错功+55550把电能数据按照规范的格式写入数据库55550SQL电能数据库需求分析3055430绘制E-R图1010860将E-R图转换为表1010860校验是否符合数据库设计的范式规则55430数据库的安全设置(如密码等)+55550ASP电能管理系统登陆权限10+55430设备录入+55430电能表列表数据显示+55430可查每日电能数据55430查询每个设备电能数据55430计算每个电能表每月电量+55430实训报告按照格式20202016120实训考勤1515151050综合成绩组 长: 小组成员: 、 、 、 、 指导教师评语:综合成绩: 指导教师签名: 2013年 12月 13 日目 录一、实训目的1二、设计要求和设计指标1三、设计内容13.1前置集中抄表软件13.1.1需求分析3四、本实训改进建议4五、总结(感想和心得等)4六、主要参考文献4附录4远程集中抄表系统设计实训报告一、实训目的电力远程抄表系统设计实训主要是综合运用网络技术、数据库和高级算法语言(C+),围绕现代远程电力远程抄表系统设计的实训目标,锻炼学生把理论知识运用于实际项目中,体验软件工程的全流程,掌握基本的工程概念。二、设计要求和设计指标前置集中抄表软件,能抄回集中器的电能表列表,能抄回集中器的日常数据,能把抄回的数据进行校验和相应的纠错功,能把电能数据按照规范的格式写入数据库采用自动抄录用户电表数据、自动计费报表时用电管理发展的必然趋势。针对普通用户开发一个经济适用、可靠的自动抄表系统,可以增强用电管理部门用电经营管理的效率,提高配电管理与决策的科学性,减少人力资源的浪费。另外利用抄表系统自动传输和记录电表数据,遇到用电收费纠纷,还可以实时查验和查询历史用电数据。这样是我国公用事业的收费工作方式得到有效改善。采用计算机自动抄录用户电表数据、自动计费报表时用电管理发展的必然趋势。将数据自动采集、传输和处理应用于电能供、用与管理系统中的一项新技术,采用通讯和计算机网络等新技术自动读取和处理表计数据。它从根本上克服了传统的人工抄表模式的弊端,给电能管理的现代化创造了良好的条件。三、设计内容3.1前置集中抄表软件图3-1 系统窗体图3-2 连接数据库图3-3 数据发送3.1.1需求分析在电力系统中,对广大的电力客户实现自动抄表,抄表自动化是配电自动化的一个基本功能,是用电营业管理自动化的一个重要手段和组成部分。低压客户自动抄表系统主要是面向大量的低压客户,量多面广,整个系统的设备数量多,投资巨大。自动抄表是信息时代发展的总趋势,自动信息交换为人们日常生活和工作带来了极大的方便,节约了大量的人力和时间,快捷、准确的信息传递提高了现代数据管理的科学性、先进性。1.采用远程自动抄表,不再需要预约上门抄表时间,居民用电量自动抄收,收费实现自动划拨,还能迅速查询账单,能更好地方便用户。2.随着一户一表的推广及城网、农网的改造,电表的数量迅速增大,可以实现减员增效。3.远程自动抄表,对加强用电管理,防止窃电,电费催收,杜绝贪污腐败等都有积极的意义。4.采用远程自动抄表,可提高抄表的准确性,减少因估计或抄写而造成账单错误,使供用电管理部门能及时准确获得数据信息。5.电力的发展,需要从用户处尽快获取更多的数据信息,如电能需量、配电变压器的监测、分时电量和负荷曲线等,远程自动抄表为实现上述要求提供了切实可行的技术手段。四、本实训改进建议本次实训,由于编程不够完善,导致系统数据输出和数据导入数据库功能未能实现,需要完善编程。五、总结(感想和心得等)在这次实训中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于远程抄表系统系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。通过这次实训我也发现了自身存在的不足之处,特别是编程在中,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。其次,这次实训让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。这次实训是很有意义的,更重要的是如何把自己平时所学的东西应用到实际中,也明白了自己在c+语言上自己存在的一些问题,也解决了一些一直困恼我的问题,我想这将对我以后的学习产生积极的影响。六、主要参考文献1伍俊良. Visual C+课程设计与系统开发案例.清华大学出版社,2009.112Visual C+串口通信技术与工程实践. 人民邮电出版社,2008.73史嘉权. 数据库系统概论. 清华大学出版社,2006.1附录编程代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO.Ports;namespace WindowsFormsApplication1 public partial class Form1 : Form private System.IO.Ports.SerialPort serialPort = new System.IO.Ports.SerialPort(); /创建一个Serial Port类的实例 public Form1() InitializeComponent(); /数据转换 /保存日常抄收电量数据 public void SaveDayPower(byte buffer) /数据库实例 int BufferLenght = buffer.Length; string selectItem = buffer15.ToString() + buffer16.ToString(); /电表编号 /string MeterIDStr = null; int DataLenght = buffer9 + buffer10 * 256; int MeterNumber = (DataLenght - 9) / (buffer26 + 6); / 只读电表编码和日末电量两项 string, Meterlist = new stringMeterNumber, 2; /BCD日期码转换成string string date = 20; for (int i = 0; i 3; i+) if (i != 2) date += Convert.ToString(buffer17 + i, 16) + -; else date += Convert.ToString(buffer17 + i, 16); /电表编号和日电量的读取 int countMeter = 0; for (int i = 0; i MeterNumber; i+) /电表编号转换 string MeterIDTemp = null; for (int k = 0; k 6; k+) if (buffer25 + countMeter - k 16) MeterIDTemp += 0; MeterIDTemp += Convert.ToString(buffer25 + countMeter - k, 16); else MeterIDTemp += Convert.ToString(buffer25 + countMeter - k, 16); Meterlisti, 0 = MeterIDTemp; /电量转换,16进制转换为10进制 byte powerHigh = 0, powerLow = 0; int powerTemp = new int4; for (int n = 0; n 4; n+) if (buffer29 + countMeter + n 4); powerLow = Convert.ToByte(buffer29 + countMeter + n & 0x0F); powerTempn = (powerHigh * 10 + powerLow); else powerTempn = 0x00; Meterlisti, 1 = Convert.ToString(powerTemp0 * 0.01 + powerTemp1 + powerTemp2 * 100 + powerTemp3 * 10000); countMeter += (buffer26 + 7); private void button1_Click(object sender, EventArgs e) if (serialPort.IsOpen) serialPort.Close(); try serialPort.PortName = COM2; /设置串口名 serialPort.BaudRate = 9600; /设置波特率 serialPort.Parity = System.IO.Ports.Parity.None; /校验位 serialPort.DataBits = 8; /设置字节 serialPort.StopBits = System.IO.Ports.StopBits.One; /停止位 serialPort.Open(); byte DayeDate = new byte 0x68, 0x80, 0x40, 0x10, 0x81, 0xC8, 0x00, 0x68, 0x12, 0x09, 0x00, 0x40, 0x01, 0x01, 0x00, 0x08, 0x00, 0x13, 0x11, 0x24, 0x96, 0x16 ; /定义字节数组 serialPort.Write(DayeDate, 0, DayeDate.Length); MessageBox.Show(Its OK); catch (Exception ex) MessageBox.Show(ex.ToString(); /serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceived); private void DataReceived(object sender, SerialDataReceivedEventArgs e) int ReceivedBufSize; try ReceivedBufSize = serialPort.BytesToRead; byte bytebuffer = new byteReceivedBufSize; serialPort.Read(bytebuffer, 0, ReceivedBufSize); MessageBox.Sho

温馨提示

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

评论

0/150

提交评论