名称:计数器使能
符号:HC_COUNTER
说明:
用于实现高速计数器的启动、停止功能,高电平有效。
高速输入端口配置为计数模式后,再使用本指令。
ENABLE置TRUE后,计数器启动,计数器会从上次计数值继续计数。
ENABLE置FALSE后,计数器停止,计数值保持不变。
DIRECTION仅用于单相计数模式,FALSE-加计数,TRUE-减计数。
DIRECTION变更后,需重新启动计数器才会生效。
计数值有效时,VALID会被置TRUE。
计数器出错时,ERROR置TRUE,同时ERRORID输出非0错误码。
同一计数器,不允许多处调用。
图片:
参数:
| 参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明 | 默认值 |
|---|---|---|---|---|---|
| COUNTER | UDINT | IN | 计数器号 | 0-7 | 无 |
| ENABLE | BOOL | IN | 功能块使能 | TRUE:使能;FALSE:失能 | FALSE |
| DIRECTION | BOOL | IN | 计数方向 | 仅对单相计数有效:FALSE-加计数;TRUE-减计数 | FALSE |
| VALID | BOOL | OUT | 有效标志 | TRUE:结果有效;FALSE:无效 | FALSE |
| COUNTERVALUE | DINT | OUT | 计数值 | 计数器当前计数值 | 0 |
| ERROR | BOOL | OUT | 出错标志 | TRUE:功能块调用出错 | FALSE |
| ERRORID | DINT | OUT | 错误码 | 0:正常;其它:错误码值 | 0 |
错误码:
| 错误码 | 说明 |
|---|---|
| 0 | 无错误 |
| 1 | 无效的计数器号 |
示例:
LD:
ST:
解释:
COUNTER为0,表示本功能块操作计数器0;
ENABLE为TRUE,表示使能计数器,计数器开始计数;
DIRECTION为FALSE时,表示在单相计数模式下,计数器加计数;
isValid为TRUE,表示当前计数值counterVal有效;
isValid为FALSE,则表示当前计数值counterVal无效;
isError为TRUE,则表示功能块执行出错;
errorID为0,表示执行正常,非0,表示存在错误,无法执行。