




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工业生产温度监测系统设计说明书引言温度是表征物体冷热程度的物理量,是工业生产和自动控制中最常见的工艺参数之一,生产过程中常常需要对温度进行检测和监控。在传统的温度测控系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能力差等问题;而其中任何一环节处理不当,就会造成整个系统性能的下降。采用数字温度传感器与单片机组成的温度检测系统进行温度检测、数值显示和数据储存,体积减小,精度提高,抗干扰能力强,并可组网进行多点协测,还可以实现实时控制等技术,在现代工业生产中应用越来越广泛。一、 系统总体功能工业生产温度监测系统是通过实时监测记录当前温度,检查是否达到警报上限所要求的温度来选择是否发出警报,该系统还能设置警报温度的数值,来满足更多不同的需求。用户可在该系统选择注册一个账户,通过账户来登陆该系统来使用系统的功能,能将监测所得的数据保存在自己账户当中,方便以后的查找与记录。二、 数据表设计上面这个表格是使用工业生产温度监测系统监测温度数据时产生的数据。上面这个表格是工业生产温度监测系统中用户的个人信息资料,包括了电话、邮箱等各种信息,新用户在注册后的个人资料信息也会保存到该表格当中。三、 系统详细设计3.1:功能1(1) 登陆界面,通过该界面可输入用户名跟密码登陆工业生产温度监测系统,也可以通过该界面进行用户的注册。(2) 相关代码Public userName As StringPrivate Sub Command1_Click() Command1执行事件Click()userName = Trim(Text1.Text) 定义userNameIf userName = Then 判断username是否为空MsgBox 请输入用户名, vbOKOnly + vbExclamation, 警告 如果为空,则输出警告。Text1.SetFocus 光标跳到text1Exit Sub 结束程序End If 条件结束程序Dim password As String 定义passwordpassword = Trim(Text2.Text) 使password=text2.textIf password = Then 判断password是否为空MsgBox 请输入密码, vbOKOnly + vbExclamation, 警告 如果为空,则输出警告。Text2.SetFocus 光标跳到text2Exit Sub 结束程序End If 条件结束程序Dim DBConn As New ADODB.Connection 创建一个数据库连接DBConn.CursorLocation = adUseClient 使用客户端游标,使用客户端缓存数据,对数据库的修改不会立刻反映DBConn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 数据库.mdb;Dim queryStr As String 定义queryStr为一串字符queryStr = select * from 用户 where 用户名= & userName & 创建数据库连接Dim rs As New ADODB.Recordset 定义rs为新的ADODB记录集对象Set rs = DBConn.Execute(queryStr) 调用querySt表If rs.RecordCount = 0 Then 如果rs.RecordCount为空MsgBox 用户名不存在,请重新输入, vbOKOnly + vbExclamation, 警告 显示警告窗口Text1.SetFocus 光标停在text1Exit Sub 结束程序End If 条件结束程序rs.MoveFirst 将记录指针移至第一条信息If StrComp(Text2.Text, rs(密码), vbBinaryCompare) 0 Then 判断密码是否正确MsgBox 密码错误,请重新输入, vbOKOnly + vbExclamation, 警告 密码不正确是弹出警告窗口Text2.SetFocus 光标停在text2Exit Sub 结束程序End If 条件结束程序系统主界面窗体.ShowUnload Me 关闭窗体End Sub 关闭程序Private Sub Command2_Click() Command2执行事件Click()注册窗体.ShowEnd Sub 关闭程序Private Sub Form_Load() Form执行事件Load()End Sub 关闭程序Private Sub Label1_Click()End Sub3.2:功能2(1)该窗体为系统主界面,通过上面的登陆窗体进行登陆则跳转至该窗体,该窗体可以实时监测温度,也可以在这个界面中进行参数设置。该界面监测获得的数据将记录到监测记录表中。点击主界面左上方的退出按钮可选择返回登陆界面或者关闭系统,用户还能在该界面中清空数据,修改个人信息跟修改用户密码等功能。(3) 相关代码:Dim DBConn As New ADODB.ConnectionDim mv As StringPrivate Sub Command1_Click() Command1执行事件Click() MSComm1.Output = Combo1.Text 传递参数 Label4.Caption = 报警上限值: & Combo1.Text & V 在Label4.Caption输入报警上限值: MsgBox 设置成功!, vbOKOnly + vbInformation, 恭喜 对话框会显示 设置成功!, 并出现一个有恭喜的确定按钮End Sub 结束程序Private Sub Form_Load() Form执行事件Load()Combo1.ListIndex = 2 选择项目的索引MSComm1.CommPort = 2 设置串口为COM2MSComm1.Settings = 9600,n,8,1 传输率为9600bit/s,无奇偶校验位,8位数据,1位停止MSComm1.RThreshold = 1 接收缓冲区每收到1个字节字符,都会触发执行MSComm控件的OnComm()事件函数MSComm1.SThreshold = 0 数据发送事件不产生OnComm()事件MSComm1.InputLen = 1 使用Input()函数时读取接收缓冲区的字符个数,0表示全部读取MSComm1.PortOpen = True 打开串口MSComm1.Output = 6 向单片机发送字符6表示启动了VB,要求单片机发送当前设置的报警上限值DBConn.CursorLocation = adUseClient 使用由本地游标库提供的客户端游标DBConn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 数据库.mdb;Dim queryStr As String 定义queryStr为一串字符queryStr = select * from 测量记录 order by 序号 descDim rs As New ADODB.Recordset 定义rs为新的ADODB记录集对象Set rs = DBConn.Execute(queryStr) 调用querySt表MSFlexGrid1.Cols = rs.Fields.Count 设置列数MSFlexGrid1.Rows = 1 设置行数,目前可以确定的是只有一行MSFlexGrid1.ColWidth(0) = 1600 设置第1列的宽度For i = 1 To rs.Fields.Count - 1 设置剩余的列的宽度(等距离)MSFlexGrid1.ColWidth(i) = (MSFlexGrid1.Width - MSFlexGrid1.ColWidth(0) / (rs.Fields.Count - 1)Next iFor i = 0 To rs.Fields.Count - 1 设置第1行的值MSFlexGrid1.ColAlignment(i) = 3 各列文字居中显示MSFlexGrid1.TextMatrix(0, i) = rs.Fields(i).Name 第一行中各列的值为数据库中测量记录表的列名Next i 接下来Do While Not rs.EOF 读取记录,直到指针指向末尾MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1 增加一行用来存储读取的记录For i = 0 To rs.Fields.Count - 1 将读取的记录的值在增加的行中显示MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, i) = rs.Fields(i).ValueNext i 接下来rs.MoveNext 指针移向下一条记录Loop 循环End Sub 结束程序Private Sub Label1_Click()End SubPrivate Sub MSComm1_OnComm() MSComm1执行事件OnComm()Select Case MSComm1.CommEvent 判断其状态是否为:comEvReceive 才能确定是否接收数据 Case comEvReceive 发生接收事件时 rd$ = MSComm1.Input 只接收1个字符 mv = mv & rd 接收的字符串 If (rd = N And Len(mv) = 5) Then 数据格式为0.00N Label4.Caption = 报警上限值: & Mid(mv, Len(mv) - 4, 1) & V 在Label4.Caption输入报警上限值: mv = 接收数据为空 End If 结束条件语句 If (rd = M And Len(mv) = 5) Then 数据格式为0.00M Label2.Caption = 电压值: & Mid(mv, Len(mv) - 4, 4) & V 在Label2.Caption输入电压值: Label3.Caption = 时间: & Now() 在Label3.Caption输入时间: insertStr = insert into 测量记录(测量值,测量时间) values( & Mid(mv, Len(mv) - 4, 4) & ,# & Now() & #) 在insertStr输入测量记录 DBConn.Execute (insertStr) 使用本地游标执行insertStr mv = 接收数据为空 End If 结束条件程序 Case Else 其他情况End Select 终端选择End Sub 结束程序Private Sub Timer1_Timer() Timer1 执行事件Timer()Dim queryStr As String 定义queryStr为一串字符queryStr = select * from 测量记录 order by 序号 descDim rs As New ADODB.Recordset 定义rs为新的ADODB记录集对象Set rs = DBConn.Execute(queryStr) 调用querySt表MSFlexGrid1.Cols = rs.Fields.Count 设置列数MSFlexGrid1.Rows = 1 设置行数,目前可以确定的是只有一行MSFlexGrid1.ColWidth(0) = 1600 设置第1列的宽度For i = 1 To rs.Fields.Count - 1 设置剩余的列的宽度(等距离)MSFlexGrid1.ColWidth(i) = (MSFlexGrid1.Width - MSFlexGrid1.ColWidth(0) / (rs.Fields.Count - 1) 列宽=宽度-第0行的宽度/设置第1行的值Next i 接下来For i = 0 To rs.Fields.Count - 1 设置第1行的值MSFlexGrid1.ColAlignment(i) = 3 各列文字居中显示MSFlexGrid1.TextMatrix(0, i) = rs.Fields(i).Name 第一行中各列的值为数据库中测量记录表的列名Next i 接下来rs.MoveFirst 指针移向下一条记录Do While Not rs.EOF 读取记录,直到指针指向末尾MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1 增加一行用来存储读取的记录For i = 0 To rs.Fields.Count - 1 设置第1行的值MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, i) = rs.Fields(i).Value TextMatrix=设置第1行的值Next i 接下来rs.MoveNext 指针移向下一条记录Loop 循环语句End Sub 结束程序Private Sub 返回登陆界面_Click() 返回登陆界面执行事件Click()If MsgBox(您确定要返回登陆界面吗?, vbOKCancel, 请确定!) = vbOK Then 判断是否返回登陆界面DBConn.Close 关闭访问Unload Me 卸载当前窗体登陆窗体.Show 显示登陆界面End If 结束条件语句End Sub 结束程序Private Sub 关闭系统_Click() 关闭系统执行事件Click()If MsgBox(您确定要退出本系统?, vbOKCancel, 请确定!) = vbOK Then End 判断是否退出本系统End Sub 结束程序Private Sub 清除测量数据_Click() 清除测量数据执行事件Click()If MsgBox(您确定要清除测量数据吗?, vbOKCancel, 请确定!) = vbOK Then 判断是否要清除测量数据Dim deleteStr As String 定义deleteStr为一串字符deleteStr = delete from 测量记录 创建数据库连接DBConn.Execute (deleteStr) 访问并执行deleteStrMsgBox 清除测量数据成功!, vbOKOnly + vbInformation, 恭喜 对话框会显示 清除测量数据成功!, 并出现一个有恭喜的确定按钮End If 结束条件语句End Sub 结束程序Private Sub 查看和修改个人信息_Click() 查看和修改个人信息执行事件Click()查看和修改个人信息窗体.Show 显示查看和修改个人信息窗体界面End Sub 结束程序Private Sub 修改密码_Click() 修改密码执行事件Click()修改密码窗体.Show 显示修改密码窗体End Sub 结束程序3.3:功能3(1) 该窗体能查看个人资料信息以及进行修改。(2)相关代码:Private Sub Form_Load() Form执行事件Load()Dim DBConn As New ADODB.Connection 定义变量DBConn连接数据库,并用new()函数初始化DBConn.CursorLocation = adUseClient 使用由本地游标库提供的客户端游标DBConn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 数据库.mdb; 访问数据库Dim queryStr As String 定义queryStr为一串字符queryStr = select * from 用户 where 用户名= & 登陆窗体.userName & 创建数据库连接Dim rs As New ADODB.Recordset 定义rs为新的ADODB记录集对象Set rs = DBConn.Execute(queryStr) 调用querySt表rs.MoveFirst 将记录指针移至第一条信息Label2.Caption = rs(用户名) 在Label2.Caption输入用户名Text1.Text = rs(姓名) 在Text1输入姓名If (StrComp(rs(性别), 男, vbBinaryCompare) = 0) Then 判断StrComp(rs的性别是否是男性Combo1.ListIndex = 0 选择项目的索引Else 否者Combo1.ListIndex = 1 选择项目的索引End If 结束条件语句Text2.Text = rs(电话) 在Text2输入电话Text3.Text = rs(邮箱) 在Text3输入邮箱End Sub 结束程序Private Sub Command1_Click() Command1执行事件Click()If Text1.Text = Then 判断Text1.是否有效MsgBox 请输入姓名!, vbOKOnly + vbExclamation, 警告 对话框会显示 请输入姓名!,并出现一个有确定按钮的警告符号Text1.SetFocus text1赋焦点Exit Sub 退出程序End If 结束条件语句Dim DBConn As New ADODB.Connection 定义变量DBConn连接数据库,并用new()函数初始化DBConn.CursorLocation = adUseClient 使用由本地库提供的客户端游标DBConn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 数据库.mdb; 访问数据库Dim updateStr As String 定义updateStr r为一串字符updateStr = update 用户 set 姓名= & Trim(Text1.Text) & ,性别= & Trim(Combo1.Text) & ,电话= & Trim(Text2.Text) & ,邮箱= & Trim(Text3.Text) & where 用户名= & 登陆窗体.userName & 创建数据库连接DBConn.Execute (updateStr) 访问并执行updateStrMsgBox 修改成功!, vbOKOnly + vbInformation, 恭喜 对话框会显示 修改成功!, 并出现一个有恭喜的确定按钮End Sub 关闭程序Private Sub Command2_Click() Command2执行事件Click()Unload Me 卸载当前窗体End Sub 结束程序3.4:功能4(1) 通过该界面能注册该系统的新用户。(2) 相关代码:Private Sub Command1_Click() Command2执行事件Click()If Text1.Text = Then 判断是否有输入用户名MsgBox 请输入用户名!, vbOKOnly + vbExclamation, 警告 如果用户名为空时,弹出警告窗口Text1.SetFocus 光标停留在text1Exit Sub 退出程序End If 条件结束程序If Text2.Text = Then 判断是否有输入密码MsgBox 请输入密码!, vbOKOnly + vbExclamation, 警告 如果密码为空时,弹出警告窗口Text2.SetFocus 光标停留在text2Exit Sub 退出程序End If 条件结束程序If Text3.Text = Then 判断是否有确认输入密码MsgBox 请输入确认密码!, vbOKOnly + vbExclamation, 警告 如果确认密码为空时,弹出警告窗口Text3.SetFocus 光标停留在text3Exit Sub 退出程序End If 条件结束程序If StrComp(Text2.Text, Text3.Text, vbBinaryCompare) 0 Then 判断两次密码是否一致MsgBox 两次输入的密码不一致!, vbOKOnly + vbExclamation, 警告 如果密码不一致,弹出警告窗口Text2.SetFocus 光标停留在text2Exit Sub 退出程序End If 条件结束程序Dim DBConn As New ADODB.Connection 定义变量DBConn连接数据库,并用new()函数初始化DBConn.CursorLocation = adUseClient 使用由本地库提供的客户端游标DBConn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 数据库.mdb; 访问数据库Dim queryStr As String 定义querystrqueryStr = select 用户名 from 用户 where 用户名= & Trim(Text1.Text) & 创建数据库连接Dim rs As New ADODB.Recordset 定义rs为新的ADODB记录集对象Set rs = DBConn.Execute(queryStr) 调用querySt表If rs.RecordCount 0 Then 判断用户名是否存在MsgBox 已存在相同的用户名!, vbOKOnly + vbExclamation, 警告 用户名存在时,弹出警告窗口Text1.SetFocus 光标停在text1Exit Sub 退出程序End If 条件结束程序Dim insertStr As String 定义insertStr为一串字符insertStr = insert into 用户 values( & Trim(Text1.Text) & , & Trim(Text2.Text) & , & Trim(Text4.Text) & , & Trim(Combo1.Text) & , & Trim(Text5.Text) & , & Trim(Text6.Text) & ) 把用户信息记入数据库表中DBConn.Execute (insertStr) 调用表insertStrMsgBox 注册成功!, vbOKOnly + vbInformation, 恭喜 弹出注册成功窗体Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = 各个text内容清零。End Sub 结束程序Private Sub Command2_Click() Command2执行事件Click()Unload Me 卸载当前窗体End Sub 结束程序Private Sub Form_Load() Form执行事件Load()Combo1.ListIndex = 0 选择项目的索引End Sub 结束程序3.5:功能5(1) 该界面能让用户重新设置修改自己的登陆密码。(2) 相关代码:Private Sub Command1_Click() Command1执行事件Click()If Text1.Text = Then 判断是否有输入原密码MsgBox 请输入原密码!, vbOKOnly + vbExclamation, 警告 如果原密码为空时,弹出警告窗口Text1.SetFocus 光标停留在text1Exit Sub 退出程序End If 条件关闭程序If Text2.Text = Then 判断是否有输入密码Ms
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新材料科学与工程考试试卷及答案
- 外科术后引流管的护理
- 2025年社会心理学基础知识考试试卷及答案
- 2025年旅游策划与管理专业考试试题及答案
- 2025年计算机等级考试综合能力试卷及答案
- 2025年海洋科学与技术基础知识测试试题及答案
- 2025年机器人技术与应用能力测试试题及答案
- 2025年中医药学基础知识与实践考试试题及答案
- 2025年电子信息工程专业毕业设计答辩试题及答案
- 农产品溯源升级2025年农产品质量安全追溯体系建设实施方案标准制定研究
- 单体药店GSP质量管理制度
- 2025年江苏省高考化学试卷真题
- (网络+收集版)2025年高考全国二卷语文高考真题文档版(无答案)
- 室内妇科诊室管理制度
- 2025年现代图书馆管理与信息服务考试试题及答案
- 2025年高等教育心理学考试试卷及答案
- 2025年河北省中考二模道德与法治试题(启光卷含答案)
- 材料力学知到智慧树期末考试答案题库2025年辽宁工程技术大学
- 敦煌文化介绍课件
- 2025贵州中考:历史必考知识点
- 肝硬化门静脉高压症食管、胃底静脉曲张破裂出血诊治专家共识2025解读
评论
0/150
提交评论