一、狀態設計法說明:

            在自動控制的領域當中,若以較簡單的分類來說,有順序控制及反饋控制兩種﹙PLC較偏向順序控制方面﹚。而順序控制又可分成程序控制及條件控制兩種。所謂程序控制是依使用者所預定的順序,自動進行控制各項元件;而條件控制是依使用者所設定的條件,對不同的輸入做出不同的反應動作。兩者之間看似不同,其實內部確有極相似的觀念存在,那就是兩者都是狀態的組合。程序控制是依序執行不同的狀態,而條件控制則是根據輸入,再加以判斷分析,最後選擇適合的狀態來反應。依據這種觀念,筆者提出狀態設計法,這種設計法能涵蓋大部份的順序控制,是一種較快速的設計法。

二、設計步驟實例:

            設計一電路控制,條件如後:按PB1則M1、M2動作;按PB2則M2、M3動作;按PB3則M3、M1動作。(本例屬於條件控制)

1.狀態分析並直接繪出階梯圖

(1)將電路功能分析成若干狀態,每一個狀態都以一個內部電驛來代表。上述功能可以分成三種狀態,亦即

A.按PB1時為第一種狀態S1,並以內部電驛1000(M0)來代表

B.按PB2時為第一種狀態S2,並以內部電驛1001(M1)來代表

C.按PB3時為第一種狀態S3,並以內部電驛1002(M2)來代表

 輸 入 元 件

 輸  出  元  件

  內 部 元 件

PB1→00 (X0)

PB2→01 (X1)

PB3→02 (X2)

OL1→03 (X3)

OL2→04 (X4)

OL3→05 (X5)

MC1→500 (Y0)

MC2→501 (Y1)

MC3→502 (Y2)

S1→1000 (M0)

S2→1001 (M1)

S3→1002 (M2)

(2)因為馬達的動作均為持續運轉,所以每一種狀態都應該能自保持,因此階梯圖如左下圖;

(3)因為三種狀態中,在一段時間只能有一種存在,所以假若S1動作,則S2、S3必需切斷;同理S2動作,則S1、S3必需切斷;S3動作,則S1、S2必需切斷。這是一種互鎖電路,最好的方法是利用開關的B接點。也就是用A接點接通自己而用B接點切斷別人,如右上圖。

(4)加上OL得到左下圖

(5)利用狀態電驛的A接點來驅動輸出:狀態S1(1000)時,M1、M2(500、501)動作;狀態S2(1001)時,M2、M3(501、502)動作;狀態S3(1002)時,M3、M1(502、500)動作。交叉分析得到如右上圖。

(6)將上兩圖組合以後得到完整的階梯圖如下

2.撰寫程式並鍵入PLC中

行 號  指 令(OMRON)  行 號   指 令(FX2)
00000 LD               00 00000 LD            X0
00001 OR               1000 00001 OR           M0
00002 AND  NOT  01 00002 ANI          X1
00003 AND  NOT  02 00003 ANI          X2
00004 AND  NOT  03 00004 ANI          X3
00005 OUT             1000 00005 OUT         M0
00006 LD               01 00006 LD            X1
00007 OR               1001 00007 OR           M1
00008 AND  NOT  00 00008 ANI          X0
00009 AND  NOT  02 00009 ANI          X2
00010 AND  NOT  04 00010 ANI          X4
00011 OUT             1001 00011 OUT         M1
00012 LD               02 00012 LD            X2
00013 OR               1002 00013 OR           M2
00014 AND  NOT  00 00014 ANI          X0
00015 AND  NOT  01 00015 ANI          X1
00016 AND  NOT  05 00016 ANI          X5
00017 OUT             1002 00017 OUT         M2
00018 LD                1000 00018 LD            M0
00019 OR                1002 00019 OR            M2
00020 OUT              500 00020 OUT          Y0
00021 LD                1000 00021 LD            M0
00022 OR                1001 00022 OR            M1
00023 OUT              501 00023 OUT          Y1
00024 LD                1001 00024 LD            M1
00025 OR                1002 00025 OR            M2
00026 OUT              502 00026 OUT          Y2
00027 END 00027 END

 3.接線

4.執行

四、實習

1.題目:設計紅綠燈控制電路,如下圖所示(本例屬於程序控制)

              

2.實習步驟

(1)狀態分析並直接繪出階梯圖

