三相智能电表软件系统设计课程设计说明书.doc

上传人:文库蛋蛋多 文档编号:2390350 上传时间:2023-02-17 格式:DOC 页数:40 大小:809KB
返回 下载 相关 举报
三相智能电表软件系统设计课程设计说明书.doc_第1页
第1页 / 共40页
三相智能电表软件系统设计课程设计说明书.doc_第2页
第2页 / 共40页
三相智能电表软件系统设计课程设计说明书.doc_第3页
第3页 / 共40页
三相智能电表软件系统设计课程设计说明书.doc_第4页
第4页 / 共40页
三相智能电表软件系统设计课程设计说明书.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《三相智能电表软件系统设计课程设计说明书.doc》由会员分享,可在线阅读,更多相关《三相智能电表软件系统设计课程设计说明书.doc(40页珍藏版)》请在三一办公上搜索。

1、三相智能电表软件系统设计摘 要:三相智能电表适用于电力电网、自动化控制等领域,他集遥测、遥信、遥控、显示、通讯等众多功能与一体,能够完成1回线路的电流、电压、功率、功率因素、频率、电度等电参量的监测。产品具有可编程功能、DC420mA模拟量输出、RS232串行口和开关量输出等功能,可以实现与监控系统的联网或数据的远程传输等功能。本三相智能电表软件系统基于Visual Basic语言程序设计,由串口链接和可视化程序界面(数据采集、显示,保存和查询)组成。能实现三相电力数据的采集、显示、保存和查询等功能。关键词: Visual Basic,RS232串行口,数据库Abstract: Three p

2、hase smart meter is suitable for the power grid, automation control and other fields, he set telemetry, remote communication, remote control, display, communication, and many other functions, and an organic whole, can complete 1 line current, voltage, power, power factor, frequency, the monitoring o

3、f electrical parameters, such as electric degrees. Product has the function of the programmable, DC4 20 ma analog output and RS232 serial port and switch output, and other functions, can be achieved with the monitoring system of the network, or data remote transmission, and other functions. The thre

4、e phase smart meter software system based on Visual Basic language programming, by serial links and visualization program interface (data collection, display, save and query). Can realize three-phase power data acquisition, display, save and query, etc.Keywords: Visual Basic,RS232 serial port,data b

5、ase 目录1 前言12 总体方案22.1方案一22.2方案二23单元模块设计43.1 数据接收43.1.1 单片机电路43.1.2 RS232串口53.2 数据显示模块63.3历史数据查询94软件设计114.1 RS232串口通信标准114.2登录界面的软件代码设计原理124.3实时数据显示界面的软件代码设计原理124.4历史数据显示界面的软件代码设计原理174.5软件设计流程图205基于Visual Basic的数据库操作215.1创建数据库的步骤215.2查询数据的步骤217总结与体会238参考文献24附录251 Visual Basic设计界面252Visual Basic 代码281

6、 前言伴随着我国工业化进程的前进步伐,工业及居民用电急剧增加,庞大的供电网络给用电管理单位带来了巨大挑战,也给居民工厂带来了诸多不便。为此我国在“十二五规划”中提出建设“智能电网”的解决方案,实现电网、计算机网、电信网三网融合。传统的机械式电表及电子式电表无论是在计量精度还是在信息传递方面都难以满足“智能电网”的需求,在这种情况下智能电表应运而生。智能电表是指具有多功能化、智能化、网络化等功能的新式电表,是智能电网的基本设备之一,承担着原始电能数据采集、计量和传输的任务。智能电表设计的课题研究富有实用价值和市场前景。首先,智能电表能够更方便、精确地计量电能,数字显示界面更加直观方便;其次其智能

