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

📄 module_control.cls

📁 用于控制氧乐果生产的程序
💻 CLS
📖 第 1 页 / 共 3 页
字号:
'            mvartlfKaiDu = mvartlfKaiDu + 15
'        End If
'        If (mvarfyfWenDu >= mvarfyfwdSheDingValue - 1) And _
'        (mvarfyfWenDu <= mvarfyfwdSheDingValue - 0.5) Then
''            If mvarfyfWenDuXieLv <= 0 Then
''                mvartlfKaiDu = mvartlfKaiDu + 5
''            End If
'            If mvarfyfWenDuXieLv < -0.003 Then
'                mvartlfKaiDu = mvartlfKaiDu + 5
'            End If
''            If mvarfyfWenDuXieLv < -0.01 Then
''                mvartlfKaiDu = mvartlfKaiDu + 5
''            End If
''            If mvarfyfWenDuXieLv < -0.015 Then
''                mvartlfKaiDu = mvartlfKaiDu + 5
''            End If
'            If mvarfyfWenDuXieLv > 0.005 Then
'                mvartlfKaiDu = mvartlfKaiDu - 5
'            End If
'            If mvarfyfWenDuXieLv > 0.008 Then
'                mvartlfKaiDu = mvartlfKaiDu - 5
'            End If
'            If mvarfyfWenDuXieLv > 0.012 Then
'                mvartlfKaiDu = 0
'            End If
'        End If
'        If (mvarfyfWenDu > mvarfyfwdSheDingValue - 0.5) And _
'        (mvarfyfWenDu <= mvarfyfwdSheDingValue) Then
'            If mvarfyfWenDuXieLv < 0 Then
'                mvartlfKaiDu = mvartlfKaiDu + 5
'            End If
''            If mvarfyfWenDuXieLv < -0.003 Then
''                mvartlfKaiDu = mvartlfKaiDu + 5
''            End If
''            If mvarfyfWenDuXieLv < -0.005 Then
''                mvartlfKaiDu = mvartlfKaiDu + 5
''            End If
''            If mvarfyfWenDuXieLv < -0.008 Then
''                mvartlfKaiDu = mvartlfKaiDu + 5
''            End If
''            If mvarfyfWenDuXieLv < -0.01 Then
''                mvartlfKaiDu = mvartlfKaiDu + 5
''            End If
'            If mvarfyfWenDuXieLv > 0.003 Then
'                mvartlfKaiDu = mvartlfKaiDu - 10
'            End If
'            If mvarfyfWenDuXieLv > 0.005 Then
'                mvartlfKaiDu = mvartlfKaiDu - 5
'            End If
'            If mvarfyfWenDuXieLv > 0.008 Then
'                mvartlfKaiDu = mvartlfKaiDu - 5
'            End If
'            If mvarfyfWenDuXieLv > 0.01 Then
'                mvartlfKaiDu = mvartlfKaiDu - 5
'            End If
'            If mvarfyfWenDuXieLv > 0.012 Then
'                mvartlfKaiDu = 0
'            End If
'        End If
'        If (mvarfyfWenDu > mvarfyfwdSheDingValue) Then
'            mvartlfKaiDu = 0
'        End If
'    End If
'End If
'****************
'最终的开度输出
'****************
If mvartlfKaiDu < 0 Then mvartlfKaiDu = 0
If mvartlfKaiDu > 100 Then mvartlfKaiDu = 100
Call A_out(mvarBaseAddress, mvartlfChannel, mvartlfKaiDu, 0)
'//////////////////////////////////////////////////////
'以上为专家系统控制算法
'//////////////////////////////////////////////////////
End Sub
'********************
'反应釜号
'********************
Public Property Let fyfNum(ByVal vData As Integer)
    mvarfyfNum = vData
End Property
Public Property Get fyfNum() As Integer
    fyfNum = mvarfyfNum
End Property
'********************
'计量罐直径
'********************
Public Property Let jlgZhiJing(ByVal vData As Single)
    mvarjlgZhiJing = vData
End Property
Public Property Get jlgZhiJing() As Single
    jlgZhiJing = mvarjlgZhiJing
