⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmshow.frm

📁 气体流动仪控制软件 属于工业控制软件 delphi开发
💻 FRM
📖 第 1 页 / 共 3 页
字号:
'Lab_Hy.Caption = getdigit(Getvol(2), 3)
'HY = Lab_Hy.Caption
'
'=========行程保护==========
'Sxc = getdigit(Getvol(3), 3)
'If Sxc > 3 Then
'   Set_hy 0
'   MsgBox "环压泵行程上限!"
'   Exit Sub
'End If
'Xxc = getdigit(Getvol(4), 3)
'If Xxc > 3 Then
'   Set_hy 0
'   MsgBox "环压行程下限!"
'   Exit Sub
'End If
'
R = 1000
'If R < 7 Or R > 2000 Then MsgBox "设置参数无效!请重新输入参数!"

DCF(3) = 1
vbOut CardbaseA, CalcBin(DCF)
DoEvents
DoEvents
Set_hy R



End Sub

Private Sub Command2_Click()
Set_hy 0
End Sub

Private Sub Command5_Click()
Label6.Visible = False
HYC = Txt_Hyc.Text
'T_HY.Enabled = True
T_show1.Enabled = False

Cmd_Begin.Enabled = True
Frame1.Enabled = False
Label8.Visible = True
End Sub

Private Sub Form_Load()
On Error GoTo ExitPoint
    
    
    vbOut CardbaseB + 6, &HD

    vbOut CardbaseA, 0
    vbOut CardbaseA + 1, 0

    
    Cd.CancelError = True
    Cd.filename = Date & "相渗测定"
    Cd.ShowSave
    SaveFile = Cd.filename
    
    
    
    Set SaveCon = New ADODB.Connection
    Set SaveRst = New ADODB.Recordset
    
    If Len(Dir(SaveFile)) < 4 Then
        FileCopy getfullpath(App.path & "\1.txt") & "相渗测定.mdb", SaveFile
    End If
    
   
    SaveCon.Open "driver={Microsoft Access Driver (*.mdb)};" & "Dbq=" & SaveFile & ";"
    SaveRst.Open "select * from 表1", SaveCon, adOpenKeyset, adLockPessimistic, adCmdText
    
    Exit Sub
ExitPoint:
    MsgBox "出错:" & Err.Description, vbInformation, "提示:"
    
    
    
    
    


End Sub

Private Sub Lab_Df11_Click()
If Line1(0).Visible = True Then
    Line1(0).Visible = False
    Line2(0).Visible = False
    Line1(1).Visible = True
    Line2(3).Visible = True
    DCF(1) = 1
    vbOut CardbaseA, CalcBin(DCF)
    delay 1
Else
    Line1(0).Visible = True
    Line2(0).Visible = True
    Line1(1).Visible = False
    Line2(3).Visible = False
    DCF(1) = 0
    vbOut CardbaseA, CalcBin(DCF)
    delay 1
End If

End Sub

Private Sub Lab_Df12_Click()
    
If Line1(0).Visible = True Then
    Line1(0).Visible = False
    Line2(0).Visible = False
    Line1(1).Visible = True
    Line2(3).Visible = True
    DCF(1) = 1
    vbOut CardbaseA, CalcBin(DCF)

    delay 1
Else
    Line1(0).Visible = True
    Line2(0).Visible = True
    Line1(1).Visible = False
    Line2(3).Visible = False
    DCF(1) = 0
    vbOut CardbaseA, CalcBin(DCF)

    delay 1
End If

End Sub

Private Sub Lab_Df21_Click()
If Line1(3).Visible = True Then
    Line1(3).Visible = False
    Line2(1).Visible = False
    Line1(2).Visible = True
    Line2(2).Visible = True
    DCF(0) = 1
    vbOut CardbaseA, CalcBin(DCF)
    delay 1
Else
    Line1(3).Visible = True
    Line2(1).Visible = True
    Line1(2).Visible = False
    Line2(2).Visible = False
    DCF(0) = 0
    vbOut CardbaseA, CalcBin(DCF)
    delay 1
End If

End Sub

Private Sub Lab_Df22_Click()
If Line1(3).Visible = True Then
    Line1(3).Visible = False
    Line2(1).Visible = False
    Line1(2).Visible = True
    Line2(2).Visible = True
    DCF(0) = 1
    vbOut CardbaseA, CalcBin(DCF)
    delay 1
Else
    Line1(3).Visible = True
    Line2(1).Visible = True
    Line1(2).Visible = False
    Line2(2).Visible = False
    DCF(0) = 0
    vbOut CardbaseA, CalcBin(DCF)
    delay 1
End If

End Sub

 

 

 

Private Sub T_HY_Timer()

Dim Gzyl As Double '环压跟踪压力

If Opt_Qtb2.Value = True Then
   Gzyl = JKYL1
Else
Gzyl = JKYL
End If


Dim tmpA As Double, TmpB As Double, TmpVal As Double
Dim TmpV As Double
Dim bh As Double

'行程保护=====================
TmpV = getdigit(Getvol(3), 3)
If TmpV > 3 Then '上限
    Set_hy 0
    Exit Sub
End If

TmpV = getdigit(Getvol(4), 3)
If TmpV > 3 Then '下限
    Set_hy 0
    Exit Sub
End If



'=============================

TmpB = HY '当前
tmpA = HYC + Gzyl '设置
If Abs(tmpA - TmpB) < 0.3 Then '压力差距不大,停
    Set_hy 0
    Exit Sub
End If

TmpVal = Abs((tmpA - TmpB)) / tmpA '根据差值来调整流速
If tmpA - TmpB > 0 Then '进
DCF(3) = 1 '进信号

vbOut CardbaseA, CalcBin(DCF)
DoEvents: DoEvents
DoEvents
Set_hy 300
DoEvents
'bh = Int(30 * TmpVal)
'If bh > 30 Then bh = 30
'If bh < 7 Then bh = 7

'Set_hy bh 'Int(200 * TmpVal) '修改2000为500等其他数值
Exit Sub
End If


If tmpA - TmpB < 0 Then '退
DCF(3) = 0 '退信号


vbOut CardbaseA, CalcBin(DCF)
DoEvents: DoEvents
DoEvents
Set_hy 300
'bh = Int(30 * TmpVal)
'If bh > 30 Then bh = 30
'If bh < 7 Then bh = 7
'Set_hy bh 'Int(200 * TmpVal) '----------

Exit Sub
End If



End Sub

Private Sub T_save_Timer()
Static TmpCount As Integer
TmpCount = TmpCount + 1
If TmpCount * 0.5 < QYZQ Then Exit Sub ''每隔取样周期才保存一次数据
TmpCount = 0
''保存数据
SaveZl = Abs(TmpZl - PreZl)
PreZl = TmpZl

''TimeSpan = Int(Abs((PreTime - Timer)) / 60 + 0.5)
TimeSpan = (Int(Abs((PreTime - Timer)) / 6 + 0.5)) / 10 ''时间间隔可以保留一位小数

PreTime = Timer
'KXTJBS = getdigit((SaveZl / JZMD) / Kxtj, 2)
'TmpQ = (SaveZl / JZMD) / (QYZQ * 60) ''流量计算单位mL/s
'STL = GetStl(TmpQ, TmpPi)
'lbl_q = getdigit(TmpQ * 60, 3) ''显示流量单位:mL/min
'lbl_stl = Valid(STL, 3) '改为3位有效数字getdigit(STL, 3)
Saveresult

'If DateDiff("n", StartTime, Time) >= SYSJ * 60 Then cmd_stop_Click ''到达实验时间时停止实验

End Sub

Private Sub T_show_Timer()
Dim i As String
Dim aaa As Double

i = MSC_Tp.Input

Tp = getno(i)
Lab_Tp.Caption = Tp

WD = GetT(1)
Lab_Wd.Caption = WD

If Opt_Cy.Value = True Then CY = getdigit(Getvol(0), 3) * 3 / 5
If CY < 0 Then CY = 0
If Opt_Cy.Value = True Then Lab_Cy.Caption = CY

If Opt_Cy1.Value = True Then CY1 = getdigit(Getvol(1), 3) * 0.8 / 5
If CY1 < 0 Then CY1 = 0
If Opt_Cy1.Value = True Then Lab_Cy.Caption = CY1

HY = getdigit(Getvol(2), 3) * 70 / 5
If HY < 0 Then HY = 0
Lab_Hy.Caption = HY
Lab_Qyzq.Caption = QYZQ
End Sub

Private Sub T_show1_Timer()
HY = getdigit(Getvol(2), 3) * 70 / 5
Lab_Hy.Caption = HY
'
'=========行程保护==========
Sxc = getdigit(Getvol(3), 3)
If Sxc > 3 Then
   Set_hy 0
   MsgBox "环压泵行程上限!"
   Exit Sub
End If
Xxc = getdigit(Getvol(4), 3)
If Xxc > 3 Then
   Set_hy 0
   MsgBox "环压行程下限!"
   Exit Sub
End If

End Sub

Private Sub Timer1_Timer()
Dim tmpstr As String, tmplen As Integer
Dim tmpstr2 As String
Dim Fs As String
Dim Js As String

HYFlag = HYFlag + 1

Select Case (HYFlag Mod 2)
Case 0
    Fs = "PRESSC"
    HYFlag = 0
    MSC_Qtb.Output = Chr(&HD) '"CR"
    tmplen = Len(Fs) 'Text2.Text)
    tmpstr2 = Hex(tmplen)
    If tmplen < 16 Then tmpstr2 = "0" & tmpstr2
    tmpstr = "1R0" & tmpstr2 & Fs & getcheck("1R0" & tmpstr2 & Fs) 'Text2.Text)'Text2.Text
    MSC_Qtb.Output = tmpstr  '"1R009FLOW=6.00AB" '"1R 5D" 'Chr(&HD) & "R"
    MSC_Qtb.Output = Chr(&HD) '"CR"
    
    Js = Right(MSC_Qtb.Input, 9)
    Js = Left(Js, 6)
    JKYL = Val(Js) / 1000
    Lab_Jkyl.Caption = JKYL '& "  KPa"
Case 1
    Fs = "PRESS"
    MSC_Qtb.Output = Chr(&HD) '"CR"
    tmplen = Len(Fs) 'Text2.Text)
    tmpstr2 = Hex(tmplen)
    If tmplen < 16 Then tmpstr2 = "0" & tmpstr2
    tmpstr = "1R0" & tmpstr2 & Fs & getcheck("1R0" & tmpstr2 & Fs) 'Text2.Text)'Text2.Text
    MSC_Qtb.Output = tmpstr  '"1R009FLOW=6.00AB" '"1R 5D" 'Chr(&HD) & "R"
    MSC_Qtb.Output = Chr(&HD) '"CR"
    
    Js = Right(MSC_Qtb.Input, 9)
    Js = Left(Js, 6)
    CKYL = Val(Js) / 1000
    Lab_Ckyl.Caption = CKYL '& "  KPa"
'Case 2
'    Fs = "PRESSB"
'    MSC_Qtb.Output = Chr(&HD) '"CR"
'    tmplen = Len(Fs) 'Text2.Text)
'    tmpstr2 = Hex(tmplen)
'    If tmplen < 16 Then tmpstr2 = "0" & tmpstr2
'    tmpstr = "1R0" & tmpstr2 & Fs & getcheck("1R0" & tmpstr2 & Fs) 'Text2.Text)'Text2.Text
'    MSC_Qtb.Output = tmpstr  '"1R009FLOW=6.00AB" '"1R 5D" 'Chr(&HD) & "R"
'    MSC_Qtb.Output = Chr(&HD) '"CR"
'
'    Js = Right(MSC_Qtb.Input, 9)
'    Js = Left(Js, 6)
'    If Val(Js) / 1000 > JKYL Then JKYL = Val(Js) / 1000
'
'    Lab_Jkylb.Caption = Val(Js) / 1000
End Select

End Sub
Function getcheck(tmpstr As String) As String
Dim sum As Integer, csum As Integer
Dim i As Integer
For i = 1 To Len(tmpstr)
sum = sum + Asc(Mid(tmpstr, i, 1))
Next i
csum = (256 - sum) And 255
getcheck = Hex(csum)
If csum < 16 Then getcheck = "0" & getcheck


End Function

Private Sub Timer2_Timer()
Dim tmpstr As String, tmplen As Integer
Dim tmpstr2 As String
Dim Fs As String
Dim Js As String

Fs = "PRESSA"

MSC_Qtb1.Output = Chr(&HD) '"CR"
tmplen = Len(Fs) 'Text2.Text)
tmpstr2 = Hex(tmplen)
If tmplen < 16 Then tmpstr2 = "0" & tmpstr2
tmpstr = "1R0" & tmpstr2 & Fs & getcheck("1R0" & tmpstr2 & Fs) 'Text2.Text)'Text2.Text
MSC_Qtb1.Output = tmpstr  '"1R009FLOW=6.00AB" '"1R 5D" 'Chr(&HD) & "R"
MSC_Qtb1.Output = Chr(&HD) '"CR"

Js = Right(MSC_Qtb1.Input, 9)
Js = Left(Js, 6)
JKYL1 = Val(Js) / 1000
Lab_JKYL1.Caption = JKYL1 '& "  KPa"

End Sub


Private Sub Saveresult() ''记录

SaveRst.AddNew
    With SaveRst
        
        .Fields!取样地区 = QYDQ
        .Fields!岩样井号 = YYJH '
        .Fields!岩样编号 = YPH
        .Fields!岩样特性 = YYTX
        .Fields!岩芯直径 = YXZJ
        .Fields!岩芯长度 = YXCD
        .Fields!孔隙度 = KXD
        .Fields!取样周期 = QYZQ
        
        .Fields!实验方法 = SYFF
        .Fields!大气压 = P0
        .Fields!岩样干重量 = YYGZ
        .Fields!饱和样品重量 = BHZL
        .Fields!饱和介质 = BHJZ
        .Fields!饱和介质粘度 = BHND
        .Fields!饱和介质密度 = BHMD
        .Fields!饱和介质矿化度 = BHKHD
        
        .Fields!驱替介质 = QTJZ
        .Fields!驱替介质粘度 = QTND
        .Fields!驱替介质密度 = QTMD
        
        .Fields!驱替压力 = JKYL
        .Fields!驱替压力1 = JKYL1
        .Fields!差压大 = CY
        .Fields!差压小 = CY1
        .Fields!回压 = CKYL
        .Fields!环压 = HY
        .Fields!实验温度 = WD
        .Fields!天平数值 = Tp
        
        .Fields!实验时间 = time 'Format(Date, "yyyy-mm-dd")
        
        .Fields!实验日期 = Date
        '.Fields!气相流量小Qg3 = Qg3 'CKYL
        
        '.Fields!流量 = getdigit(TmpQ * 60, 3) ''流量保存单位:mL/min
        '.Fields!渗透率 = Valid(STL, 3) ''getdigit(stl,3)改为3位有效数字
        '.Fields!流体质量 = SaveZl
        '.Fields!孔隙体积倍数 = KXTJBS
        'If CSXM = "体积流量敏感测试" Then .Fields!备注字段 = KXTJBS
        'If CSXM = "压敏" Then .Fields!备注字段 = HY - TmpPi
    End With
    TotalTime = TotalTime + TimeSpan
SaveRst.Update
'lbl_showtimes.Caption = CInt(lbl_showtimes.Caption) + 1
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -