如何擴(kuò)展PLC控制系統(tǒng)中I/O點(diǎn)數(shù)的方法

發(fā)布時(shí)間:2024-03-18
1 引言
可編程序控制器(programmable logic controller)簡(jiǎn)稱(chēng)為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ù)接線圖如圖l所示。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í)又為高,依此類(lèi)推。這樣就可以節(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程序如下。
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
程序說(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程序如下。
ai0.0
fpm0.0
jnbout
anq0.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。
[nextpage]
4 硬件和軟件結(jié)合i/o點(diǎn)擴(kuò)展方法
4.1 硬件編碼和軟件譯碼,擴(kuò)展輸入點(diǎn)
在控制系統(tǒng)輸入信號(hào)較多的情況下,可以利用編碼器對(duì)輸入信號(hào)編碼,然后引到plc的輸入端,再通過(guò)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中,配合程序減少誤判斷。另外,還要注意的是電平的匹配問(wèn)題(信號(hào)電路的+5v和plc的+24v之間)以及plc的輸入口對(duì)信號(hào)識(shí)別所要求的技術(shù)規(guī)范(驅(qū)動(dòng)電流和電壓能識(shí)別的范圍),有時(shí)還需增加適當(dāng)?shù)男盘?hào)放大和隔離電路。
圖5 硬件編碼接線圖
下面以按鈕sb2按下為例,說(shuō)明plc內(nèi)部軟件譯碼的程序識(shí)別方法。由74ls148的功能表可知,該芯片低電平有效,因此圖5中用3個(gè)非門(mén)將輸出電平轉(zhuǎn)換成正邏輯。若sb2按下,無(wú)論sb0和sb1是否按下,但sb3~sb7均未按下;此時(shí),abc的輸出為101,經(jīng)過(guò)非門(mén)后i0.0,i0.1,i0.2的狀態(tài)分別為0,1,0;對(duì)應(yīng)的stl譯碼程序如下。
ldni0.0
ai0.1
ani0.2
=m0.2
這樣,筆者在程序里用m0.2的常開(kāi)觸點(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è)以上開(kāi)關(guān)閉合,plc只能檢測(cè)出優(yōu)先權(quán)高的那個(gè)信號(hào)。
4.2 軟件編碼和硬件譯碼,擴(kuò)展輸出點(diǎn)
在控制系統(tǒng)輸出信號(hào)較多的情況下,可以通過(guò)plc的內(nèi)部程序?qū)敵鲂盘?hào)進(jìn)行編碼,然后通過(guò)硬件譯碼器
[nextpage]
進(jìn)行譯碼,驅(qū)動(dòng)負(fù)載工作,這可以大大的減少對(duì)輸出點(diǎn)的占用。plc的外部接線如圖6所示,采用3線-8線譯碼器74ls138。此時(shí),同樣存在電平匹配的問(wèn)題,即plc的直流模塊典型輸出為+24v,而信號(hào)電路的工作電壓一般為+5v,因此,有時(shí)同樣需要增加信號(hào)電路以及功率放大電路以驅(qū)動(dòng)負(fù)載工作。
圖6 plc接線圖
下面以如何讓q2為1為例,說(shuō)明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的常開(kāi)觸點(diǎn)和i0.1、i0.2的常閉觸點(diǎn)相與來(lái)識(shí)別sb1的狀態(tài);若sb2按下時(shí),i0.0和i0.1均為“1”,i0.2為“0”,此時(shí)識(shí)別程序應(yīng)該為i0.0和i0.1的常開(kāi)觸點(diǎn)與上i0.2的常閉觸點(diǎn);其它點(diǎn)的情況類(lèi)似,輸入信號(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上,則可以通過(guò)將3個(gè)點(diǎn)的常開(kāi)觸點(diǎn)相與來(lái)識(shí)別sb7,但這樣過(guò)于繁瑣,因此一般不采用。
圖7 硬件接線圖
4.4 用輸入/輸出口組成矩陣式鍵盤(pán)
若控制系統(tǒng)需要設(shè)計(jì)鍵盤(pán),常規(guī)的思路是每個(gè)按鍵接一個(gè)輸入口。然而,當(dāng)鍵數(shù)增加時(shí),極為浪費(fèi)輸入點(diǎn),因此仿照微機(jī)系統(tǒng)中制作矩陣式鍵盤(pán)的思路,在plc系統(tǒng)中利用i/o點(diǎn)組成矩陣式鍵盤(pán),如圖8所示為3×3鍵盤(pán)結(jié)構(gòu)圖。編程思路:首先,判斷整個(gè)鍵盤(pán)上有無(wú)鍵按下,方法是將行全輸出為1,然后讀入列的狀態(tài),如果列讀入的狀態(tài)全為0,則無(wú)鍵按下,不全為0則有鍵按下;其次,逐列掃描,方法是依次將行線送1,檢查對(duì)應(yīng)列線的狀態(tài),若列線全為0,則按鍵不在此行;若不全為0,則按鍵必在此行,且是與1電平列線相交的那個(gè)鍵。由此可見(jiàn),對(duì)應(yīng)的軟件編程比較復(fù)雜,但是在有些小型的控制系統(tǒng)中可以避免增加操作屏或觸摸屏,從而提高系統(tǒng)性價(jià)比。若需要詳細(xì)的硬件設(shè)計(jì)圖和軟件程序可與作者聯(lián)系。
圖8 3×3鍵盤(pán)結(jié)構(gòu)圖
5 結(jié)束語(yǔ)
本文從硬件設(shè)計(jì)、軟件編程以及硬件軟件結(jié)合三個(gè)方面探討了擴(kuò)展plc i/o點(diǎn)的方法。在具體應(yīng)用時(shí),還需考慮每種擴(kuò)展方法的一些優(yōu)缺點(diǎn)以及抗干擾能力等問(wèn)題。若能合理的利用這些方法,必能有效的節(jié)省plc的i/o點(diǎn)數(shù),降低系統(tǒng)成本,提供性價(jià)比,更為充分的發(fā)揮plc的優(yōu)勢(shì)。
上一個(gè):hawe液壓(德國(guó)品質(zhì)保障軌道交通行業(yè)不可或缺的好幫手)
下一個(gè):愛(ài)澤工業(yè)2018年4月部分到貨產(chǎn)品專(zhuān)題及庫(kù)存 DYNAPAR編碼器篇

誤工費(fèi)交通費(fèi)怎么計(jì)算?
代辦注冊(cè)公司要注意的問(wèn)題有什么
厚膜電阻器為什么比其他電阻應(yīng)用的廣泛?
網(wǎng)站內(nèi)容被復(fù)制和網(wǎng)站權(quán)重之間有何聯(lián)系
勛章花栽培管理
什么是基準(zhǔn)電源,基準(zhǔn)電源如何選型?
戴爾筆記本斷電后開(kāi)不了機(jī),戴爾筆記本電腦更新時(shí)強(qiáng)制關(guān)機(jī)后開(kāi)不了機(jī)該怎么辦 一直顯示這個(gè)畫(huà)
從大環(huán)境看物聯(lián)網(wǎng)發(fā)展四大重點(diǎn)
協(xié)議離婚子女撫養(yǎng):協(xié)議離婚孩子撫養(yǎng)權(quán)怎么協(xié)商
AF0201FR-071K27L,國(guó)巨抗硫化電阻器
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos