[西门子] 博途TIA抽水系统测试

[复制链接]
查看8818 | 回复0 | 2025-2-6 09:59:44 | 显示全部楼层 |阅读模式
【1】流程示意图



控制要求:

高位水池通过两台泵从取水口取水,当高位水池低液位时,水泵启动,当高位水池液位高或取水口液位低时,水泵停止,故障时,切除故障水泵。

【2】建立FC块



代码:

//液位比较

IF #LT_data >= #LT_H_setdata THEN

    #LT_H_STA := 1;

END_IF;

IF #LT_data <= #LT_L_setdata THEN

    #LT_L_STA := 1;

   

END_IF;

IF #LT1_data <= #LT1_L_setdata THEN

    #LT1_L_STA := 1;

END_IF;

#R_TRIG_Instance(CLK := #LT_H_STA,

                 Q => #P1);

#R_TRIG_Instance_2(CLK := #LT_L_STA,

                   Q => #P3);

IF #P1 OR #P3 THEN

    #AUTO_S := 0;

END_IF;

#R_TRIG_Instance_1(CLK := #LT_L_STA,

                   Q => #P2);

IF #P2 THEN

    #AUTO_S := 1;

END_IF;

// 计次

#F_TRIG_Instance(CLK := #Runfk1 OR #Runfk2 OR #bump_DRV1 OR #bump_DRV2,

                 Q => #N1);

IF #N1 THEN

    #NUM := #NUM + 1

    ;

END_IF;

IF #NUM > 1 OR #Faultfk2 THEN

    #NUM := 0

    ;

END_IF;

IF #Faultfk1 THEN

    #NUM := 1

    ;

END_IF;

//启停控制

CASE #NUM OF

    0:

        IF #Remote1 AND #Bump_CM = 1 AND #AUTO_S = 1 THEN

            #bump_DRV1 := 1;

        END_IF;

      

    1:

        IF #Remote2 AND #Bump_CM = 1 AND #AUTO_S = 1 THEN

            #bump_DRV2 := 1;

        END_IF;

      

END_CASE;

IF #AUTO_S = 0 OR #Faultfk1 THEN

    #bump_DRV1 := 0;

END_IF;

IF #AUTO_S = 0 OR #Faultfk2 THEN

    #bump_DRV2 := 0;

END_IF;







【3】测试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则