用VB制作一个简单的压力值采集显示的上位机制作总结_第1页
用VB制作一个简单的压力值采集显示的上位机制作总结_第2页
用VB制作一个简单的压力值采集显示的上位机制作总结_第3页
用VB制作一个简单的压力值采集显示的上位机制作总结_第4页
用VB制作一个简单的压力值采集显示的上位机制作总结_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、gccx上位机制作总结本系统的上位机制作主要采用microsoft word visual basic 6.0编写。主要实现将采集和传输的数据进行接收、处理 和储存的功能。一、基本思路如下所示:由上图可以知道,本程序的三个要点分别是:1、数据的接 收部分,主要指将传到串口的数据进行接收,这是后面步骤的前 提与基础。2、数据的处理部分,将接收到的数据进行实时处理 与绘制曲线图,并对超过警戒值的数据给予提示。3、数据的储 存部分,指对接收处理过的数据按照一定的格式存储到 access2007数据库中,以便以后查询,也为分析列车运行规律 以及螺丝牛产厂家提供真实可贵的资料。总体思路是先分别实现 三个

2、部分对应的功能,再将三个部分有机联合起来形成功能完善 的上位机系统。二、分别实现三个部分的制作过程及成果第一部分,从串口接收数据。主要用到的是mscomn控件(直|)实现串口通信。其测试设计界面如下图所示:其中mscomn控件的属性设置为:iiscobbi mscomm按字母库i按分类库i(名称)mscomml(自定义)commport1dtrenabletrueeofenablcfdlsehandshaking0 comnoneinbuffersi ze1024indexinputlen0inputmode0 comlnputmo det ex tuft360nulldiscardfalse

3、outbuffersiz*512parityrtplact9*rthreshold0rtsefttblefalsesettings9600, n, 8,1sthreshold0t<g_top600程序如下:测试便可实时显示串口传输的数据。即实现了从串口接收数据。第二部分,数据的实时显示部分。这个部分的测试与制作 的思路是采用随机函数产生数据并与时间控件(画)配合来模 拟所收集的数据,对其进行实时绘图。测试设计界面:程序如下:option explicitdim datafromcomy as integer '从串口读过来的实时值y坐标dim datafromcomlasty a

4、s integer,上次的串口值 y 坐标dim timecount as integerdim i as integerprivate sub commandl click ()'返回按钮unload meend subprivate sub form_load()picscale pic调整图像框的坐标系 zuobiaoxi pic 画出坐标系picmidleline pic 在图像框中画一条中线end subprivate sub picscale (picx as picturebox)'调整图像框的坐标系 picx. scale (0, picx sealeheigh

5、t)-(picx scalewidth, 0) end subprivate sub picmidleline(picx as picturebox)'在图像框中画一条中线picx. line (0, 1000)-(picx.scalewidth, 1000), vbgreen'画出中线end subprivate sub zuobiaoxi (picx as picturebox)'表示坐标系dim i%picx. line (0, 0)-(picx. scalewidth, 0), vbwhite 坐标轴表示 picx. line (0, 0)-(0, -picx.

6、 scaleheight), vbwhite'y坐标轴表示for i = 0 to picx. scalewidth step 1000 'x,y 轴坐标坐标刻度显示 picx. line (0, i)-(100, i) picx. line (i, 0)-(i, 100)next iend subprivate sub drawrealline (picx as picturebox, datafromcomy as integer, datafromcomlasty as integer, timecount as integer)if timecount - 1 >

7、 0 thenpicx.line (timecount - 100, datafromcomlasty)-(timecount, datafromcomy), vbwhiteend ifend subprivate sub timerl_timer()datafromcomlasty 二 datafromcomyrandomizedatafromcomy 二 int (2000 - 0 + 1) * rnd + 0)'随机数的产生timecount 二 timecount + 100if timecount - 100 >= pic. width thentimecount 二

8、0pic. cispicmidleline piczuobiaoxi picend ifdrawrealline pic, datafromcomy, datafromcomlasty,timecount '画出实时的曲线end sub测试结果如下:cj forml返回x时间/ty压力/n至此,由数据的实时绘图部分的测试完成。第三部分,数据库的操作,数据库采用access2007数据库。并 采用visual basic的ado data控件(3)进行连接和sql语言实现数据库的添加,删除和查阅等基本功能。(本实验以姓名、 性别、年龄的操作为例) 测试设计界面:仓u建数据库mydb如下:

