名称:设置比较一致性输出

符号: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,表示出现错误,无法执行。