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

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