9、 4aid可姓名 性别 年龄.泾加折字段二喪龙李英武2023姜鸡僞.一一一-20;24郝昆20_j25雷祖家20 |首先是数据库的连接:利用ado控件生成字符串连接数据库的步骤为:1)右击data控件,选择adodc属性通用|身份验证|记录源|颜色|字体|连接资源c使用data link文件(!)i浏览|使用odbc数据资源名称6)g|provider=microsoft. ace. oledb. 12.0;data s< 生成(v). |其他属性(a):确定1取消应用s)帮助12) 点击生成,选择数据库类型提供程序连接离级所衬迭择您希望连接的数損:ou db提供程序microsoft

10、jtt 3.51 ole db provider microsoft jtt 4. 0 ole db provid"mi crosoft ole db provi der for anlysi s services 9. 0 microsoft ole db provider for data mining services microsoft ole db provider for indexing s«rvic« microsoft ole db provider for odbc drivers microsoft ole db provider for o

11、lap services 8.0 microsoft ole db provider for oracle microsoft ole db provider for search microsoft ole db provider for sql server microsoft ole db simple providtrv, v< 1microsoft office12.0 access database engine ole db p 确走 取消帮助3) 填写数据源4)测试连接其次是数据库操作:1) 添加:dim rs as new adodb> recordsetdim

12、cn as new adodbconnectionprivate sub openconn()set cn 二 new adodb. connectionset rs = new adodb. recordsetcn.cursorlocation 二 aduseclientcn. open"provider二micros。ft. ace oledb. 12. 0;datasource二c:usersadministratordesktopgccxmydb. accdb;persist security info二false"end subprivate sub closec

13、onnoif rs. state <> sckclosed then rs.closeset rs 二 nothingif cn.state <> sckclosed then cn.closeset cn 二 nothingend subprivate sub command1 click()call opencorrnrs. open "select 姓名,性别,年龄 from 表 1,cn, adopenstatic, adlockpessimisticrs. addnewrs. fields (z,姓名)=textl. textrs. fields (

14、性别)二 text2. textrs. updatecall closeconnmsgbox 添加成功! ,温馨提示textl. text 二text2.text = text3 text 二"”end subprivate sub command2_c1ick()unload meend subprivate sub command3_click()unload meform3 showend subprivate sub command4_click()form5 showunload meend sub结果:32张三x w w 4.男z4 w39*(新建)2) 删除:0 for

15、m2工请筋入idcj 工程 1 - form3 (form)返回0 form3 1 < 扌返回qz3 工程 1 form4 (form)0 form4o 回 s3请输入姓名返回删除private cn as new adodb. connectiondim rs as new adodb. recordsetprivate sub openconn()set cn = new adodb. connectionset rs = new adodb. recordsetcn.cursorlocation 二 aduseclientcn. open"provider二microso

16、ft. ace. oledb. 12. 0;datasource=c: usersadministratordesktopgccx 数据库mydbaccdb;persist security info二folse"end subprivate sub closeconnoif rs.state <> sckclosed then rs.closeset rs 二 nothingif cn.state <> sckclosed then cn.closeset cn 二 nothingend subprivate sub commandlclick()call

17、opencorrnrs. 0pen "select id from 表 1 where id二 & textl.text,cn, 3, 3 rs. deleters. updateis. closeset rs 二 nothingmsgbox 删除成功“,''successful!cn. closeend subprivate sub command2_click()form3. showunload meend sub结果:cj form2请输入id:31 4546456445护已删除的#已删除的事已删除的律已删除的米(新建)3)private cn as

18、new adodb.connection查看:dim rs as new adodb. recordsetprivate sub openconn ()set cn = new adodb. connectionset rs 二 new adodb. recordsetcn.cursorlocation = aduseclientcn.openprovider二microsoft. ace. oledb. 12. 0;datasourc e=c:usersadministratordesktopgccx 数 据 库 mydb. accdb;persist security info二false