7、化可以帮助管理单位实现远程管理、提醒居民按时缴费、详细记录用电明细表。节省了管理单位的人力、物力资源。最后智能电表可以通过加密防止用户窃电,安全性更高国内智能电表的设计尚处于起步阶段,主要集中在应用方面,电量测量ASIC则主要依赖进口产品。在2007年12月初,国家发改委发布了多功能电能表和多功能电能表通信协议两个行业标准,2009年10月,国家电网公司公布了智能电表新标准,提高了电表在计量、费控、通信、功耗、电子线路布线等技术指标,含有MCU成为必选项,要求有更高的计算能力。随着我国智能电网的建设,智能电表的大规模应用即将启动,预计2015年我国智能电表覆盖率80%,2020年达到100%。

8、可见我国的智能电表设计研究还有很大的潜力空间,智能电表在网络化、智能化、多功能化等方面还需要我们继续深入研究。2 总体方案分析课题需求,将系统整体分为电量测量和历史数据的存储管理两部分。电量测量部分选用RS232串口和VB程序语言实现,能够完成三相电量的准确计量。该部分是设计的关键和基础。历史数据的存储管理管理部分除核心元件微处理器外,这部分电路把第一部分测试的三相电参数进行存储、显示和远传;完成人机交互,方便用户或操作人员查询数据;还可以扩展三相智能电度表的其它功能要求,使其达到智能化,易于功能扩展。2.1方案一 被测三相电压、三相电流通过相应互感器转变为能被后端电路接收的电信号,变化之后的

9、信号需要做两方面的处理,一方面检测电压电流的相位差,确定功率因数,另一方面线性调整信号,传输给后端的A/D转换器。电压、电流转换后的数字量和功率因数值传输给CPU处理器,根据三相功率、三相能量等电参数的计算公式计算相应的各个电参数,并对计算数据做相应处理。该方案存在电路结构复杂,参数测试误差大,编程复杂、故障排除复杂等缺点。该技术方案已不再适用于工业环境中三相电能表的电参数测量。数据显示CPU处理器RS232串口数据接收图2.1数据采集显示流程图2.2方案二 使用RS232串口和Visual Basic编程软件直接对电能的各项参数进行检测和转换,在结合STC90C52单片机与VB界面显示就能对

10、电能的各项参数进行显示。再将测得的各项参数由数据库保存,便于完成人机交互,方便用户或操作人员查询数据。 比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。本设计方框图如图2.2所示,它由四部分组成:1、控制部分主芯片采用单片机STC89C52和RS232串口;2、VB显示界面;3、实时数据显示传输;4、历史数据查询。该方案的智能电表能够更方便、精确地计量电能,数字显示界面更加直观方便;其次其智能化可以帮助管理单位实现远程管理、提醒居民按时缴费、详细记录用电明细表。节省了管理单位的人力、物力资源。最后智能电表可以通过加加密防止用户窃电,安全性更高

11、。实时数据显示单片机与RS232串口VB显示界面历史数据查询图2.2总体设计方案 以该方案为基础选择Visual Basic软件设计方法,完成多点数据采集上位机处理系统的编程工作,需要进一步熟悉Visual Basic语言的基本知识与Visual Basic数据库有关的知识,需要团队协作与请教同学与老师,还需要到图书馆借阅资料与上网查阅相关资料,这样才能完成该课程设计。多点数据采集上位机处理系统该软件的难点是Visual Basic的编程方面,与怎样实现PC机与单片机的连接问题及数据的采集与如何将数据写入数据库等问题。可以将多点数据采集上位机处理系统应用于三相智能电表的软件系统,从而完成智能电

12、表的设计。3单元模块设计3.1 数据接收 通过RS232串口将单片机与微机相连,通过vb程序的处理,完成数据的接收。3.1.1 单片机电路 单片机电路如图3.1.1示。 图3.11单片机电路 AT89C52是一款超强抗干扰/高速/低功耗的单片机,AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控

13、制应用场合。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 3.1.2 RS232串口 RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总

14、线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200、38400波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于

