名称:读计数器状态

符号:HC_READ_STATUS

说明:

        用于获取计数器上溢/下溢状态（线性计数有效）。
        读取状态有效时，VALID置TRUE。
        线性计数：计数值在上限、下限内，OVERFLOW、UNDERFLOW为FALSE。
        线性计数：计数值达到上限值时，OVERFLOW置TRUE。
        线性计数：计数值达到下限值时，UNDERFLOW置TRUE。

图片:

参数:

参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明 | 默认值
--- | --- | --- | --- | --- | ---
COUNTER | UDINT | IN | 计数器号 | 0-7 |
    无
VALID | BOOL | OUT | 有效状态 | TRUE：计数器状态有效 |
    FALSE
OVERFLOW | BOOL | OUT | 上溢标志 | TRUE：计数值上溢 |
    FALSE
UNDERFLOW | BOOL | OUT | 下溢标志 | TRUE：计数值下溢 |
    FALSE
ERROR | BOOL | OUT | 出错标志 | TRUE：功能块调用出错 |
    FALSE
ERRORID | DINT | OUT | 错误码 | 0：正常；其它：错误码值 |
    0

错误码:

错误码 | 说明
--- | ---
0 |
    无错误
1 |
    无效的计数器ID
2 |
    计数器忙

示例:

LD:

ST:

HC_READ_STATUS_inst1(COUNTER := 0, VALID => isValid, OVERFLOW => isOverflow, UNDERFLOW => isUnderflow, ERROR => isError, ERRORID => errorID);

解释:

       COUNTER为0，表示本功能块操作计数器0，
       isValid为TRUE，表示读取到的上溢/下溢状态有效；
       isOverflow为TRUE，表示计数值发生上溢；
       isUnderflow为TRUE，表示计数值发生下溢；
       isError为TRUE，则表示功能块调用出错；
       errorID为0，表示执行正常，非0，表示存在错误，无法执行。