【1】流程示意圖 控制要求: 高位水池通過(guò)兩臺(tái)泵從取水口取水,當(dāng)高位水池低液位時(shí),水泵啟動(dòng),當(dāng)高位水池液位高或取水口液位低時(shí),水泵停止,故障時(shí),切除故障水泵。 【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; // 計(jì)次 #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; //啟??刂?/p> 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】測(cè)試 |
|
來(lái)自: 機(jī)電工控交流 > 《待分類(lèi)》