




已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ESMS大壩安全監(jiān)測系統(tǒng)說明書1:系統(tǒng)功能:ESMS系統(tǒng)主要用于完成與測量大壩的傳感器進(jìn)行數(shù)據(jù)采集,計(jì)算,分析, 了解大壩實(shí)際運(yùn)行狀態(tài)。2:設(shè)計(jì)思想ESMS系統(tǒng)本者易操作,界面美觀的原則進(jìn)行設(shè)計(jì)。采用VB6進(jìn)行編制。它與MCU之間采用類似研華通信協(xié)議來完成數(shù)據(jù)交流,通訊總線采用RS-485。它具有遠(yuǎn)程控制操作功能,錯(cuò)誤自動(dòng)報(bào)警功能,遠(yuǎn)程控制和錯(cuò)誤報(bào)警均采用電信交換網(wǎng)絡(luò)實(shí)現(xiàn)。設(shè)計(jì)慨要數(shù)據(jù)采集選擇儀器布置圖采集測點(diǎn)數(shù)據(jù)(測點(diǎn)群,單個(gè)測點(diǎn),多個(gè)測點(diǎn),全部測點(diǎn))MCU操作(MCU自診斷,設(shè)置模塊時(shí)間,查看模塊剩余空間,模塊零點(diǎn),幅點(diǎn))定時(shí)采集時(shí)操作(采集定時(shí)測量數(shù)據(jù),設(shè)置定時(shí)測量參數(shù))測點(diǎn)操作(測點(diǎn)自診斷,設(shè)置測點(diǎn)定時(shí)采集時(shí)間,間隔)數(shù)據(jù)管理MCU單元設(shè)置公式庫管理測值換算(把各個(gè)儀器的相對位移轉(zhuǎn)換成絕對位移)測點(diǎn)維護(hù)(對新的初值和靈敏度系數(shù)的儀器重新?lián)Q算)數(shù)據(jù)備份(修正庫,原始庫,異常庫導(dǎo)入導(dǎo)出)人工測值錄入維護(hù)測值查詢(修正庫管理查詢,異常庫查詢,原始庫查詢)數(shù)據(jù)分析測點(diǎn)過程曲線(單只儀器,多只儀器,環(huán)境量比對,人工測值比對,存檔)楊壓力方塊圖(揚(yáng)壓力方塊圖創(chuàng)建,顯示,存檔)分布圖(分布圖創(chuàng)建,顯示,存檔)綜合日報(bào)表報(bào)表系統(tǒng)綜合月報(bào)表綜合年報(bào)表用戶特殊報(bào)表系統(tǒng)設(shè)置用戶設(shè)置(操作人員設(shè)置,維護(hù)人員設(shè)置)程序控制參數(shù)設(shè)置(通訊方式、參數(shù)設(shè)置,數(shù)據(jù)參數(shù)設(shè)置)報(bào)警參數(shù)設(shè)置(自動(dòng)巡測時(shí)間設(shè)置,巡測方式設(shè)置,報(bào)警方式設(shè)置)測點(diǎn)布置圖建立,維護(hù)3詳細(xì)設(shè)計(jì)3-1:數(shù)據(jù)庫設(shè)計(jì)ESMS 大壩安全監(jiān)測系統(tǒng)軟件的數(shù)據(jù)庫采用ACCESS數(shù)據(jù)庫。數(shù)據(jù)庫名字為UNISYS,UNISYS分為以下幾個(gè)表:1:USERSET 用于存放用戶檔案字段名:USERNAME(用戶名,10),USERPSD(用戶密碼 ,10),USERLEV(用戶級別,6)2:COLLECTION_TMP用于存放臨時(shí)采集數(shù)據(jù)字段名:SURVEYNAME(測點(diǎn)名稱,12),COLLECTTIME(采集時(shí)間,8),COLLECTDATE(采集日期,8),RAWVALUE1(初值1,8,對于差動(dòng)電阻為R1,振弦為頻率)RAWVALUE2(初值2,8對于差動(dòng)電阻為R2,振弦為溫度)RAWVALUE3(初值3,8,對于差動(dòng)電阻為R和,振弦為空),RAWVALUE4(初值4,8,對于差動(dòng)電阻為100歐姆值,振弦為空).MIDVALUE(計(jì)算值,8,相對位移).REMAKE(備注,20,)3:COLLECTION_OK用于存放臨時(shí)采集數(shù)據(jù)正常值同上4:COLLECTION_ALARM用于存放臨時(shí)采集數(shù)據(jù)異常值字段名:SURVEYNAME(測點(diǎn)名稱,12),COLLECTTIME(采集時(shí)間,8),COLLECTDATE(采集日期,8),RAWVALUE1(初值1,8,對于差動(dòng)電阻為R1,振弦為頻率)RAWVALUE2(初值2,8對于差動(dòng)電阻為R2,振弦為溫度)RAWVALUE3(初值3,8,對于差動(dòng)電阻為R和,振弦為空),RAWVALUE4(初值4,8,對于差動(dòng)電阻為100歐姆值,振弦為空).MIDVALUE(計(jì)算值,8,相對位移). REMAKE(備注,20,出錯(cuò)原因)5:CHANGE_DATA用于存放修正后的采集數(shù)據(jù)同上6:CHANGE_DATA_BCK用于存放修正后數(shù)據(jù)的備份同上7:ALARM_DATA用于存放采集數(shù)據(jù)異常值字段名:SURVEYNAME(測點(diǎn)名稱,12),COLLECTTIME(采集時(shí)間,8),COLLECTDATE(采集日期,8),RAWVALUE1(初值1,8,對于差動(dòng)電阻為R1,振弦為頻率)RAWVALUE2(初值2,8對于差動(dòng)電阻為R2,振弦為溫度)RAWVALUE3(初值3,8,對于差動(dòng)電阻為R和,振弦為空),RAWVALUE4(初值4,8,對于差動(dòng)電阻為100歐姆值,振弦為空).MIDVALUE(計(jì)算值,8,相對位移),REMAKE(備注,20,出錯(cuò)原因)8:CHANGE_DATA_BCK用于存放修正后數(shù)據(jù)的備份字段名:SURVEYNAME(測點(diǎn)名稱,12),COLLECTTIME(采集時(shí)間,8),COLLECTDATE(采集日期,8),RAWVALUE1(初值1,8,對于差動(dòng)電阻為R1,振弦為頻率)RAWVALUE2(初值2,8對于差動(dòng)電阻為R2,振弦為溫度)RAWVALUE3(初值3,8,對于差動(dòng)電阻為R和,振弦為空),RAWVALUE4(初值4,8,對于差動(dòng)電阻為100歐姆值,振弦為空).MIDVALUE(計(jì)算值,8,相對位移),FINALVALUE(絕對位移,8),REMAKE(備注,20,)9:ALARM_DATA_BCK用于存放采集數(shù)據(jù)異常值的備份字段名:SURVEYNAME(測點(diǎn)名稱,12),COLLECTTIME(采集時(shí)間,8),COLLECTDATE(采集日期,8),RAWVALUE1(初值1,8,對于差動(dòng)電阻為R1,振弦為頻率)RAWVALUE2(初值2,8對于差動(dòng)電阻為R2,振弦為溫度)RAWVALUE3(初值3,8,對于差動(dòng)電阻為R和,振弦為空),RAWVALUE4(初值4,8,對于差動(dòng)電阻為100歐姆值,振弦為空).MIDVALUE(計(jì)算值,8,相對位移),REMAKE(備注,20,出錯(cuò)原因)10:HISTORY_DATA用于存放采集歷史數(shù)據(jù),包含異常值,正常值同上11:PRT_SURVEY_DATA用于存放的打印數(shù)據(jù)(包含人工,歷史,修正,異常)同上12:HISTORY_DATA_BCK用于存放采集歷史數(shù)據(jù)的備份,包含異常值,正常值同上13:UNIT用于存放大壩各部位的有關(guān)信息字段名:UNITNID(各部位的ID號,2)UNITNAME(各部位的名稱,20)14:COLLOBJICT用于存放測量對象的有關(guān)信息字段名:COLLOBJICTID(測量對象的ID號,2)COLLOBJICTNAME(測量對象的名稱,20)15:SURVEY_INFO用于存放每個(gè)測點(diǎn)的所有信息字段名:SURVEYNO(測點(diǎn)號,12), APPARATUSTYPE(儀器類型,2),MCUTYPE(MCU號碼,2),LOCATION(埋設(shè)位置,3相對于DAMS_INFO的UNITNMB字段),LOCATIONLEV(埋設(shè)高程置,3)SETDATE(安裝日期,8),COLLECTTYPE(采集類型,8)FORMULA(計(jì)算公式,2相對于FORMULA的UNITNMB字段), CALCPARA1(計(jì)算參數(shù)1,8,存放初始最小值),CALCPARA2(計(jì)算參數(shù)2,8,存放初初始最大值),CALCPARA3(計(jì)算參數(shù)3,8,存放初初始位移值),CALCPARA4(計(jì)算參數(shù)4,8,存放靈敏度系數(shù)),CALCPARA5(計(jì)算參數(shù)5,8,),CALCPARA6(計(jì)算參數(shù)6,8,),CALCPARA7(計(jì)算參數(shù)7,8,),MCUNUMBER(MCU號碼,3) SCOPE0(最大正變化幅度)SCOPE0(最大負(fù)變化幅度)16:PRT_SURVEY_INFO用于存放測點(diǎn)庫的打印數(shù)據(jù)(臨時(shí))同上17:MCU_INFO用于存放每個(gè)采集模塊的所有信息字段名:MCUTYPE(MCU類型,20),MCUMAX(MCU初始最大值,8),MCUMIN(MCU初始最小值,8)MCUADD(MCU地址),MCUVER(MCU版本號).18:PRT_MCU_INFO用于存放采集模塊庫的打印數(shù)據(jù)(臨時(shí))19:CONTROL_INFO用于存放控制信息(測點(diǎn)定時(shí)測量的起始,終止時(shí)間等)字段名:SURVEYNO(測點(diǎn)號,12),SURVEYB_DATE(測量起始日期,8),SURVEYB_TIME(測量起始時(shí)間,8),SURVEYE_DATE(測量終止日期,8),SURVEYE_TIME(測量終止時(shí)間,8),INTERVAL(測量間隔,5,單位分鐘),MODE(測量方式,1,計(jì)算機(jī)測量或是模塊測量)20:FBT_INFO用于存放分布圖信息字段名:FBTNAME(分布圖名稱,20),SURVEYNO(測點(diǎn)號,12)21:PRT_FBT_INFO用于存放分布圖信息庫的打印數(shù)據(jù)(臨時(shí))同上22:YYL_INFO用于存放揚(yáng)壓力方塊圖信息字段名:FBTNAME(揚(yáng)壓力方塊圖名稱,20),SURVEYNO(測點(diǎn)號,12)23:SURVEY_LOCATION用于存放測點(diǎn)布置字段名:LOCATIONNAME(測點(diǎn)布置名稱,20),SURVEYNO(測點(diǎn)號,12)24:TELCODE用于存放報(bào)警維護(hù)人員信息及BB機(jī),手機(jī)號碼字段名:WORKNAME(維護(hù)人員姓名,10) TELEPHONE(維護(hù)人員姓名手機(jī),12),BB(維護(hù)人員姓名 BB機(jī),12)26:INFOCODE用于存放系統(tǒng)標(biāo)準(zhǔn)信息代碼字段名:INFOCODE (系統(tǒng)標(biāo)準(zhǔn)信息代碼,60)25:SURVEY_GROUP用于存放測點(diǎn)組信息字段名:GROUPNAME(測點(diǎn)組名,20),SURVEYNO(測點(diǎn)號,12)26:PRT_SURVEY_GROUP用于存放測點(diǎn)組信息庫的打印數(shù)據(jù)(臨時(shí))同上27:HANDWORK_REC用于存放測點(diǎn)人工測量數(shù)據(jù)字段名:SURVEYNAME(測點(diǎn)名稱,12),COLLECTTIME(采集時(shí)間,8),COLLECTDATE(采集日期,8),RAWVALUE1(初值1,8,對于差動(dòng)電阻為R1,振弦為頻率)RAWVALUE2(初值2,8對于差動(dòng)電阻為R2,振弦為溫度)RAWVALUE3(初值3,8,對于差動(dòng)電阻為R和,振弦為空),RAWVALUE4(初值4,8,對于差動(dòng)電阻為100歐姆值,振弦為空)MIDVALUE(計(jì)算值,8,相對位移).REMAKE(備注,20,)28:WORK_REC用于存放用戶工作記錄字段名:USERNAME(用戶姓名,10),INDATE(進(jìn)入日期,8),INTIME(進(jìn)入時(shí)間,8),OUTDATE(退出日期,8),OUTTIME(退出時(shí)間,8),29:PRT_WORK_REC用于存放用戶工作記錄庫的打印數(shù)據(jù)(臨時(shí))同上30:FORMULA用于存放測點(diǎn)計(jì)算公式字段名:FORMULATYPE(公式類型,20),FORMULA(公式,30)31:PRT_FORMULA用于存放測點(diǎn)計(jì)算公式庫的打印數(shù)據(jù)(臨時(shí))同上32:SYSTEM_INFO用于存放系統(tǒng)信息字段名:DAMSNAME(大壩名稱,20),BASELEV1(壩址高程,8),BASELEV2(庫底高程,8)CALL(系統(tǒng)出錯(cuò)是否呼叫維護(hù)人員,1)COMMPORT(通訊端口,1) CALLPORT(呼叫端口,1)3-2 軟件的通訊協(xié)議:#MMCC 讀MM的CC通到的值MCU返回$+CC通到的值+ !#MMA 讀MM的所有值MCU返回$+MM的所有值,每個(gè)值之間以,隔開+ !#MMT 讀MM的類型MCU返回$+MM的類型,每個(gè)值之間以,隔開+ !#MML校準(zhǔn)零點(diǎn)返回$+零點(diǎn)值+ !#MMH校準(zhǔn)幅點(diǎn)返回$+幅點(diǎn)值+ !#MMF 讀MM的版本號MCU返回$+MM的版本號,每個(gè)值之間以,隔開+ !#MMO 自測試MCU返回$+MM的自測試值+ !#MMD 讀MM的日期+時(shí)間MCU返回$+XX年XX月XX日XX時(shí)XX分XX秒+ !#MMUXXXXXX 設(shè)置MM定時(shí)采集時(shí)間間隔,單位分鐘 如果XXXXXX為000000則取消定時(shí)測量MCU返回$+CC通到的值+ !#MMS 讀MM定時(shí)采集時(shí)間間隔MCU返回$XXXXXX+! 單位:分鐘#MMR 讀MM剩余存儲(chǔ)空間MCU返回$XXXXXX+! 單位:字節(jié)#MMB讀MM的存儲(chǔ)數(shù)據(jù)MCU返回$XXXXXX(數(shù)據(jù)快長度 單位:字節(jié))+數(shù)據(jù)內(nèi)容!#MMZ+XX年XX月XX日XX時(shí)XX分XX秒+ 設(shè)置MM的日期+時(shí)間MCU返回$+XX年XX月XX日XX時(shí)XX分XX秒+ !注:MM是采集??斓刂反?從0-FFCC是采集模快的通道代號,從0-8所有通信字符采用ASCII碼3-3程序流程圖Private Sub Form_Load()Me.RefreshEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)For i = 0 To 7Label114(i).ForeColor = &HC000&Next i Gauge1(g_intGaugeIndex).PointerID = 0 Gauge1(g_intGaugeIndex).PointerStart = 0 Gauge1(g_intGaugeIndex).PointerEnd = 3 Gauge1(g_intGaugeIndex).PointerID = 1 Gauge1(g_intGaugeIndex).PointerValue = 3 Gauge1(g_intGaugeIndex).Refresh Timer1.Interval = 0End SubPrivate Sub Gauge1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)Timer1.Interval = 250g_intGaugeIndex = Indexn = 0End SubDim Msg, Style, Title, Help, Ctxt, Response, MyStringMsg = 確定退出嗎?Style = vbYesNo + vbQuestion + vbDefaultButton2Title = 系統(tǒng)信息提示Response = MsgBox(Msg, Style, Title, Help, Ctxt) If Response = vbYes Then Set db = OpenDatabase(App.Path + mdbsysdata.mdb) Set dr = db.OpenRecordset(工作日志) dr.MoveLast dr.Edit dr(4) = Date dr(5) = Time dr.Update dr.Close db.Close Do Me.Height = Me.Height - 190 If Me.Height Screen.Height - 500 EndElse Cancel = True End IfEnd Selectg_intGaugeIndex = IndexLabel114(Index).ForeColor = &HFF&End Sub人工測值錄入Private Sub Command1_Click()Command1.Enabled = FalseCommand2.Enabled = FalseData1.Recordset.AddNewDTPicker1.Value = DateDTPicker2.Value = TimeMaskEdBox1.SetFocusEnd SubPrivate Sub Command2_Click()On Error Resume NextCommand2.Enabled = FalseCommand1.Enabled = FalseData1.Recordset.EditMaskEdBox1.SetFocusEnd SubPrivate Sub Command3_Click()On Error Resume NextDim Msg, Style, Title, Help, Ctxt, Response, MyStringMsg = 確實(shí)刪除該記錄?Style = vbYesNo + vbQuestion + vbDefaultButton2Title = 系統(tǒng)信息提示Response = MsgBox(Msg, Style, Title, Help, Ctxt)If Response = vbYes Then Data1.Recordset.Delete Data1.Refresh Else Cancel = TrueEnd If Data1.Recordset.MoveLastEnd Sub數(shù)據(jù)采集Sub Collect()On Error Resume NextMSComm1.PortOpen = TrueCommand5.Enabled = FalseSurvey_ID = 0Me.ShowSet dr = db.OpenRecordset(Collectiontemp)dr.MoveFirstDo While Not dr.EOF 刪除測值表 dr.Delete dr.MoveNextLoop Picture3.Visible = False 隱藏CHART表 Chart = False Command3.Enabled = FalseSet dr = db.OpenRecordset(alarmval) 刪除報(bào)警表dr.MoveFirstDo While Not dr.EOF dr.Delete dr.MoveNextLoopdb.Execute delete * from 正常臨時(shí)采集數(shù)據(jù)db.Execute delete * from 異常臨時(shí)采集數(shù)據(jù)Survey_ID1 = M_intNumberReDim Surveyinfo(M_intNumber)ReDim Ascll_Code(M_intNumber)ReDim ValueMin(M_intNumber)ReDim ValueMax(M_intNumber)ReDim R1(M_intNumber)ReDim Formual(M_intNumber)For i = 0 To M_intNumber - 1 Set dr = db.OpenRecordset(select * from 測點(diǎn)信息 where 測點(diǎn)編號= & M_strSurvey(i) & ) Surveyinfo(i) = dr(1) ValueMin(i) = dr(11) ValueMax(i) = dr(10) R1(i) = dr(8) Formual(i) = dr(16) Ascll_Code(i) = dr(4) + dr(3) dr.MoveNextNext iData1.DatabaseName = App.Path + mdbsysdata.mdbData1.RecordSource = 正常臨時(shí)采集數(shù)據(jù)Data1.RefreshData2.DatabaseName = App.Path + mdbsysdata.mdbData2.RecordSource = 異常臨時(shí)采集數(shù)據(jù)Data2.RefreshOdoMeter1.Value = 1 滾動(dòng)數(shù)字賦初值OdoMeter2.Value = M_intNumberCommand1.Enabled = FalseCommand2.Enabled = FalseCommand4.Enabled = Falseresult = FalseCall yashi(2)Timer1.Interval = 2000Timer1.Enabled = TrueMSComm1.Output = # + Ascll_Code(M_intNumber - 1) + Chr$(13)Text3.Text = Text3.Text + #0 + Ascll_Code(M_intNumber - 1) + Chr$(13)Toggle1.Visible = TrueToggle1.Value = TrueEnd Sub曲線顯示Sub Linedraw()Dim PointName As StringDim J As Integer J用于顯示加載過程Dim strTable() As String 用于裝在表名Dim intNub As Integer 如果某個(gè)因子數(shù)據(jù)為空,不用該參數(shù)程序會(huì)出錯(cuò)On Error Resume Next intNub = 0 Picture3.Visible = True Text3.Text = DTPicker1.Value Text4.Text = DTPicker2.Value Trend1.ClearAll Time1 = DTPicker2.Value Trend1.XMax = CDbl(Time1 + 12:00:00) Time1 = DTPicker1.Value Trend1.XMin = CDbl(Time1 + 12:00:00) Trend1.SetXDisplay Trend1.XMin, Trend1.XMax Combo4.Clear ReDim strTable(M_intDrawline - 1) For i = 0 To M_intDrawline - 1 用于裝在表名 Set dr = ds.OpenRecordset(select * from surveypoint where SurveyPointNo= + M_strDrawline(i) + ) strTable(i) = dr(9) Next i For i = 0 To M_intDrawline - 1 PointName = M_strDrawline(i) Set Rs = ds.OpenRecordset(select * from + strTable(i) + where SurveyPointNo= + PointName + AND ( SURVEYDATE BETWEEN # + Text3.Text + # AND # + Text4.Text + # ) ORDER BY SurveyDate ) , dbOpenDynaset) If Rs.RecordCount = 0 Then 判斷這個(gè)時(shí)段內(nèi)有沒有數(shù)據(jù) MsgBox PointName + 在這個(gè)時(shí)段內(nèi)沒有數(shù)據(jù)! GoTo aa 開始下一個(gè)因子 End If J = 0 Gauge10.PanelMax = Rs.RecordCount Gauge10.PanelMin = 0 Gauge10.Refresh Rs.MoveFirst Do While Not Rs.EOF Gauge10.BandID = 1 Gauge10.BandEnd = J Gauge10.Refresh J = J + 1 Value = Rs.Fields(PointWay) Time1 = Rs.Fields(surveydate) Trend1.AddXY intNub, CDbl(Time1 + Rs.Fields(surveyTime), Value Rs.MoveNext Loop Rs.Close Combo4.AddItem PointName 添加過程線因子名稱 intNub = intNub + 1aa:Next i Trend1.Refresh Call ledsend NumberLed2.Value = Format$(Trend1.VarMax) NumberLed2.Refresh NumberLed3.Value = Format$(Trend1.VarMin) NumberLed3.Refresh NumberLed4.Value = Format$(Trend1.VarAvg) NumberLed4.RefreshPicture3.Visible = FalseEnd SubPrivate Sub Trend1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 ThenPopupMenu toolsEnd IfEnd SubPrivate Sub Y軸設(shè)置_Click()Dim ValueMax, ValueMinDim Message, Title, Default, Message1Message = 請輸入Y軸最大值Message1 = 請輸入Y軸最小值Title = Y軸設(shè)置Default = 1ValueMax = InputBox(Message, Title, Default)Do While ValueMax = ValueMax = InputBox(Message, Title, Default)LoopValueMin = InputBox(Message1, Title, Default)Do While ValueMin = ValueMin = InputBox(Message1, Title, Default)LoopDo While ValueMax - ValueMin = 0ValueMin = InputBox(Message1, Title, Default)Loop Trend1.TrackYDisplayMax = ValueMax Trend1.TrackYMax = ValueMax Trend1.TrackYDisplayMin = ValueMin Trend1.TrackYMin = ValueMine 設(shè)置Y軸顯示數(shù)值的范圍 Trend1.RefreshEnd SubPrivate Sub 背景色彩_Click()On Error GoTo Feil With CommonDialog1 .Flags = cdlCCFullOpen .ShowColor End With Trend1.TrackID = 1 Trend1.TrackBackColor = CommonDialog1.Color Trend1.RefreshFeil: Exit SubEnd SubPrivate Sub 邊框色彩_Click()On Error GoTo Feil With CommonDialog1 .Flags = cdlCCFullOpen .ShowColor End With Trend1.BackColor = CommonDialog1.Color Trend1.RefreshFeil: Exit SubEnd Sub分布圖制作程序Sub Fbt_draw()Dim progress_name As StringDim sql As String On Error Resume Nextsqlstr = DELETE * FROM fbttemp 刪除數(shù)據(jù)庫的值 Data3數(shù)據(jù)庫綁定到DBGRIG1表Data3.Database.Execute sqlstrFor i = 0 To J - 1Set ds = db.OpenRecordset(select * from yyl where SurveyPointNo= & Fbt_point(i) & AND ( SURVEYDATE BETWEEN # & DTPicker2.Value & # AND # & DTPicker1.Value & # ) ORDER BY SurveyDate )ds.MoveLast If ds.RecordCount = 0 Then 判斷數(shù)據(jù)是否為空 MsgBox 沒有數(shù)據(jù)!, vbOKOnly, 警告! Exit Sub End Ifds.MoveFirstFbt_value(i) = ds(6)Next iPercent1.Max = ds.RecordCount 百分比設(shè)置Percent1.PortionID = 0Percent1.PortionValue = 0For i = 0 To J - 1 添加值到數(shù)據(jù)庫arr(i, 1) = Fbt_point(i)arr(i, 2) = Fbt_value(i)Data3.Recordset.AddNewData3.Recordset(0) = Fbt_point(i)Data3.Recordset(1) = Fbt_value(i)If IsNull(ds(3) = True Then MsgBox 沒有數(shù)據(jù)Data3.Recordset.Updateds.MoveNextNext i LoopMSChart1.ChartData = arr 添加值到表MSChart1.RefreshData3.RefreshDBGrid1.RefreshDBGrid1.Visible = TrueEnd Sub定時(shí)測量程序Private Sub MSComm1_OnComm()Dim RecStr As StringDim strLen As IntegerDim Value As StringDim Myval As StringSelect Case MSComm1.CommEvent Case comEvSend Case comEvReceive RecStr = MSComm1.Input Text1.Text = Text1.Text + RecStr If RecStr = Then Exit Sub End If If Left(RecStr, 1) Then RecStr = Exit Sub End If strLen = Len(RecStr) RecStr = Right(RecStr, strLen - 1) Timer1.Enabled = False If CSng(RecStr) - CSng(ValueMin(M_intNumber - 1) = 0 Then 判斷是否比最小值還低 If Survey_ID 7 Then Myval = Left(Myval, 7) End If Survey_ID = 0 Data2.Recordset.AddNew Data2.Recordset(0) = M_strSurvey(M_intNumber - 1) Data2.Recordset(1) = Date Data2.Recordset(2) = Time Data2.Recordset(3) = RecStr Text1.Text Value Data2.Recordset(4) = Myval Data2.Recordset(9) = Surveyinfo(M_intNumber - 1) Data2.Recordset(7) = 數(shù)值超過最低限制 Data2.Recordset(10) = 數(shù)值超過最低限制 Data2.Recordset.Update Data2.Refresh DBGrid1.Refresh Dr1.AddNew Dr1(0) = M_strSurvey(M_intNumber - 1) Dr1(1) = Da
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南昌市污泥固化處理工程方案
- 2025年天津市創(chuàng)佳時(shí)代科技企業(yè)管理有限公司招聘考試筆試試題(含答案)
- 2025年濟(jì)寧金鄉(xiāng)縣城鎮(zhèn)公益性崗位招聘考試筆試試題(含答案)
- 老年癡呆中醫(yī)課件
- 老年護(hù)理課件結(jié)尾
- 老年護(hù)理職業(yè)前景
- 老師的視頻課件圖片
- 老師開班會(huì)課件模板
- 老師如何開班會(huì)課件
- 餐廳裝修工程進(jìn)度與付款管理合同
- 白酒質(zhì)押貸款合同協(xié)議
- 一年級家長心理輔導(dǎo)課件
- DB50-T 1808-2025“一表通”智能報(bào)表市級業(yè)務(wù)數(shù)據(jù)規(guī)范
- 《太陽能電池片制造培訓(xùn)》課件
- 特殊飲食情況的案例討論試題及答案
- 深圳輔警考試試卷真題及答案
- 收樓驗(yàn)房知識(shí)培訓(xùn)課件
- 林草行業(yè)安全生產(chǎn)
- 防中暑課件部隊(duì)
- 《洗紅領(lǐng)巾》(教案)-2024-2025學(xué)年二年級上冊勞動(dòng)蘇科版
- 《從偶然到必然:華為研發(fā)投資與管理實(shí)踐》第1,2章試題
評論
0/150
提交評論