cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
富士的SPH系列PLC所使用的ST: IF ENABLE THEN (*如果復位按鈕按下,那么系統復位*) IF RESET THEN LOOP_CASE := 0; END_IF; (*如果運行過程中氣壓,風壓異常,停止*) IF (NOT(X4) OR NOT(X5)) AND LOOP_CASE <> 0 THEN LOOP_CASE := -10; END_IF; (*步進循環*) CASE LOOP_CASE OF -10: Y0 := FALSE; Y1 := FALSE; Y2 := FALSE; Y3 := FALSE; Y4 := TRUE; Y5 := FALSE; STEP := LOOP_CASE; 0:(*如果氣壓正常,那么程序繼續運行*) IF X5 THEN LOOP_CASE := 10; STEP := LOOP_CASE; ELSE LOOP_CASE :=-10; STEP := LOOP_CASE; END_IF; 10:(*開風機,同時檢測風壓是否正常*) Simple_Button_1(Button:=X1); Y4:=Simple_Button_1.Out_Coil; IF Y4 THEN IF X4 THEN LOOP_CASE := 20; ELSE LOOP_CASE := -10; END_IF; END_IF; STEP := LOOP_CASE; 20:(*燃燒啟動,同時啟動后延時10S*) Simple_Button_2(Button:=X2); Y3:=Simple_Button_2.Out_Coil; IF Y3 THEN IF CLOCK_1S THEN DelayTime := DelayTime + 1; END_IF; IF DelayTime >= 10 THEN LOOP_CASE := 30; DelayTime := 0; END_IF; END_IF; STEP := LOOP_CASE; 30:(*Y0輸出,延時2S*) Y0:=TRUE; IF Y0 THEN IF CLOCK_1S THEN DelayTime := DelayTime + 1; END_IF; IF DelayTime >= 2 THEN LOOP_CASE := 40; DelayTime := 0; END_IF; END_IF; STEP := LOOP_CASE; 40:(*Y2輸出,延時1S*) Y2:=TRUE; IF Y2 THEN IF CLOCK_1S THEN DelayTime := DelayTime + 1; END_IF; IF DelayTime >= 1 THEN LOOP_CASE := 50; DelayTime := 0; END_IF; END_IF; STEP := LOOP_CASE; 50:(*Y1輸出,延時3S*) Y1:=TRUE; IF Y1 THEN IF CLOCK_1S THEN DelayTime := DelayTime + 1; END_IF; IF DelayTime >= 3 THEN LOOP_CASE := 60; DelayTime := 0; END_IF; END_IF; STEP := LOOP_CASE; 60:(*點火次數檢測*) IF COUNT>=3 THEN LOOP_CASE := 200; ELSE LOOP_CASE :=70; END_IF; STEP := LOOP_CASE; 70:(*火焰檢測*) IF X0 THEN Y3 := FALSE; ELSE LOOP_CASE := 80; END_IF; STEP := LOOP_CASE; 80:(*點火失敗的處理*) Y1:=FALSE; Y2:=FALSE; Y3:=TRUE; IF (NOT Y1) AND (NOT Y2) AND Y3 THEN IF CLOCK_1S THEN DelayTime := DelayTime + 1; END_IF; IF DelayTime >= 10 THEN LOOP_CASE := 90; DelayTime := 0; END_IF; END_IF; STEP := LOOP_CASE; 90:(*Y2輸出,延時1S*) Y2 := TRUE; IF Y2 THEN IF CLOCK_1S THEN DelayTime := DelayTime + 1; END_IF; IF DelayTime >= 1 THEN LOOP_CASE := 100; DelayTime := 0; END_IF; END_IF; STEP := LOOP_CASE; 100:(*Y1輸出,計數器加1*) Y1 := TRUE; COUNT := COUNT + 1; LOOP_CASE := 60; STEP := LOOP_CASE; 200:(*重啟動*) Y0 := TRUE; Y1 := FALSE; Y2 := FALSE; Y3 := TRUE; Y4 := TRUE; IF NOT X6 THEN IF CLOCK_2S_Out THEN Y5 := TRUE; ELSE Y5 := FALSE; END_IF; END_IF; IF X3 THEN COUNT := 0; LOOP_CASE := 60; STEP := LOOP_CASE; END_IF; END_CASE; END_IF; 問題是這樣的樣例對您有多大的幫助呢??? |
---|---|
|