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à)比矛盾的問題。有些被控設(shè)備需要具有手動(dòng)、自動(dòng)的工作方式,且手動(dòng)部分控制按鈕較多;有些自動(dòng)生產(chǎn)線中,進(jìn)行位置檢測(cè)的行程開關(guān)或">

      技術(shù)頻道

      擴(kuò)展PLC控制系統(tǒng)I/O點(diǎn)的方法探討

      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à)比矛盾的問題。有些被控設(shè)備需要具有手動(dòng)、自動(dòng)的工作方式,且手動(dòng)部分控制按鈕較多;有些自動(dòng)生產(chǎn)線中,進(jìn)行位置檢測(cè)的行程開關(guān)或者用于系統(tǒng)工作狀態(tài)指示的輸出比較多,都會(huì)使占用的I/O點(diǎn)大為增加。一般通過增加擴(kuò)展模塊來解決,但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ù)接線圖如圖l所示。I1.0用來輸入自動(dòng)/手動(dòng)命令信號(hào),供自動(dòng)和手動(dòng)程序切換用;二極管用來切斷寄生電路,避免錯(cuò)誤信號(hào)的產(chǎn)生;SA用來切換自動(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)有較多開關(guān)量控制時(shí)可節(jié)省較多輸入點(diǎn),如主機(jī)ON和主機(jī)OFF,紙料座上和紙料座下,都可以只用一個(gè)輸入點(diǎn)來控制。實(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程序如下。
      A I0.0
      FP M0.0
      = M0.1
      A M0.1
      A Q0.0
      = M0.2
      A(
      O M0.1
      O Q0.0
      )
      AN M0.2
      = Q0.0
      程序說明:當(dāng)?shù)?次按下按鈕SB時(shí),I0.0的常開觸點(diǎn)閉合,在RLO邊沿檢測(cè)指令FP的作用下,輔助繼電器M0.1接通一個(gè)掃描周期,從而輸出繼電器Q0.0的線圈得電,且Q0.0構(gòu)成自鎖(保持)電路,同時(shí)Q0.0另一對(duì)常開觸點(diǎn)閉合,為M0.2接通做準(zhǔn)備;當(dāng)?shù)?次按下按鈕SB時(shí),在FP指令的作用下,M0.1的常開觸點(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)起來較為簡(jiǎn)便,其STL程序如下。
      A I0.0
      FP M0.0
      JNB OUT
      AN Q0.0
      = Q0.0
      OUT: NOP0
      程序說明:第4、5個(gè)語句的功能是實(shí)現(xiàn)Q0.0的自取反,但若沒有前面的跳轉(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)起來更為簡(jiǎn)便,程序如下。
      A I 0.0
      FP M0.0
      X Q0.0
      = Q0.0
      程序說明:當(dāng)?shù)?次檢測(cè)到I0.0的上升沿,此時(shí)Q0.0為0,所以異或后輸出Q0.0為1,第2個(gè)掃描周期來時(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。

      4 硬件和軟件結(jié)合I/O點(diǎn)擴(kuò)展方法
      4.1 硬件編碼和軟件譯碼,擴(kuò)展輸入點(diǎn)
      在控制系統(tǒng)輸入信號(hào)較多的情況下,可以利用編碼器對(duì)輸入信號(hào)編碼,然后引到PLC的輸入端,再通過PLC內(nèi)部程序配合進(jìn)行譯碼,對(duì)各個(gè)輸入信號(hào)加以識(shí)別,可以大大減少對(duì)輸入點(diǎn)的占用。PLC的外部接線如圖5所示。由于普通編碼器在有多個(gè)信號(hào)同時(shí)輸入時(shí)會(huì)出現(xiàn)亂碼,故可采用8線-3線優(yōu)先編碼器74LS148,設(shè)定好信號(hào)的優(yōu)先權(quán),有時(shí)還要將編碼器的選通輸出端和擴(kuò)展端也接入PLC中,配合程序減少誤判斷。另外,還要注意的是電平的匹配問題(信號(hào)電路的+5V和PLC的+24V之間)以及PLC的輸入口對(duì)信號(hào)識(shí)別所要求的技術(shù)規(guī)范(驅(qū)動(dòng)電流和電壓能識(shí)別的范圍),有時(shí)還需增加適當(dāng)?shù)男盘?hào)放大和隔離電路。

      圖5 硬件編碼接線圖

      下面以按鈕SB2按下為例,說明PLC內(nèi)部軟件譯碼的程序識(shí)別方法。由74LS148的功能表可知,該芯片低電平有效,因此圖5中用3個(gè)非門將輸出電平轉(zhuǎn)換成正邏輯。若SB2按下,無論SB0和SB1是否按下,但SB3~SB7均未按下;此時(shí),ABC的輸出為101,經(jīng)過非門后I0.0,I0.1,I0.2的狀態(tài)分別為0,1,0;對(duì)應(yīng)的STL譯碼程序如下。
      LDN I0.0
      A I0.1
      AN I0.2
      = M0.2
      這樣,筆者在程序里用M0.2的常開觸點(diǎn)代替了按鈕SB2。即當(dāng)按鈕SB2按下,M0.2為1;SB2彈起,M0.2又為0,從而實(shí)現(xiàn)了軟件譯碼的功能。另外需要指出,該方法在PLC的每一個(gè)掃描周期只能讀入8個(gè)輸入中的一個(gè)輸入狀態(tài),若有2個(gè)以上開關(guān)閉合,PLC只能檢測(cè)出優(yōu)先權(quán)高的那個(gè)信號(hào)。

      4.2 軟件編碼和硬件譯碼,擴(kuò)展輸出點(diǎn)
      在控制系統(tǒng)輸出信號(hào)較多的情況下,可以通過PLC的內(nèi)部程序?qū)敵鲂盘?hào)進(jìn)行編碼,然后通過硬件譯碼器進(jìn)行譯碼,驅(qū)動(dòng)負(fù)載工作,這可以大大的減少對(duì)輸出點(diǎn)的占用。PLC的外部接線如圖6所示,采用3線-8線譯碼器74LS138。此時(shí),同樣存在電平匹配的問題,即PLC的直流模塊典型輸出為+24V,而信號(hào)電路的工作電壓一般為+5V,因此,有時(shí)同樣需要增加信號(hào)電路以及功率放大電路以驅(qū)動(dòng)負(fù)載工作。

      圖6 PLC接線圖

      下面以如何讓Q2為1為例,說明PLC內(nèi)部軟件的編碼方法。由74LS138的功能表可知,若要使輸出Q2為1,應(yīng)該使Y2輸出為0;即對(duì)應(yīng)的ABC應(yīng)該為010,從而得到只要讓PLC的Q0.0,Q0.1,Q0.2分別為0,1,0即可;對(duì)應(yīng)的STL編碼程序如下,其中M1.2為置位輸出Q2的條件。
      LD M1.2
      S Q0.0, 1
      R Q0.1, 1
      S Q0.2, 1
      這樣,只需對(duì)Q0.0,Q0.1,Q0.2進(jìn)行組合就可以實(shí)現(xiàn)對(duì)輸出Q0~Q7分別置為1。本方法存在一個(gè)明顯的缺點(diǎn),即每一個(gè)掃描周期只能輸出八種狀態(tài)中的一種,若要同時(shí)置位輸出Q0和Q1是不能實(shí)現(xiàn)的。
      4.3 用N個(gè)輸入點(diǎn)識(shí)別N×(N+1)/2個(gè)輸入信號(hào)
      若我們將輸入信號(hào)接成圖7的形式,再配合以軟件編程便可以實(shí)現(xiàn)用3個(gè)輸入點(diǎn)識(shí)別3×(3+1)/2=6個(gè)輸入信號(hào)。其基本思想是:當(dāng)SB1按下時(shí),PLC只檢測(cè)到了I0.0為“1”,此時(shí)I0.1和I0.2的狀態(tài)均為“0”,那么在程序里就將I0.0的常開觸點(diǎn)和I0.1、I0.2的常閉觸點(diǎn)相與來識(shí)別SB1的狀態(tài);若SB2按下時(shí),I0.0和I0.1均為“1”,I0.2為“0”,此時(shí)識(shí)別程序應(yīng)該為I0.0和I0.1的常開觸點(diǎn)與上I0.2的常閉觸點(diǎn);其它點(diǎn)的情況類似,輸入信號(hào)SB1和SB2的STL識(shí)別程序如下,其中,M2.1、M2.2的狀態(tài)就代表了信號(hào)SB1、SB2的狀態(tài)。
      LD I0.0
      AN I0.1
      AN I0.2
      = M2.1
      //信號(hào)SB1的識(shí)別
      LDN I0.0
      A I0.1
      A I0.2
      = M2.2
      //信號(hào)SB2的識(shí)別
      需要指出:這種方法不能識(shí)別2個(gè)及2個(gè)以上的信號(hào)同時(shí)為1的情況,如SB1和SB3同時(shí)接通,程序會(huì)把它當(dāng)成SB2接通的情況識(shí)別。圖7中二極管的作用是為了隔斷寄生電流形成通路。其實(shí),用3個(gè)輸入點(diǎn)最多可以7個(gè)信號(hào)的識(shí)別,如果在圖7中再加一個(gè)SB7,用3個(gè)二極管連到I0.0、I0.1、I0.2上,則可以通過將3個(gè)點(diǎn)的常開觸點(diǎn)相與來識(shí)別SB7,但這樣過于繁瑣,因此一般不采用。

      圖7 硬件接線圖


      4.4 用輸入/輸出口組成矩陣式鍵盤
      若控制系統(tǒng)需要設(shè)計(jì)鍵盤,常規(guī)的思路是每個(gè)按鍵接一個(gè)輸入口。然而,當(dāng)鍵數(shù)增加時(shí),極為浪費(fèi)輸入點(diǎn),因此仿照微機(jī)系統(tǒng)中制作矩陣式鍵盤的思路,在PLC系統(tǒng)中利用I/O點(diǎn)組成矩陣式鍵盤,如圖8所示為3×3鍵盤結(jié)構(gòu)圖。編程思路:首先,判斷整個(gè)鍵盤上有無鍵按下,方法是將行全輸出為1,然后讀入列的狀態(tài),如果列讀入的狀態(tài)全為0,則無鍵按下,不全為0則有鍵按下;其次,逐列掃描,方法是依次將行線送1,檢查對(duì)應(yīng)列線的狀態(tài),若列線全為0,則按鍵不在此行;若不全為0,則按鍵必在此行,且是與1電平列線相交的那個(gè)鍵。由此可見,對(duì)應(yīng)的軟件編程比較復(fù)雜,但是在有些小型的控制系統(tǒng)中可以避免增加操作屏或觸摸屏,從而提高系統(tǒng)性價(jià)比。若需要詳細(xì)的硬件設(shè)計(jì)圖和軟件程序可與作者聯(lián)系。

      圖8 3×3鍵盤結(jié)構(gòu)圖

      5 結(jié)束語
      本文從硬件設(shè)計(jì)、軟件編程以及硬件軟件結(jié)合三個(gè)方面探討了擴(kuò)展PLC I/O點(diǎn)的方法。在具體應(yīng)用時(shí),還需考慮每種擴(kuò)展方法的一些優(yōu)缺點(diǎn)以及抗干擾能力等問題。若能合理的利用這些方法,必能有效的節(jié)省PLC的I/O點(diǎn)數(shù),降低系統(tǒng)成本,提供性價(jià)比,更為充分的發(fā)揮PLC的優(yōu)勢(shì)。


      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 精品一区二区三区水蜜桃| 亚洲国产日韩在线一区| 亚洲国产一区明星换脸| 国产精品盗摄一区二区在线| 久久精品一区二区影院| 久久精品国产一区二区三区肥胖| 国产成人久久精品区一区二区| 综合一区自拍亚洲综合图区| 国产自产在线视频一区| 秋霞日韩一区二区三区在线观看 | 国产一区二区精品久久| 亚洲av无码一区二区三区人妖 | 夜夜精品视频一区二区| 国产一区二区三区久久| 精品一区二区三区在线观看l| 极品尤物一区二区三区| 国产成人一区二区三区高清| 无码AV中文一区二区三区| 精品在线一区二区| 日韩精品人妻一区二区三区四区| 亚洲国产一区二区三区青草影视| 国产成人无码AV一区二区在线观看 | 夜夜添无码一区二区三区| 色一情一乱一区二区三区啪啪高| 日韩精品一区二区三区影院| 国产精品一区二区三区久久| 精品视频一区在线观看| 人妻精品无码一区二区三区| 亚洲av无码成人影院一区| 激情亚洲一区国产精品| 日本片免费观看一区二区| 亚洲一本一道一区二区三区| 一本大道在线无码一区| 国产日韩精品一区二区在线观看| 在线一区二区观看| 亚洲AV无码一区二三区 | 国产一区二区三区夜色| 亚洲线精品一区二区三区| 国产一区二区免费视频| 亚洲一区二区三区久久| 亚洲欧美成人一区二区三区|