15、20m以内的rs232(9针)接口通信。 图3.1.2 RS232串口图3.2 数据显示模块 主要是通过Visual Basic软件处理RS232串口传来的数据,并在Visual Basic的界面中显示数据。其中包括界面和代码两部分。(1)界面部分如图3.2.1,其中图片框Picture1,要在属性窗口中设置它的picture属性,以便加入图片,并在Picture1的属性窗口中设置它的BorderStyle属性为0,目的是去除Picture1的边框,再将Picture1的AutoSize属性设置为True,以便图像框的大小适应图片框的大小,这样西华大学的标致就完美的加入在图片框里面了。其中图片

16、框Picture2中包含lable2和label4两个标签,这两个标签的Caption属性均设置为: 图3.2.1登录界面欢饮进入西华大学电能管理中心!并将两个lable的AutoSize属性设置为True,Lable2和Lable4两者之间有一定的距离。再加上与代码的配合,这个标志便能在图片框Pictuer2中滚动显示了,并且当Lable2的“欢”字消失的时候,Lable4的“欢”字刚好出现,二者配合的相当完美。其中由Lable1构成,并设置它的AutoSize属性为True, 其中由命令按钮构成,并设置它的Caption属性为“登陆”。其中为时钟控件,它的应用是为了完成的滚动显示。其中由L

17、able2组成,并设置它的AutoSize属性为True,一边字体的大小适应Lable2的大小,并修改Lable2的Caption属性为Copyright(c)fyr 2013,这样Lable2的设计就完成了,再将Form1的Caption属性设置为“登陆”,这样登陆窗体的第一个界面就完成了。 图3.2.2实时数据显示界面(1)图3.2.2实时数据显示界面(2)(2)数据显示界面包括实时数据显示和历史数据显示,图3.2.2为实时数据显示界面。首先要添加一个名称为SSTab1的控件,并将该控件的Height与Width属性值与Form2窗体的属性值设置为同一值。并将Form2的Caption属性

18、值设置为“电能参数”。将SSTab1控件的Tabs与TabsPerRow属性值均设置为2。并将SSTabs控件的Caption属性值设置为“实时数据”与“历史数据”这样SSTabs1控件就完成了,然后如图3.2.2所示再在SSTab1上添加16个文本框控件与label标签。添加组合框控件Combo1,并将其text属性设置为COM1,并将其list属性值设置为COM1、COM2、COM3、COM4、COM5,以便串口的选择。其中为通信控件,实现的是RS232控件与上位机的通信,其中为时钟控件,控制的是采样的频率,其中为图像框Shape控件,要将图像框的shape属性选择为3-circle,将B

19、ackStyle属性设置为1-Opaque,这样图像框的设计就完成了。再添加和这两个控件,这样就完成了实时数据界面的设计。 图3.2.3历史数据显示界面 图3.2.3历史数据显示界面主要包括DataGrid控件、的命令按钮控件和的时钟控件。该界面的设计很简单主要是完成历史数据的查询和显示。3.3历史数据查询 单击图3.2.3历史数据显示界面中的命令按钮就会弹出图3.3.1历史数据查询界面。其中与分别为两个标签,其中与分别为两个文本框,其中为命令按钮。其中为名称为datDatactl的控件。其作用是显示查询后的历史数据。分别在为本框text1和text2中输入查询时间,单击命令 图3.3.1历史

20、数据查询界面按钮,就可以完成历史数据的查询,并将结果显示在控件中,这样整个历史数据的查询就完成了。整个操作过程非常简单便捷。4软件设计4.1 RS232串口通信标准 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另

21、一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个

22、bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准 ASC

23、II码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。 c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。 d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的

24、情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。4.2登录界面的软件代码设计原理 登陆界面如图4.2.1,其中和需要设置代码,的代码为Form1.Hide 与Form2.Show,这部分代码的功能是单击登陆按钮后隐藏登陆界面,显示实时数据显示界面与历史数据显示界面,便于数

