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

📄 module_control.cls

📁 用于控制氧乐果生产的程序
💻 CLS
📖 第 1 页 / 共 3 页
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
END
Attribute VB_Name = "module_control"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
'*************************
'类属性,局部变量保存属性值
'*************************
Private mvarfyfWenDu As Single '本地复本
Private mvarfyfwdSheDingValue As Single
Private mvarjlgYeWei As Single '本地复本
Private mvartlfKaiDu As Single '本地复本
Private mvaryjaLiuLiang As Single '本地复本
Private mvarlqysWenDu As Single '本地复本
Private mvarjlgcsYeWei As Single '本地复本
Private mvarjlgjsYeWei As Single '本地复本
Private mvarWorkState As Boolean '本地复本
Private mvaryjatlLiang As Single '本地复本
Private mvaryjaMiDu As Single '本地复本
Private mvarjlgZhiJing As Single '本地复本
Private mvaryjaYiYongLiang As Single
Private mvaryjaShengYuLiang As Single
Private mvarfyfNum As Integer
Private mvarfyfWenDuXieLv As Single
Private mvarCounter As Single
Private mvarwdChartGuaiDian As Single

Private mvaryjaYiYongLiang0 As Single
Private mvarfyf50KgWenDu As Single
Private mvartl50KgTime As Single
Private mvarIncreaseXieLv As Single

Private mvartlfStartKaiDu As Single
Private mvartlf70KgKaiDu As Single
Private mvartlfHorizon1KaiDu As Single
Private mvartlfHorizon2KaiDu As Single
Private mvartlfLeft60KgKaiDu As Single

