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

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