25、据的显示。的timer事件的代码为Label2.Left = Label2.Left 100,其作用是每个一个时钟周期也就是200ms,就将向左移动100各单位的距离。If Label2.Left = -(Label2.Width) Then Label2.Left = 5070 End If 这三句代码的作用是当全部移动到图片框外时,它距离图片框左边的距离为5070个单位,以便控件能够在图片框中滚动显示。Label4.Left = Label4.Left 100 If Label4.Left = -(Label4.Width) Then Label4.Left = 5070End If这部分

26、代码的作用与前一部分代码的功能类似,代码的作用是为了让两个标签中的“欢迎进入西华大学电能管理中心!”的字体循环显示。 4.3实时数据显示界面的软件代码设计原理 图4.3.1实时数据显示界面中的按钮和按钮与需要设置代码,还有窗体的form load事件需要代码,控件需要代码,该通讯控件需要代码。(1)按钮的名称为ckcmd,代码If ckcmd.Caption = 打开串口 的作用是:如果的caption属性是“打开串口”,代码Then MSComm1.PortOpen = True的作用是打开相应的RS232串口,代码 ckcmd.Caption = 关闭串口的作用是名称为ckcmd的按钮的c

27、aption属性变为“关闭串口”,代码 Shape1.FillColor = &HFF&的作用是将shape控件的颜色变为红色,代码Combo1.Enabled = False 的作用是组合框不可用, 代码dqcmd.Enabled = True的作用是按钮变为可用。代码Else ckcmd.Caption = 打开串口的作用是: 如果名称为ckcmd按钮的caption属性是“关闭串口”单击该命令按钮之后ckcmd的按钮caption属性变为“打开串口”,代码MSComm1.PortOpen = False的作用是:单击命令按钮后,关闭相应的串口。代码Combo1.Enabled = Tru

28、e的作用是组合框可用,可以选择相应的串口。代码 Shape1.FillColor = 0 Shape2.FillColor = 0 的作用是两个图像框均变为黑色,以显示现在未从串口中读取数据。代码 dqcmd.Caption = 自动读取 的作用是按钮的caption属性变为 “自动读取”代码dqcmd.Enabled = False End If Exit Sub的作用是按钮变为不可用,结束If语句和退出Sub过程。代码 On Error GoTo BLAK的作用是:如果出错就跳到名称为BLAK的子程序。代码BLAK: MsgBox 串口不存在或者被占用!, vbOKOnly, 提示信息的作

29、用是如果出错就用MsgBox显示相应的提示信息。如图4.3.2所示。(2)命令按钮的名称为dqcmd,代码If dqcmd.Caption = 自动读取 的作用是如果按钮的caption属性是“自动读取”,代码 Thendqcmd.Caption = 暂停读取 的作用是单击该按钮后名称为dqcmd的命令按钮的caption属性变为 “暂停读取”。代码 Shape2.FillColor = &HFF& 的作用是shape2的颜色变为红色,代码Timer1.Enabled = True的作用是timer1不可用,代码Else 图4.2.1登录界面 图4.3.1实时数据显示界面(1) 图4.3.2错

30、误提示界面图4.3.1实时数据显示界面(2)化SSTab1控件的高度、宽度等参数。代码MSComm1.Settings = 9600,n,8,1 的作用是:设置初始化参数,设置RS232的波特率等,代码MSComm1.InputLen = 0 的作用是清空从接收缓存器中读到的字符。代码Timer1.Interval = 1000 Timer1.Enabled = False的作用是设置Timer1的Interval属性为1s。代码dqcmd.Enabled = False的作用是最开始按钮不可用。代码Data2.DatabaseName = C:fyrMy Documentsjkh.mdb D

31、ata2.RecordSource = jkh的作用是在C盘创建一个文件夹以便保存数据。 代码Timer2.Interval = 60000 的作用是设置数据库采样周期为6秒。代码Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Text9.Text = Text10.Text = Text11.Text = Text12.Text = Text13.Text = Text14.Text = Text15.Text = Text16.Te