End Property
'********************
'一甲胺密度
'********************
Public Property Let yjaMiDu(ByVal vData As Single)
    mvaryjaMiDu = vData
End Property
Public Property Get yjaMiDu() As Single
    yjaMiDu = mvaryjaMiDu
End Property
'********************
'一甲胺投料量
'********************
Public Property Let yjatlLiang(ByVal vData As Single)
    mvaryjatlLiang = vData
End Property
Public Property Get yjatlLiang() As Single
    yjatlLiang = mvaryjatlLiang
End Property
'********************
'工作状态
'********************
Public Property Let WorkState(ByVal vData As Boolean)
    mvarWorkState = vData
End Property

Public Property Get WorkState() As Boolean
    WorkState = mvarWorkState
End Property
'*******************
'计量罐结束液位
'*******************
Public Property Let jlgjsYeWei(ByVal vData As Single)
mvarjlgjsYeWei = vData
If mvarjlgjsYeWei > mvarAlarmDown Then RaiseEvent yjaNotEnoughAlarm
End Property
Public Property Get jlgjsYeWei() As Single
jlgjsYeWei = mvarjlgjsYeWei
End Property
'*******************
'液位报警下限
'*******************
Public Property Let jlgAlarmDown(ByVal vData As Single)
    mvarAlarmDown = vData
End Property
Public Property Get jlgAlarmDown() As Single
    jlgcsYeWei = mvarAlarmDown
End Property
'*******************
'计量罐初始液位
'*******************
Public Property Let jlgcsYeWei(ByVal vData As Single)
    mvarjlgcsYeWei = vData
End Property
Public Property Get jlgcsYeWei() As Single
    jlgcsYeWei = mvarjlgcsYeWei
End Property
'*******************
'液位提前量
'*******************
Public Property Let jlgjsYeWei_TiQianLiang(ByVal vData As Single)
    mvarjlgjsYeWei_TiQianLiang = vData
End Property

Public Property Get jlgjsYeWei_TiQianLiang() As Single
    jlgjsYeWei_TiQianLiang = mvarjlgjsYeWei_TiQianLiang
End Property
'*******************
'冷却盐水温度
'*******************
Public Property Let lqysWenDu(ByVal vData As Single)
    mvarlqysWenDu = vData
End Property

Public Property Get lqysWenDu() As Single
    lqysWenDu = mvarlqysWenDu
End Property
'*******************
'一甲胺流量
'*******************
Public Property Let yjaLiuLiang(ByVal vData As Single)
    mvaryjaLiuLiang = vData
End Property

Public Property Get yjaLiuLiang() As Single
    yjaLiuLiang = mvaryjaLiuLiang
End Property
'*******************
'投料阀开度
'*******************
Public Property Let tlfaKaiDu(ByVal vData As Single)
    mvartlfKaiDu = vData
End Property

Public Property Get tlfaKaiDu() As Single
    tlfaKaiDu = mvartlfKaiDu
End Property
'*******************
'计量罐液位
'*******************
Public Property Let jlgYeWei(ByVal vData As Single)
    mvarjlgYeWei = vData
    mvaryjaYiYongLiang = mvarjlgYeWei - mvarjlgcsYeWei
    mvaryjaShengYuLiang = mvarjlgjsYeWei - mvarjlgYeWei
End Property

Public Property Get jlgYeWei() As Single
    jlgYeWei = mvarjlgYeWei
End Property
'*******************
'反应釜温度
'*******************
Public Property Let fyfWenDu(ByVal vData As Single)
    mvarfyfWenDu = vData
End Property

Public Property Get fyfWenDu() As Single
    fyfWenDu = mvarfyfWenDu
End Property
'*******************
'计数器
'*******************
Public Property Let Counter(ByVal vData As Single)
    mvarCounter = vData
End Property

Public Property Get Counter() As Single
    Counter = mvarCounter
End Property
'************************
'反应釜温度上升斜率
'************************
Public Property Let fyfWenDuXieLv(ByVal vData As Single)
    mvarfyfWenDuXieLv = vData
End Property
Public Property Get fyfWenDuXieLv() As Single
    fyfWenDuXieLv = mvarfyfWenDuXieLv
End Property
'*******************
'反应釜温度设定值
'*******************
Public Property Let fyfwdSheDingValue(ByVal vData As Single)
    mvarfyfwdSheDingValue = vData
End Property

Public Property Get fyfwdSheDingValue() As Single
    fyfwdSheDingValue = mvarfyfwdSheDingValue
End Property
'*******************
'反应釜温度曲线拐点
'*******************
Public Property Let fyfwdChartGuaiDian(ByVal vData As Single)
    mvarwdChartGuaiDian = vData
End Property

Public Property Get fyfwdChartGuaiDian() As Single
    fyfwdChartGuaiDian = mvarwdChartGuaiDian
End Property
'***********************
'投料阀开度(输出)基地址
'***********************
Public Property Let tlfBaseAddress(ByVal vData As Integer)
    mvarBaseAddress = vData
End Property

Public Property Get tlfBaseAddress() As Integer
    tlfBaseAddress = mvarBaseAddress
End Property
'***********************
'投料阀开度(输出)通道号
'***********************
Public Property Let tlfChannel(ByVal vData As Integer)
    mvartlfChannel = vData
End Property
Public Property Get tlfChannel() As Integer
    tlfChannel = mvartlfChannel
End Property

Private Sub Class_Initialize()
mvarWorkState = False
End Sub
'***********************
'一甲胺已用量(只读)
'***********************
'Public Property Let yjaYiYongLiang(ByVal vData As Single)
'    mvaryjaYiYongLiang = vData
'End Property
Public Property Get yjaYiYongLiang() As Single
    yjaYiYongLiang = mvaryjaYiYongLiang
    If mvaryjaYiYongLiang0 <= 50 And mvaryjaYiYongLiang >= 50 Then
        mvarfyf50KgWenDu = mvarfyfWenDu
        mvartl50KgTime = mvarCounter
        mvarIncreaseXieLv = (mvarfyfwdSheDingValue - 2 - mvarfyf50KgWenDu) / _
          (mvarwdChartGuaiDian - mvartl50KgTime)
    End If
    mvaryjaYiYongLiang0 = mvaryjaYiYongLiang
End Property
'***********************
'一甲胺剩余量(只读)
'***********************
'Public Property Let yjaShengYuLiang(ByVal vData As Single)
'    mvaryjaShengYuLiang = vData
'End Property
Public Property Get yjaShengYuLiang() As Single
    yjaShengYuLiang = mvaryjaShengYuLiang
End Property

'***********************
'投料阀初始开度
'***********************
Public Property Let tlfStartKaiDu(ByVal vData As Single)
    mvartlfStartKaiDu = vData
End Property
Public Property Get tlfStartKaiDu() As Single
    tlfStartKaiDu = mvartlfStartKaiDu
End Property

'***********************
'投料70Kg左右投料阀开度
'***********************
Public Property Let tlf70KgKaiDu(ByVal vData As Single)
    mvartlf70KgKaiDu = vData
End Property
Public Property Get tlf70KgKaiDu() As Single
    tlf70KgKaiDu = mvartlf70KgKaiDu
End Property
'*************************
'温度走平第一段时投料阀开度
'*************************
Public Property Let tlfHorizon1KaiDu(ByVal vData As Single)
    mvartlfHorizon1KaiDu = vData
End Property
Public Property Get tlfHorizon1KaiDu() As Single
    tlfHorizon1KaiDu = mvartlfHorizon1KaiDu
End Property
'*************************
'温度走平第二段时投料阀开度
'*************************
Public Property Let tlfHorizon2KaiDu(ByVal vData As Single)
    mvartlfHorizon2KaiDu = vData
End Property
Public Property Get tlfHorizon2KaiDu() As Single
    tlfHorizon2KaiDu = mvartlfHorizon2KaiDu
End Property
'*****************************
'投料还剩少于60Kg左右投料阀开度
'*****************************
Public Property Let tlfLeft60KgKaiDu(ByVal vData As Single)
    mvartlfLeft60KgKaiDu = vData
End Property
Public Property Get tlfLeft60KgKaiDu() As Single
    tlfLeft60KgKaiDu = mvartlfLeft60KgKaiDu
End Property

⌨️ 快捷键说明

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