A.如上圖所示,雖然共有12個燈,但直向的兩組燈可直接並接,橫向的兩組燈也一樣,所以實際上只需6個輸出點即可,分別供給RL1、YL1、GL1、RL2、YL2、GL2。

B.依紅綠燈變化的情形來分析,可以得出下列四個依設定時間而順序執行的狀態。

a. 狀態S1(1000或M0)→GL1及RL2亮

b. 狀態S2(1001或M1)→YL1及RL2亮

c. 狀態S3(1002或M2)→RL1及GL2亮

d. 狀態S4(1003或M3)→RL1及YL2亮

    

    

 輸 入 元 件

 輸  出  元  件

  內 部 元 件

PB1→00 (X0)

PB2→01 (X1)

GL1→500 (Y0)

YL1→501 (Y1)

RL1→502 (Y2)

GL2→503 (Y3)

YL2→504 (Y4)

RL2→505 (Y5)

S1→1000     (M0)

S2→1001     (M1)

S3→1002     (M2)

S4→1003     (M3)

T1→TIM00  (T0)

T2→TIM01  (T1)

T3→TIM02  (T2)

T4→TIM03  (T3)

C.因此階梯圖如左下圖;

D.因為四種狀態中,在一段時間只能有一種存在,但因為狀態是依序進行的,所以假若S1動作,則S4必需切斷;同理S2動作,則S1必需切斷;S3動作,則S2必需切斷;S4動作,則S3必需切斷。另外為了避免在狀態執行中又按下01開關,因此在S1迴路上必須串上其它狀態的B接點,如右上圖。

E.因為在任何狀態下,按下PB1時,都應能切斷電路,因此必須在每一狀態行,都插入PB1的B接點,如下圖。

                

F.利用狀態電驛的A接點來驅動輸出:狀態S1(1000)時,GL1、RL2(500、505)動作;狀態S2(1001)時,YL1、RL2(501、505)動作;狀態S3(1002)時,RL1、GL2(502、503)動作;狀態S4(1003)時,RL1、YL2(502、504)動作。交叉分析得到下圖。

                 

G.將上兩圖組合以後得到完整的階梯圖如下圖

(2).撰寫程式並鍵入PLC中

行 號  指 令(OMRON)  行 號   指 令(FX2)
00000 LD               01 00000 LD               X1
00001 AND  NOT  1002 00001 ANI            M2
00002 AND  NOT  1003 00002 ANI            M3
00003 OR               TIM03 00003 OR              T3
00004 OR               1000 00004 OR              M0
00005 AND  NOT  1001 00005 ANI             M1
00006 AND  NOT  00 00006 ANI             X0
00007 OUT             1000 00007 OUT            M0
00008 TIM              00 00008 OUT            T0
                       #50                       K50
00009 LD                TIM00 00009 LD               T0
00010 OR                1001 00010 OR               M1
00011 AND  NOT   1002 00011 ANI              M2
00012 AND  NOT   00 00012 ANI              X0
00013 OUT             1001 00013 OUT             M1
00014 TIM              01 00014 OUT             T1
                       #20                        K20
00015 LD                TIM01 00015 LD                T1
00016 OR                1002 00016 OR                M2
00017 AND  NOT  1003 00017 ANI               M3
00018 AND  NOT  00 00018 ANI               X0
00019 OUT             1002 00019 OUT              M2
00020 TIM              02 00020 OUT              T2
                       #50                         K50
00021 LD                TIM02 00021 LD                 T2
00022 OR                1003 00022 OR                M3
00023 AND  NOT  1000 00023 ANI               M0
00024 AND  NOT  00 00024 ANI               X0
00025 OUT             1003 00025 OUT              M3
00026 TIM              03 00026 OUT              T3
                       #20                        K20
00027 LD                1000 00027 LD                M0
00028 OUT             500 00028 OUT             Y0
00029 LD                1001 00029 LD                M1
00030 OUT             501 00030 OUT             501
00031 LD                1002 00031 LD                M2
00032 OR                1003 00032 OR                M3
00033 OUT             502 00033 OUT             Y2
00034 LD                1002 00034 LD                M2
00035 OUT             503 00035 OUT             Y3
00036 LD                1003 00036 LD                M3
00037 OUT             504 00037 OUT             Y4
00038 LD                1000 00038 LD                M0
00039 OR                1001 00039 OR                M1
00040 OUT             505 00040 OUT             Y5
00041 END 00041 END

 

(3)接線

          

(4)執行