19、"end subprivate sub closeconnoif rs. state <> sckclosed then rs.closeset rs 二 nothingif cn. state <> sckclosed then cn.closeset cn 二 nothingend subprivate sub command1 click()call openconnrs. open "select id,姓名,性别,年龄 from 表 1 where id 二 & textl .text, cn, adopenstatic, adlo

20、ckpessimistictext2. text = rs. fields (/z姓名)text3. text 二 rs. fields (/z性别)text4. text = rs. fields (/z年龄)rs. updatecall closeconnend subprivate sub command2_click()forml. showunload meend sub结果:至此,上位机的三个部分的关键问题已经解决。三、上位机各部分的有机连接为了实现上位机接收、处理、储存数据的功能,需要将上述 三个部分结合为一个整体,但由于数据采集和无线传输部分还未 完全贯通,第一部分的串口通信无

21、法进行测试。于是仅实现了数 据库操作与实时绘图的结合。其包括:随机函数产生数据并与 时间控件结合代替串口通信部分。数据实时绘图和过低值警报。 数据实时存储。原始记录查询。实验设计界面:程序设计:option explicitdim k as integerdim datafromcomy as integer '从串口读过来的实时值y坐标dim datafromcomlasty as integer '上次的串口值 y 坐标dim i as integerdim rs as new adodb.recordsetdim cn as new adodb. connectionpr

22、ivate sub openconn ()set cn = new adodb.connectionset rs 二 new adodb. recordsetcn. cursorlocation 二 aduseclientcn. openprovider二microsoft. ace. oledb. 12. 0;datasource=c:usersadministratordesktopgccx 数据库mydbnewaccdb;persist security info二false"end subprivate sub closeconn ()rs. closecn.closeset

23、 rs = nothingset cn 二 nothingend subprivate sub form_load()picscale pic调整图像框的坐标系picmidleline piczuobiaoxi picend subprivate sub picscale(picx as picturebox)'调整图像框的坐标系picx.scale (0, picx.scaleheight)一(picxscalewidth, 0)end subprivate sub picmidleline(picx as picturebox)'在图像框中画一条中线picx. line (

24、0, 1500)-(picx. scalewidth, 1500), vbred'画出中线end subprivate sub zuobiaoxi (picx as picturebox),表示坐标系dim i%picx.line(0,0)-(picx. scalewidth,0),x坐标轴表示picx line(0,0) - (0, -picx. scaleheight)'y坐标轴表示for i = 0topicx scalewidth step1000'x, y轴坐标坐标刻度显示picx line(0,i)-(100, i)picx. line(i,0)-(i, 1

25、00)next iend subprivatesubdrawrealline(picxaspicturebox,datafromcomy as integer, datafromcomlasty as integer,if timecount - 1 > 0 thenpicx. line(timecount-100, datafromcomlasty)-(timecoun t, datafromcomy), vbgreenend ifend subprivate sub timerl_timer()if k = 1 thendatafromcomlasty 二 datafromcomyr

26、andomizedatafromcomy 二 int (3000 - 0 + 1) * rnd + 0)'随机数的产生if datafromcomy < 1500 thenmsgbox 螺丝压力值偏低! “,4&警告end iftimecount 二 timecount + 100'向数据库实时存放数据call openconnrs. 0pen z,select 时间,力 from 表 cn, adopenstatic,adlockpessimisticrs. addnew is. fields (力“)=datafromcomyrs. updatecall cl

27、oseconnif timecount - 100 二 pic. width thentimecount = 0pic. cispicmidleline piczuobiaoxi picend ifdrawrealline pic, datafromcomy, datafromcomlasty,timecount '画出实时的曲线end ifend subprivate sub commandl_click ()command3 .enabled = falsek = 1end subprivate sub command2_click()command3 enabled 二 truek = 0end subprivate sub command3_click ()form2.showunload meend subprivate sub command4_click()unload meend sub0 forml动车压力大4有实时间关系图y压力/n菜单实验结果:1439002817米(新建)hia id司时间-力14390028171441009891452001078146300254147400112148500512j14960018351507007861518004891529002245

温馨提示

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

评论

0/150

提交评论