示例:激活父标签组后读取标签值

本示例阐述了在某个标签所属的 TagGroup 对象设置为“活动”后立即读取标签值的方法。
第一个子程序将在单个 Tag 对象上执行 RefreshFromSource 方法,无需向 RefreshFromSource 方法传递参数。
第二个子程序将在整个 TagGroup 对象上实现 RefreshFromSource 方法,并且需要 StringList 参数以便传递给方法和存储在 Boolean 变量中的返回值(True = 成功,False = 读取失败)。通常,在读取同一 TagGroup 的多个标签值时应使用第二种方法。
Sub TagReadUsingTagRefresh() On Error Resume Next Dim oGroup As TagGroup Dim oTag As Tag Dim vValue As Variant Err.Clear If oGroup Is Nothing Then Set oGroup = Application.CreateTagGroup(Me.AreaName, 500) If Err.Number Then LogDiagnosticsMessage "Error creating TagGroup. Error: " _ & Err.Description, ftDiagSeverityError Exit Sub End If Set oTag = oGroup.Add("System\Second") oGroup.Active = True oTag.RefreshFromSource vValue = oTag.Value Select Case Err.Number Case 0: MsgBox "System\Second = " & vValue Case tagErrorReadValue: MsgBox "Error to reading tag value. Error: " & _ oTag.LastErrorString Case tagErrorOperationFailed: MsgBox "Failed to read from tag. Error: " & Err.Description End Select End If End Sub
Sub TagReadUsingTagGroupRefresh() On Error Resume Next Dim oGroup As TagGroup Dim oTag As Tag Dim vValue As Variant Dim sStringList As StringList Dim bReturn As Boolean Err.Clear If oGroup Is Nothing Then Set oGroup = Application.CreateTagGroup(Me.AreaName, 500) If Err.Number Then LogDiagnosticsMessage "Error creating TagGroup. Error: " _ & Err.Description, ftDiagSeverityError Exit Sub End If Set oTag = oGroup.Add("System\Second") oGroup.Active = True bReturn = oGroup.RefreshFromSource(sStringList) vValue = oTag.Value If bReturn Then Select Case Err.Number Case 0: MsgBox "System\Second = " & vValue Case tagErrorReadValue: MsgBox "Error to reading tag value. Error: " & _ oTag.LastErrorString Case tagErrorOperationFailed: MsgBox "Failed to read from tag. Error: " & Err.Description End Select End If End If End Sub
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal