zoukankan      html  css  js  c++  java
  • 如何在WinCC中通过变量质量检测通讯状态

    什么是质量代码 

    WinCC中外部变量通讯时,除了传送变量值,还会有一个字节的质量代码,质量代码指示了当前变量的质量状态,通过变量的质量代码可以判断通讯是否正常。

     

    质量代码的结构

    质量代码具有如下的二进制结构:
    QQSSSSLL
    Q: 质量
    S: 质量的子状态
    L: 限制。 该数值是可选的。

    通过前两位可确定变量的质量,后面六位可得到变量的具体状态。当前两位全为0时表示质量为“劣”,详细如下:

     

    Q

    Q

    S

    S

    S

    S

    L

    L

     

    27

    26

    25

    24

    23

    22

    21

    20

    劣 - 数值没有用。

    0

    0

    -

    -

    -

    -

    -

    -

    不确定 - 数值的质量低于普通情况,但是数值可能仍然有用。

    0

    1

    -

    -

    -

    -

    -

    -

    优(非层叠)- 数值的质量是优的。 可能的报警条件会通过子状态指示。

    1

    0

    -

    -

    -

    -

    -

    -

    优(层叠)- 数值可能用在控件中。

    1

    1

    -

    -

    -

    -

    -

    -

    更具体的质量代码可查阅WinCC手册:https://support.industry.siemens.com/cs/mdm/109773067?c=102861150219&lc=zh-CN

    用VB脚本检测变量质量

    当变量质量代码为“劣”时返回True,为其他质量代码时返回False。给TagQcIsBad()函数传递一个变量名,通过该变量判断是否通讯成功。

    Function TagQcIsBad(sTag)
        Dim oTag
        Set oTag = HMIRuntime.Tags(sTag)
        oTag.Read
        TagQcIsBad = ((oTag.QualityCode AND &HC0) = &H00) '如果前两位全为0表示质量为“劣”,返回True
    End Function
    

      

  • 相关阅读:
    HDOJ 1207 汉诺塔II
    [转]写代码的小女孩
    POJ Subway tree systems
    HDOJ 3555 Bomb (数位DP)
    POJ 1636 Prison rearrangement (DP)
    POJ 1015 Jury Compromise (DP)
    UVA 10003
    UVA 103 Stacking Boxes
    HDOJ 3530 Subsequence
    第三百六十二、三天 how can I 坚持
  • 原文地址:https://www.cnblogs.com/yada/p/12665629.html
Copyright © 2011-2022 走看看