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
    

      

  • 相关阅读:
    [CERC2015]Digit Division
    [SDOI2012]拯救小云公主
    [不知道出自什么OJ]最大利润
    [USACO08FEB]修路Making the Grade
    P1985 [USACO07OPEN]翻转棋
    P1156 垃圾陷阱
    奶酪
    扫描线
    php数组
    php switch
  • 原文地址:https://www.cnblogs.com/yada/p/12665629.html
Copyright © 2011-2022 走看看