Private mvarAlarmDown As Single
Private mvarMassInHeight As Single
Private mvarHeightInMass As Single
Private mvarjlgjsYeWei_TiQianLiang As Single '本地复本
Private mvarBaseAddress As Integer
Private mvartlfChannel As Integer
'**********************
'事件
'**********************
Public Event yjaNotEnoughAlarm()
'**********************
'控制
'**********************
Public Sub Control()
'//////////////////////////////////////////////////////
'以下为专家系统控制算法
'//////////////////////////////////////////////////////
'当选用其中一种算法时,请注释其它任何算法
'**********************************
'算法1:以温度分段,综合考虑投料量
'**********************************
'If mvarfyfWenDu < -35 Then
'    mvartlfKaiDu = mvartlfStartKaiDu + 12
'End If
'
'If (mvarfyfWenDu >= -35) And (mvarfyfWenDu < -28) Then
'    mvartlfKaiDu = mvartlfStartKaiDu + 10
'End If
'
'If (mvarfyfWenDu >= -28) And (mvarfyfWenDu < -25) Then
'    mvartlfKaiDu = mvartlfStartKaiDu + 8
'End If
'
'If (mvarfyfWenDu >= -25) And (mvarfyfWenDu < -23) Then
'    mvartlfKaiDu = mvartlfStartKaiDu + 5
'End If
'
'If (mvarfyfWenDu >= -23) And (mvarfyfWenDu < mvarfyfwdSheDingValue - 6) Then
'    mvartlfKaiDu = mvartlfStartKaiDu
'End If
'
'If (mvarfyfWenDu >= mvarfyfwdSheDingValue - 6) And (mvarfyfWenDu < mvarfyfwdSheDingValue - 3) Then
'    If mvaryjaYiYongLiang < 60 Then
'        mvartlfKaiDu = mvartlfStartKaiDu
'    End If
'    If (mvaryjaYiYongLiang >= 60) And (mvaryjaYiYongLiang <= 90) Then
'        If mvarfyfWenDuXieLv <= 0.015 Then
'            mvartlfKaiDu = mvartlf70KgKaiDu
'        Else
'            mvartlfKaiDu = mvartlfKaiDu - 10
'        End If
'    End If
'    If (mvaryjaYiYongLiang > 90) Then
'        mvartlfKaiDu = mvartlfHorizon1KaiDu
'    End If
'End If
'
'If (mvarfyfWenDu >= mvarfyfwdSheDingValue - 3) And (mvarfyfWenDu < mvarfyfwdSheDingValue - 1) Then
'    If (mvaryjaYiYongLiang >= 90) And (mvaryjaYiYongLiang < 150) Then
'        mvartlfKaiDu = mvartlfHorizon1KaiDu
'    End If
'    If (mvaryjaYiYongLiang >= 150) And (mvaryjaShengYuLiang > 50) Then
'        mvartlfKaiDu = mvartlfHorizon2KaiDu
'    End If
'    If mvaryjaShengYuLiang <= 50 Then
'        mvartlfKaiDu = mvartlfLeft60KgKaiDu
'    End If
'    If mvarfyfWenDuXieLv > 0.018 Then
'        mvartlfKaiDu = mvartlfKaiDu - 20
'    End If
'    If mvarfyfWenDuXieLv > 0.02 Then
'        mvartlfKaiDu = 0
'    End If
'    If mvarfyfWenDuXieLv < 0 Then
'        mvartlfKaiDu = mvartlfKaiDu + 10
'    End If
'    If mvarfyfWenDuXieLv < -0.005 Then
'        mvartlfKaiDu = mvartlfKaiDu + 10
'    End If
'    If mvaryjaShengYuLiang > 50 And mvaryjaYiYongLiang > 120 Then
'        If mvartlfKaiDu > 60 Then
'            mvartlfKaiDu = 60
'        End If
'    End If
'End If
'
'If (mvarfyfWenDu >= mvarfyfwdSheDingValue - 1) And (mvarfyfWenDu < mvarfyfwdSheDingValue) Then
'    If mvaryjaShengYuLiang < 50 Then
'        mvartlfKaiDu = mvartlfLeft60KgKaiDu
'    End If
'    If mvarfyfWenDuXieLv > 0 Then
'        mvartlfKaiDu = mvartlfKaiDu - 15
'    End If
'    If mvarfyfWenDuXieLv > 0.005 Then
'        mvartlfKaiDu = 0
'    End If
'    If mvarfyfWenDuXieLv < 0 Then
'        mvartlfKaiDu = mvartlfKaiDu + 10
'    End If
'    If mvarfyfWenDuXieLv < -0.005 Then
'        mvartlfKaiDu = mvartlfKaiDu + 8
'    End If
'    If mvaryjaShengYuLiang > 50 And mvaryjaYiYongLiang > 120 Then
'        If mvartlfKaiDu > 40 Then
'            mvartlfKaiDu = 40
'        End If
'    End If
'End If
'
'If (mvarfyfWenDu >= mvarfyfwdSheDingValue) Then
'    mvartlfKaiDu = 0
'End If
'***********************************************
'算法1-1(算法1的改进):以温度分段,综合考虑投料量
'***********************************************
If mvarfyfWenDu < -35 Then
    mvartlfKaiDu = mvartlfStartKaiDu + 12
End If

If (mvarfyfWenDu >= -35) And (mvarfyfWenDu < -28) Then
    mvartlfKaiDu = mvartlfStartKaiDu + 10
End If

If (mvarfyfWenDu >= -28) And (mvarfyfWenDu < -25) Then
    mvartlfKaiDu = mvartlfStartKaiDu + 8
End If

If (mvarfyfWenDu >= -25) And (mvarfyfWenDu < -23) Then
    mvartlfKaiDu = mvartlfStartKaiDu + 5
End If

If (mvarfyfWenDu >= -23) And (mvarfyfWenDu < mvarfyfwdSheDingValue - 6) Then
    mvartlfKaiDu = mvartlfStartKaiDu
    If mvaryjaShengYuLiang < 50 Then
        mvartlfKaiDu = mvartlfLeft60KgKaiDu
    End If
End If

