资源描述:
《《opc课程设计》word版》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、北京科技大学课程设计(软件设计)报告班级:姓名:同组人:学号:指导教师:日期:2013年10月26日北京科技大学自动化学院课程设计(软件设计)报告目录1设计内容12应用程序总体分析与设计13应用程序各功能模块分析与设计13.1连接程序:与服务器相连13.2加项程序:用于加载数据23.3退出程序:程序退出23.4窗体卸载事件处理:断开连接33.5定时器定时时间处理:数据读取,报警,实时时间显示33.6SyncRead子程序54程序测试74.1测试过程:两项均正常74.2测试结果:两项均不正常74.3测试结果:一项正常,一项不正常75程序文档85.1使用说明85.
2、2程序说明86.实验总结和心得17xviii北京科技大学自动化学院课程设计(软件设计)报告1设计内容制作一个实际的OPC访问程序,能够实现数据的读取,并能在棒图上显示,实现意外情况的报警,显示当前日期、时间。2应用程序总体分析与设计要实现设计内容,必须有连接,加项,实时读取,报警等子程序,程序总体流程图如下:3应用程序各功能模块分析与设计3.1连接程序:与服务器相连PrivateSubCommand1_Click()'调用Connect子程序xviii北京科技大学自动化学院课程设计(软件设计)报告CallConnect("OPCJ.SampleServer.1
3、")Label1.Caption="与服务器连接成功"EndSub3.2加项程序:用于加载数据PrivateSubCommand2_Click()'调用AddItem子程序CallAddItemIfNotobjTestGrpIsNothingThenIfobjTestGrp.OPCItems.Count>0Then'启动定时器Timer1.Enabled=TrueElseEndIfEndIfEndSub3.3退出程序:程序退出PrivateSubCommand3_Click()'卸载窗体UnloadForm1EndSubxviii北京科技大学自动化学院课程设计
4、(软件设计)报告3.4窗体卸载事件处理:断开连接PrivateSubForm_Unload(CancelAsInteger)'调用Disconnect子程序CallDisconnectEndSub3.5定时器定时时间处理:数据读取,报警,实时时间显示PrivateSubTimer1_Timer()DimvtItemValues()AsVariantDimlErrors()AsLongDimstrBufAsStringDimnWidthAsIntegerDimnHeightAsIntegerDimnDrawHeightAsIntegerDimsglScaleAs
5、SingleDimIAsIntegerDimaAsInteger'DimbAsInteger'同期读取SyncReadOPCCache,vtItemValues,lErrors'棒图的表示ForI=1To2'数据的格式化strBuf=Format(vtItemValues(I),"###.000")'表示数据字符串xviii北京科技大学自动化学院课程设计(软件设计)报告lbBar(I).Caption=strBuf'计算棒的宽和高nWidth=Picture1(I).ScaleWidthnHeight=Picture1(I).ScaleHeightsglSca
6、le=vtItemValues(I)/700nDrawHeight=CInt(nHeight*sglScale)'清除现棒图Picture1(I).Cls'绘制棒图Picture1(I).Line(0,nHeight-nDrawHeight)-(nWidth,nHeight),_RGB(255,0,0),BFNext'指示警戒值,警戒值以上改变显示颜色IflbBar(1).Caption>50OrlbBar(2).Caption>80ThenLabel1.Caption="出现异常!"Else:Label1.Caption="正在观测!"EndIfIflbBa
7、r(1).Caption>50ThenText1.Text="温度过高!"Picture1(1).Line(0,nHeight-nDrawHeight)-(nWidth,nHeight),_RGB(255,0,0),BFEndIfIflbBar(1).Caption<50Thenxviii北京科技大学自动化学院课程设计(软件设计)报告Text1.Text="温度平稳!"Picture1(1).Line(0,nHeight-nDrawHeight)-(nWidth,nHeight),_RGB(0,255,0),BFEndIfIflbBar(2).Caption>
8、80ThenText2.Text="液