32、xt = 的作用是在form load事件中将这16个文本框清空。代码 End Sub 的作用是结束form load这个事件过程。(5),该组合框按钮的名称是Combo1,代码MSComm1.CommPort = Combo1.ListIndex + 1的作用是:单击组合框打开相应的串口。(6)它为通讯控件,它能实现单片机与上位机之间的通讯。代码Dim m1 As Single的作用是设置m1是单精度类型的变量,代码Select Case MSComm1.CommEvent的作用是控件MSComm1的CommEvent事件,代码Case comEventRxOver Exit Sub的作用是

33、如果检测到comEventRxOver事件就退出Sub过程。代码Case comEvReceive BytReceived = MSComm1.Input的作用是MSComm1控件的comEvReceive事件,将接受到的数据放到BytReceived()变量中,代码For i = 0 To UBound(BytReceived)的作用是for循环从0开始到BytReceived的上限,代码 If Len(Hex(BytReceived(i) = 1 Then strData = strData & 0 & Hex(BytReceived(i)的作用是将BytReceived(i)转换为16进

34、制数,如果只有一位数则在前面添0,并将它赋给strData这个数组中,代码ElsestrData = strData & Hex(BytReceived(i)的作用是:否则,直接将BytReceived(i)赋给变量strData中,代码End If flag = strData的作用是:结束if语句,将strData 赋给变量 flag,代码 If Len(flag) = 2 Then的意思是:如果flag的长度是2,代码If flag = F0 Or F1 Or F2 Or F3 Or F4 Or F5 Or F6 Or F7 Or F8 Then flag = Else strData

35、= flag = End If End IF的作用是设置F0,F1,F1,F3,F4,F5,F6,F7,F8为标志位,如果检测到标志位则将flag清空,如果没有检测到标志位,则将flag和ctrData均清空。代码If Len(flag) = 10 Then flag = Mid(flag, 9, 2)的作用是如果flag的长度是10,则取flag的后两位赋给新的变量flag,代码的If flag = 0F Then flag = gl = AP ElseIf flag = 1F Then flag = gl = AQ ElseIf flag = 2F Then flag = gl = ASZ

36、 ElseIf flag = 3F Then flag = gl = BP ElseIf flag = 4F Then flag = gl = BQ ElseIf flag = 5F Then flag = gl = BSZ ElseIf flag = 6F Then flag = gl = CP ElseIf flag = 7F Then flag = gl = CQ ElseIf flag = 8F Then flag = gl = CSZ这部分代码的作用是根据需要将A、B、C三相的有功,无功和视在电功放在相应的变量中。代码newdata = Mid(strData, 3, 6) strD

37、ata = End If的作用是将strData的3至6位赋值给变量newdata中。代码findata = Val(&H & newdata)的作用是将newdata转化为16进制数赋给findata中。代码Select Case gl Case AP Text1.Text = findata Case AQ Text2.Text = findataCase ASZ Text3.Text = findata Case BP Text5.Text = findata Case BQ Text6.Text = findata Case BSZ Text7.Text = findata Case

38、CP Text9.Text = findata Case CQ Text10.Text = findata Case CSZ Text11.Text = findata End Select的作用是把电功在对应的文本框中显示。代码Text13.Text = Text1.Text + Text5.Text + Text9.Text的作用是在text13中显示总的有功,代码Text14.Text = Text2.Text + Text6.Text + Text10.Text的作用是在text14中显示总的无功,代码Text15.Text = Text3.Text + Text7.Text + Te

39、xt11.Text的作用是在text15中显示总的视在电功。代码Text4.Text = Text1.Text / Text3.Text的作用是在text4中显示A相功率因素,代码Text8.Text = Text5.Text / Text7.Text的作用是在text8中显示B相功率因素,代码 Text12.Text = Text9.Text / Text11.Text的作用是在text12总显示C相功率因素。代码Text16.Text = Text13.Text / Text15.Text的作用是在text16中显示总的功率因素,代码Nexti End Select End Sub的作用是

40、结束select语句,结束sub过程。以上便是整个实时数据界面的软件代码的设计的详细解释与说明,没有任何的语法错误。4.4历史数据显示界面的软件代码设计原理历史数据显示界面如图4.4.1所示,其中和需要设计代码。 图4.4.1历史数据显示界面(1)其中的代码If Data2.Recordset.EOF = False Then的作用是在数据库的末尾加入新记录。代码Data2.Recordset.MoveLast End If 的作用是加入新记录。代码Data2.Recordset.AddNew Data2.Recordset.Fields(0) = Date 的作用是添加系统日期。代码Data

41、2.Recordset.Fields(1) = Time 的作用是将系统时间写入数据库中。代码Data2.Recordset.Fields(2) = Val(Text13.Text) 的作用是将总有功写入数据库中。代码Data2.Recordset.Fields(3) = Val(Text14.Text) 的作用是将总无功写入数据库中。代码Data2.Recordset.Fields(4) = Val(Text15.Text)的作用是将总视在电功写入数据库中。代码Data2.Recordset.Fields(5) = Val(Text16.Text) 的作用是将总功率因数写入数据库中。代码Da

42、ta2.Recordset.Fields(6) = Val(Text1.Text)的作用是将A有功写入数据库中,代码Data2.Recordset.Fields(7) = Val(Text2.Text) 的作用是将A无功写入数据库中,代码Data2.Recordset.Fields(8) = Val(Text5.Text) 的作用是将B相有功写入数据库中。代码Data2.Recordset.Fields(9) = Val(Text6.Text) 的作用是将B相无功写入数据库中。代码Data2.Recordset.Fields(10) = Val(Text9.Text)的作用是将C相有功写入数据

43、库中。代码Data2.Recordset.Fields(11) = Val(Text10.Text) Data2.Recordset.Updat的作用是将C相无功写入数据库中。(2)其中的代码Form3.Show的作用是单击该命令按钮就进入form3历史数据查询窗体。如图4.4.2所示。 图4.4.2对于图4.4.2的窗体需要对和窗体的form load事件写代码。(1)其中的代码Set dbs = OpenDatabase(c:fyrMy Documentsjkh.mdb) strSQL = PARAMETERS DateFrom DateTime, & _ & DateTo DateTim

44、e;strSQL = strSQL & SELECT*FROM jkh WHERE & _ & 日期 BETWEEN strSQL = strSQL & DateFrom AND DateTo; 的作用是创建一个非存储的参数查询。代码Set qdf = dbs.CreateQueryDef(, strSQL) 的作用是:提示输入起始日期。代码strDateFrom = InputBox(输入查询起始日期) 的作用是提示输入终止日期。代码strDateTo = InputBox(输入查询终止日期)的作用是设置查询的参数。代码qdf.Parameters(DateFrom) = strDateFr

45、om qdf.Parameters(DateTo) = strDateTo 的作用是起始日期显示。代码Text1.Text = strDateFrom的作用是终止日期显示。代码Text2.Text = strDateTo的作用是对查询打开动态集记录。代码Set rst = qdf.OpenRecordset(dbOpenDynaset) Set datDatactl.Recordset = rst的作用是赋值并显示。(2)form load事件的代码datDatactl.DatabaseName = c:fyrMy Documentsjkh.mdb datDatactl.RecordSource = jkh的作用是查询数据库中的内容并复制显示。4.5软件设计流程图电能参数数据界面及代码设计用电量数据界面及代码设计密码界面及代码设计登陆界面及代码设计历史数据查询界面及代码设计历史数据界面及代码设计串口提示界面及代码设计5基于Visual Basic的数据库操作5.1创建数据库的步骤 外接程序可视化文件新建数据库Microsoft AccessVersion 2.0 MDB输入要创建的数据库名称,这样就能在指定的磁盘位置创建一个目录。 5.2查询数据的步骤 外接

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号