If (mvarfyfWenDu >= mvarfyfwdSheDingValue - 6) And (mvarfyfWenDu < mvarfyfwdSheDingValue - 3) Then
    If mvaryjaYiYongLiang < 60 Then
        mvartlfKaiDu = mvartlfStartKaiDu
    End If
    If (mvaryjaYiYongLiang >= 60) And (mvaryjaYiYongLiang <= 90) Then
        If mvarfyfWenDuXieLv <= 0.015 Then
            mvartlfKaiDu = mvartlf70KgKaiDu
        Else
            mvartlfKaiDu = mvartlfKaiDu - 10
        End If
    End If
    If (mvaryjaYiYongLiang > 90) Then
        mvartlfKaiDu = mvartlfHorizon1KaiDu
    End If
    If mvaryjaShengYuLiang < 50 Then
        mvartlfKaiDu = mvartlfLeft60KgKaiDu
    End If
End If

If (mvarfyfWenDu >= mvarfyfwdSheDingValue - 3) And (mvarfyfWenDu < mvarfyfwdSheDingValue - 1) Then
    If (mvaryjaYiYongLiang >= 90) And (mvaryjaYiYongLiang < 150) Then
        mvartlfKaiDu = mvartlfHorizon1KaiDu
    End If
    If (mvaryjaYiYongLiang >= 150) And (mvaryjaShengYuLiang > 50) Then
        mvartlfKaiDu = mvartlfHorizon2KaiDu
    End If
    If mvaryjaShengYuLiang <= 50 Then
        mvartlfKaiDu = mvartlfLeft60KgKaiDu
    End If
    If mvarfyfWenDuXieLv > 0.018 Then
        mvartlfKaiDu = mvartlfKaiDu - 20
    End If
    If mvarfyfWenDuXieLv > 0.02 Then
        mvartlfKaiDu = 0
    End If
    If mvarfyfWenDuXieLv < 0 Then
        mvartlfKaiDu = mvartlfKaiDu + 10
    End If
    If mvarfyfWenDuXieLv < -0.005 Then
        mvartlfKaiDu = mvartlfKaiDu + 10
    End If
    If mvaryjaShengYuLiang > 50 And mvaryjaYiYongLiang > 120 Then
        If mvartlfKaiDu > 60 Then
            mvartlfKaiDu = 60
        End If
    End If
End If

If (mvarfyfWenDu >= mvarfyfwdSheDingValue - 1) And (mvarfyfWenDu < mvarfyfwdSheDingValue) Then
    If mvaryjaShengYuLiang < 50 Then
        mvartlfKaiDu = mvartlfLeft60KgKaiDu
    End If
    If mvarfyfWenDuXieLv > 0 Then
        mvartlfKaiDu = mvartlfKaiDu - 10
    End If
    If mvarfyfWenDuXieLv > 0.005 Then
        mvartlfKaiDu = mvartlfKaiDu - 15
    End If
    If mvarfyfWenDuXieLv > 0.01 Then
        mvartlfKaiDu = 0
    End If
    If mvarfyfWenDuXieLv < 0 Then
        mvartlfKaiDu = mvartlfKaiDu + 10
    End If
    If mvarfyfWenDuXieLv < -0.005 Then
        mvartlfKaiDu = mvartlfKaiDu + 8
    End If
    If mvaryjaShengYuLiang > 50 And mvaryjaYiYongLiang > 120 Then
        If mvartlfKaiDu > 40 Then
            mvartlfKaiDu = 40
        End If
    End If
End If
If mvaryjaYiYongLiang <= 80 Then
    If mvarfyfWenDuXieLv < -0.005 Then
        mvartlfKaiDu = mvartlfKaiDu + 8
    End If
    If mvarfyfWenDuXieLv < -0.01 Then
        mvartlfKaiDu = mvartlfKaiDu + 10
    End If
End If

If mvaryjaYiYongLiang >= 130 Then
    If mvarfyfwedu <= mvarfyfwdSheDingValue - 2 Then
        mvartlfKaiDu = mvartlfKaiDu + 8
    End If
    If mvarfyfwedu <= mvarfyfwdSheDingValue - 3 Then
        mvartlfKaiDu = mvartlfKaiDu + 10
    End If
    If mvarfyfwedu <= mvarfyfwdSheDingValue - 4 Then
        mvartlfKaiDu = mvartlfKaiDu + 10
    End If
    If mvarfyfWenDuXieLv < 0 Then
        mvartlfKaiDu = mvartlfKaiDu + 10
    End If
End If
If (mvarfyfWenDu >= mvarfyfwdSheDingValue) Then
    mvartlfKaiDu = 0
End If
'**********************************
'算法2:以投料量分段,综合考虑温度
'**********************************
'If (mvaryjaYiYongLiang <= 70) Then
'    If mvarfyfWenDu < -35 Then
'        mvartlfKaiDu = mvartlfStartKaiDu + 12
'    End If
'    If (mvarfyfWenDu >= -35) And (mvarfyfWenDu < -28) Then
'        mvartlfKaiDu = mvartlfStartKaiDu + 10
'    End If
'    If (mvarfyfWenDu >= -28) And (mvarfyfWenDu < -25) Then
'        mvartlfKaiDu = mvartlfStartKaiDu + 8
'    End If
'    If (mvarfyfWenDu >= -25) And (mvarfyfWenDu < -23) Then
'        mvartlfKaiDu = mvartlfStartKaiDu + 5
'    End If
'    If (mvarfyfWenDu >= -23) And (mvarfyfWenDu < mvarfyfwdSheDingValue - 6) Then
'        mvartlfKaiDu = mvartlfStartKaiDu
'    End If
'    If (mvarfyfWenDu < mvarfyfwdSheDingValue - 6) Then
'        If mvarfyfWenDuXieLv <= 0.003 Then
'            mvartlfKaiDu = mvartlfKaiDu + 10
'        End If
'        If mvaryjaYiYongLiang > 30 Then
'            If mvarfyfWenDuXieLv >= 0.02 Then
'                mvartlfKaiDu = mvartlfKaiDu - 10
'            End If
'            If mvarfyfWenDuXieLv >= 0.025 Then
'                mvartlfKaiDu = mvartlfKaiDu - 20
'            End If
'        End If
'    End If
'    If (mvarfyfWenDu >= mvarfyfwdSheDingValue - 6) Then
'        If mvarfyfWenDuXieLv > 0.0184 Then
'            mvartlfKaiDu = mvartlfKaiDu - 10
'        End If
'        If mvarfyfWenDuXieLv >= 0.02 Then
'            mvartlfKaiDu = mvartlfKaiDu - 20
'        End If
'    End If
'End If
'
'If (mvaryjaYiYongLiang > 70) And (mvaryjaYiYongLiang <= 90) Then
'    If mvarfyfWenDu < mvarfyfwdSheDingValue - 6 Then
'        mvartlfKaiDu = mvartlfStartKaiDu
'        If mvarfyfWenDuXieLv > 0.02 Then
'            mvartlfKaiDu = mvartlfKaiDu - 15
'        End If
'        If mvarfyfWenDuXieLv < 0.01 Then
'            mvartlfKaiDu = mvartlfKaiDu + 10
'        End If
'        If mvarfyfWenDuXieLv < 0.005 Then
'            mvartlfKaiDu = mvartlfKaiDu + 15
'        End If
'    End If
'    If (mvarfyfWenDu >= mvarfyfwdSheDingValue - 6) And (mvarfyfWenDu < mvarfyfwdSheDingValue - 2) Then
'        mvartlfKaiDu = mvartlf70KgKaiDu
'        If mvarfyfWenDuXieLv > 0.018 Then
'            mvartlfKaiDu = mvartlfKaiDu - 15
'        End If
'        If mvarfyfWenDuXieLv < 0.01 Then
'            mvartlfKaiDu = mvartlfKaiDu + 10
'        End If
'        If mvarfyfWenDuXieLv < 0.005 Then
'            mvartlfKaiDu = mvartlfKaiDu + 15

⌨️ 快捷键说明

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