Bootstrap

信捷 PLC C语言 计数器在FC中的使用

传统梯形图的计数器程序写起来简单,本文用C语言写计数器的使用。

16位增计数器使用了CNT_FB_BOD和 CNT_RST_FC两个函数。

32位增计数器使用了DCNT_FB_BOD和 DCNT_RST_FC两个函数。

1.在全局变量表中建立变量

2.建立pou子程序

void POU_test_counter()
{
    #define SysRegAddr_HD_D_HM_M
    CNT_FB_BODY ( &Cnt_OnError_array[0] );//计数器功能块的调用
    Cnt_OnError_array[0].Execute = plc_debug_var1;//内部使能,在上升沿计数值加1
    Cnt_OnError_array[0].PV = 3;//PV为设定值(次数);
    if(plc_debug_var2) //对计数器复位的条件
    {   CNT_RST_FC ( &Cnt_OnError_array[0] );

        //复位函数是单独的,不能自己清那个输出和实际值
    } 
}

3.调用子程序

4.下载到PLC中调试

在监视窗口将plc_debug_var1置true,在plc_debug_var1的上升沿Cnt_OnError_array[0].CV加1,当达到设定值时Cnt_OnError_array[0].Q输出true.然后将用plc_debug_var1置位true复位计数器。

复位后Cnt_OnError_array[0].Q输出false,Cnt_OnError_array[0].CV的值为0

;