擴(kuò)展PLC控制系統(tǒng)I/O點的方法探討
1、引言
可編程序控制器(Programmable Logic Controller)簡稱為PLC,它具有可靠性高、抗干擾能力強(qiáng)等突出優(yōu)點,因而廣泛應(yīng)用于工業(yè)控制領(lǐng)域,已經(jīng)成為現(xiàn)代工業(yè)自動化的主要支柱之一。在PLC控制系統(tǒng)的設(shè)計中,經(jīng)常會遇到I/O點資源緊張以及性價比矛盾的問題。有些被控設(shè)備需要具有手動、自動的工作方式,且手動部分控制按鈕較多;有些自動生產(chǎn)線中,進(jìn)行位置檢測的行程開關(guān)或者用于系統(tǒng)工作狀態(tài)指示的輸出比較多,都會使占用的I/O點大為增加。一般通過增加擴(kuò)展模塊來解決,但PLC的I/O點價格昂貴,且還有擴(kuò)展模塊數(shù)目和I/O點數(shù)目的限制,如SIEMENS的CPU 226最大擴(kuò)展模塊數(shù)目為7,最大擴(kuò)展168路數(shù)字量I/O點或35路模擬量I/O點。若此時再增加CPU,勢必使得系統(tǒng)性價比大為降低,在這種情況下,擴(kuò)展I/O點數(shù)具有較大的實際意義。本文以SIEMENS的S7-200 PLC為例,探討如何擴(kuò)展PLC控制系統(tǒng)中I/O點數(shù)的方法。
2、硬件電路I/O點擴(kuò)展方法
2.1 分時分組輸入
對于既有手動方式又有自動方式,而二者不可能同時執(zhí)行的PLC工作方式,不同工作方式的輸入可以共用一個PLC的輸入點。分時分組輸入擴(kuò)展I/O點數(shù)接線圖如圖1所示。I1.0用來輸入自動/手動命令信號,供自動和手動程序切換用;二極管用來切斷寄生電路,避免錯誤信號的產(chǎn)生;SA用來切換自動和手動操作方式。
圖1 分時分組輸入接線圖
2.2 共用輸出觸點
對于通斷狀態(tài)完全相同的負(fù)載,在輸出點功率允許的情況下,可以并聯(lián)于同一輸出點上,即用一個輸出點帶動多個負(fù)載,需特別注意的是不能超出每個輸出點的允許負(fù)載能力。接線方式如圖2所示。
圖2 共用輸出點接線圖
2.3 合并輸入觸點
對于一個由如圖3所示的按鈕和接觸器實現(xiàn)的電動機(jī)多點起動、停止的控制要求,例如可在三處實現(xiàn)啟動和停止,其中,SB1、SB2、SB3為起動按鈕,SB11、SB12、SB13為停止按鈕。可以將每個按鈕接PLC的一個輸入點,很容易便可實現(xiàn)。若PLC的輸入點較為緊張,則可以用圖4所示的方式接線,與每個按鈕占用一個輸入點的方式相比,該方法的軟件編程更為簡單。
圖3 電動機(jī)電氣控制原理圖
圖4 電動機(jī)PLC控制接線圖
3、軟件編程I/O點擴(kuò)展方法
軟件擴(kuò)展的基本思想是一點兩用或輪序復(fù)用。即當(dāng)按鈕初次按下時,輸出要求為高;當(dāng)按鈕再次按下時,輸出要求為低;再按下時又為高,依此類推。這樣就可以節(jié)省一個輸入點,當(dāng)系統(tǒng)有較多開關(guān)量控制時可節(jié)省較多輸入點,如主機(jī)ON和主機(jī)OFF,紙料座上和紙料座下,都可以只用一個輸入點來控制。實現(xiàn)“一點兩用”的編程方法較多,如利用內(nèi)部輔助繼電器、定時器、計數(shù)器、移位指令等,本文僅介紹幾種簡便方法。
3.1 利用邊沿檢測、輸出指令
若按鈕SB連到I0.0上,輸出控制Q0.0,利用邊沿檢測和輸出指令實現(xiàn)“一點兩用”,用STEP7 V5.3編制的STL程序如下。

程序說明:當(dāng)?shù)?次按下按鈕SB時,I0.0的常開觸點閉合,在RLO邊沿檢測指令FP的作用下,輔助繼電器M0.1接通一個掃描周期,從而輸出繼電器Q0.0的線圈得電,且Q0.0構(gòu)成自鎖(保持)電路,同時Q0.0另一對常開觸點閉合,為M0.2接通做準(zhǔn)備;當(dāng)?shù)?次按下按鈕SB時,在FP指令的作用下,M0.1的常開觸點接通M0.2的線圈回路,M0.2的常閉觸點切斷了PLC的輸出,從而實現(xiàn)一點兩用。
3.2 利用邊沿檢測、跳轉(zhuǎn)指令
若利用邊沿檢測和跳轉(zhuǎn)指令,實現(xiàn)起來較為簡便,其STL程序如下。
A I0.0
FP M0.0
JNB OUT
AN Q0.0
= Q0.0
OUT: NOP0
程序說明:第4、5個語句的功能是實現(xiàn)Q0.0的自取反,但若沒有前面的跳轉(zhuǎn)指令,則程序每個掃描周期都會將Q0.0的狀態(tài)取反一次;第1、2句的作用是限定只有當(dāng)I0.0的上升沿到時取反一次,否則跳出取反程序段,從而實現(xiàn)一點兩用。
3.3 利用邊沿檢測、異或指令
若利用邊沿檢測和異或指令實現(xiàn)起來更為簡便,程序如下。
A I0.0
FP M0.0
X Q0.0
= Q0.0
程序說明:當(dāng)?shù)?次檢測到I0.0的上升沿,此時Q0.0為0,所以異或后輸出Q0.0為1,第2個掃描周期來時,已經(jīng)不是I0.0的上升沿了,因此為0,然而此時Q0.0確為1,所以異或后保持結(jié)果仍為1;第2次檢測到上升沿時,Q0.0為1,異或后輸出Q0.0的結(jié)果為0,等到下一個掃描周期到時,已經(jīng)不是上升沿了,而此時Q0.0還是為0,因此異或保持輸出仍為0。 (end)