Получение несоответствия объекта при установке функции возврата PI DataLink равной другой переменной
Я пытаюсь напечатать серию упорядоченных значений на текущем листе на основе изменения определенного значения, предоставленного функцией текущего значения PIDataLink. Я выделил область, которая приводит к ошибке несоответствия, понимая, что остальная часть моего кода поделится этой ошибкой. (Если MFA = "culstop" Затем) * отсутствует некоторый повторяющийся код для экономии места.
Sub culturestop_timestamp()
Dim culstop As String
Dim MFA As Variant
Dim MFA2 As String
Dim MFB As Variant
Dim MFC As Variant
Dim MFD As Variant
Dim MFE As Variant
Dim MFF As Variant
Dim MFG As Variant
Dim MFH As Variant
Dim start As Date
Dim curtime As Date
Dim rownum As Integer
Application.OnTime Now, "culturestop_timestamp"
reset:
'Application.OnTime TimeValue("00:00:00", "culturestop_timestamp")
start = Now()
rownum = 30
A = 0
B = 0
C = 0
D = 0
E = 0
F = 0
G = 0
H = 0
Do While curtime <= TimeValue("23:59:00")
Application.Wait (Now + TimeValue("00:00:30"))
MFA = Application.Run("PICurrVal", "TAPS1.MNFERMA_UNIT / PHASE_SELECT.CVS", 0, "")
MFB = Application.Run("PICurrVal", "TAPS1.MNFERMB_UNIT / PHASE_SELECT.CVS", 0, "")
MFC = Application.Run("PICurrVal", "TAPS1.MNFERMC_UNIT / PHASE_SELECT.CVS", 0, "")
MFD = Application.Run("PICurrVal", "TAPS1.MNFERMD_UNIT / PHASE_SELECT.CVS", 0, "")
MFE = Application.Run("PICurrVal", "TAPS1.MNFERME_UNIT / PHASE_SELECT.CVS", 0, "")
MFF = Application.Run("PICurrVal", "TAPS1.MNFERMF_UNIT / PHASE_SELECT.CVS", 0, "")
MFG = Application.Run("PICurrVal", "TAPS1.MNFERMG_UNIT / PHASE_SELECT.CVS", 0, "")
MFH = Application.Run("PICurrVal", "TAPS1.MNFERMH_UNIT / PHASE_SELECT.CVS", 0, "")
If A = 2 Then
MFA = "Already_Brothed_Out_Today"
End If
If B = 2 Then
MFB = "Already_Brothed_Out_Today"
End If
If C = 2 Then
MFC = "Already_Brothed_Out_Today"
End If
If D = 2 Then
MFD = "Already_Brothed_Out_Today"
End If
If E = 2 Then
MFE = "Already_Brothed_Out_Today"
End If
If F = 2 Then
MFF = "Already_Brothed_Out_Today"
End If
If G = 2 Then
MFG = "Already_Brothed_Out_Today"
End If
If H = 2 Then
MFH = "Already_Brothed_Out_Today"
End If
***If MFA = "culstop" Then***
A = 2
MFAR = Application.Run("PICurrVal", "TAPS1.TC02_RECIPE / MNFERMA_TYPE.CV", 0, "")
MFAT = Now()
Sheet1.Range("A" & rownum) = MFAT
Sheet1.Range("B" & rownum) = MFAR
'Sheet1.Range("C" & rownum) =
'Sheet1.Range("D" & rownum) =
'Sheet1.Range("E" & rownum) =
'Sheet1.Range("F" & rownum) =
rownum = rownum + 1
End If
If MFB = "culstop" Then
B = 2
MFBR = Application.Run("PICurrVal", "TAPS1.TC02_RECIPE / MNFERMB_TYPE.CV", 0, "")
MFBT = Now()
Sheet1.Range("A" & rownum) = MFBT
Sheet1.Range("B" & rownum) = MFBR
'Sheet1.Range("C" & rownum) =
'Sheet1.Range("D" & rownum) =
'Sheet1.Range("E" & rownum) =
'Sheet1.Range("F" & rownum) =
rownum = rownum + 1
End If
curtime = Now()
Loop
GoTo reset
End Sub