名称:设置比较一致性输出
符号:HC_SetCompare
说明:
用于实现高速计数比较一致输出功能(计数器计数值与设定比较值一致时,可以触发硬件输出),上升沿有效。
EXECUTE上升沿,触发功能块执行。
ABORT用于删除指定比较值。
COMPAREVALUE用于指定高速计数器计数比较值,每个计数器最多可设置两个比较值。
OUTPUTENABLE用于比较一致时硬件输出。
OUTPUTTYPE用于设定输出模式。
OUTPUTVALUE用于设定比较一致输出值。
设置成功,DONE为TRUE。
功能块执行出错,ERROR为FALSE,同时ERRORID输出非0错误码。
图片:
参数:
| 参数名称 | 数据类型 | IN/OUT | 参数作用 | 说明 | 默认值 |
|---|---|---|---|---|---|
| COUNTER | UDINT | IN | 计数器号 | 0-7 | 无 |
| EXECUTE | BOOL | IN | 功能块触发 | 上升沿触发 | FALSE |
| ABORT | BOOL | IN | 删除比较值 | TRUE:删除比较值COMPAREVALUE | FALSE |
| COMPAREVALUE | DINT | IN | 比较值 | 高速计数器的计数比较值 | 无 |
| OUTPUTENABLE | BOOL | IN | 输出使能 | TRUE:比较一致输出使能,执行硬件输出 | FALSE |
| OUTPUTTYPE | UDINT | IN | 输出类型 | 0:时间方式;1:脉冲方式(暂不推荐使用) | 0 |
| OUTPUTVALUE | UDINT | IN | 输出值 | 时间方式:输出时间(单位-50ns);脉冲方式:脉冲个数 | 0 |
| DONE | BOOL | OUT | 完成标志 | TRUE:设置完成 | FALSE |
| ERROR | BOOL | OUT | 出错标志 | TRUE:功能块调用出错 | FALSE |
| ERRORID | DINT | OUT | 错误码 | 0:正常;其它:错误码值 | 0 |
错误码:
| 错误码 | 说明 |
|---|---|
| 0 | 无错误 |
| 1 | 无效的计数器ID |
| 2 | 计数器忙 |
示例:
LD:
ST:
解释:
COUNTER为0,表示本功能块操作计数器0; bExe由FALSE->TRUE,上升沿触发功能块执行比较一致性设置; ABORT为FALSE,表示不触发比较值删除操作; COMPAREVALUE为50000,表示计数器的计数比较值为50000; OUTPUTENABLE为TRUE,表示比较一致时执行硬件输出(需设置好输出端口); OUTPUTTYPE为0,表示以时间方式输出; OUTPUTVALUE为1000,表示输出时间为50us(1000x50ns = 50us); isDone为TRUE,表示比较一致性设置成功; isError为TRUE,则表示功能块执行出错,设置失败; errorID为0,表示执行正常,非0,表示出现错误,无法执行。