圖2-1
PLC編程邏輯控制器,是一種數(shù)字運(yùn)算操作的電子系統(tǒng),專為待定工業(yè)環(huán)境應(yīng)用而設(shè)計(jì)的。它采用一類可編程的存儲(chǔ)器,用于其內(nèi)部存儲(chǔ)程序,執(zhí)行邏輯運(yùn)算,定時(shí)計(jì)數(shù)與算術(shù)操作等面向用戶的指令.并通過數(shù)字或模擬式輸入,輸出控制各種類型的機(jī)械或生產(chǎn)過程。包括輸入中央處理器模塊、輸出模塊、通訊模塊等,輸入模塊就好比人的視覺、聽覺、觸覺、嗅覺等,收集外部信息的感官.工業(yè)過程中輸入模塊就是不停的采集一些需要的狀態(tài)各種物理信號(hào)、位置型號(hào)等.稱之為收集系統(tǒng)條件信號(hào)。CPU內(nèi)是保存著我們寫的完成特殊任務(wù)的程序,一直不停地循環(huán)運(yùn)行,運(yùn)行程序中就包含輸入模塊的信號(hào)作為條件,而以這些條件結(jié)合程序就會(huì)有結(jié)果出來,這些結(jié)果就會(huì)通過輸出模塊輸出信號(hào)控制現(xiàn)場(chǎng)的設(shè)備動(dòng)作,或者在上位機(jī)畫面上顯示數(shù)據(jù)等。由于可編程控制器可靠性高、控制能力強(qiáng),可以方便靈活地改變生產(chǎn)程序,所以在工業(yè)自動(dòng)化控制中有出較大的優(yōu)越性從控制功能上看.可編程序控制器的發(fā)展經(jīng)歷了四個(gè)階段第一階段:從第一臺(tái)可編程序控制器問世到20世紀(jì)70年代中期,是其初創(chuàng)階段。這一階段的產(chǎn)品主要用于計(jì)時(shí)、計(jì)數(shù)運(yùn)算和邏輯運(yùn)算,CPU是由中小規(guī)模的數(shù)字集成電路組成的,其控制功能較簡(jiǎn)單;第二階段:從20世紀(jì)70年代中期到末期,是其擴(kuò)展階段。產(chǎn)品的主要控制功能在這個(gè)階段得到了較大的發(fā)展.一是從可編程序控制器發(fā)展而來的控制器,主要功能除了邏輯運(yùn)算以外還擴(kuò)展了其他運(yùn)算功能,二是從模擬儀表發(fā)展而來的控制器,其在模擬運(yùn)算的主要功能外還擴(kuò)展了邏輯運(yùn)算功能,因此,前者被稱為可編程序邏輯控制器(PLC),后者被稱為單回路或多回路控制器。這一階段的產(chǎn)品有西門子公司的SYMATICS3系列,富士電機(jī)公司的sC系列等產(chǎn)品;第三階段:從2O世紀(jì)70年代末期到8O年代中期,這個(gè)階段是PLC通信功能實(shí)現(xiàn)階段,與計(jì)算機(jī)通信的發(fā)展相聯(lián)系,PLC初步形成了分布式的通信網(wǎng)絡(luò)體系,但是由于制造企業(yè)各自為政,通信系統(tǒng)自成系統(tǒng),各產(chǎn)品的互相通信還是較困難;第四階段:自20世紀(jì)80年代中期以后.是PLC的開放階段。由于提出了開放系統(tǒng),PLC得到了較大發(fā)展。通信系統(tǒng)開放后,各制造企業(yè)的產(chǎn)品可以自由通信,通信協(xié)議標(biāo)準(zhǔn)化使用戶得到了好處,因此,產(chǎn)品規(guī)模不斷增大,通信功能不斷完善,大中型的產(chǎn)品多數(shù)有CRT屏幕的顯示功能,通信功能的改善也使產(chǎn)品的擴(kuò)展變得更加方便,此外,在這一階段還采用了標(biāo)準(zhǔn)的軟件系統(tǒng),增加了高級(jí)編程語(yǔ)言等,這一階段的產(chǎn)品有AB公司的PLC-5、西門子公司的SYMATICS5和S7系列等。
圖2-2
圖2-3 采用上升沿微分指令編程的梯形圖程序
圖2-4 采用置位/復(fù)位指令編程的梯形圖程序
圖2-5 采用計(jì)數(shù)器指令編程的梯形圖程序
圖2-6 采用定時(shí)器指令編程的梯形圖
在PLC控制系統(tǒng)設(shè)計(jì)中,常常碰到負(fù)載的起動(dòng)與停止控制,通常的做法是采用兩只按鈕作為外部起動(dòng)與停止控制的輸入器件,在PLC中與兩只按鈕相對(duì)應(yīng)的輸入點(diǎn)數(shù)也有兩個(gè),PLC的外部接線如圖2-1所示,按鈕SB1(X0)作為起動(dòng)控制,按鈕SB2(X1)作為停止控制,這樣雖然可以達(dá)到控制目的,但需要的按鈕和連接導(dǎo)線較多,PLC的輸入點(diǎn)數(shù)也較多。但在實(shí)際工作中,可以充分利用PLC內(nèi)部多功能化的特點(diǎn),采用單個(gè)按鈕控制負(fù)載的起動(dòng)與停止,進(jìn)行改進(jìn)后的PLC外部接線如圖2-2所示,用SB替代SB1和SB2的功能,用X0替代X0和X1的功能,電路的實(shí)際接線就大大簡(jiǎn)化,這樣做不僅節(jié)省了硬件成本,而且還大大減少了由于按鈕多而可能引起的故障.使電路更加經(jīng)濟(jì)合理、安全可靠,控制方便簡(jiǎn)單,具有很高的實(shí)用價(jià)值。筆者根據(jù)實(shí)際的工作經(jīng)驗(yàn)和研究成果,以松下電工FP0系列PLC為例介紹幾種單按鈕起停控制的PLC編程技術(shù)。
采用上升沿微分指令編程的梯形圖程序,如圖2-3所示,控制過程如下:
當(dāng)?shù)谝淮伟聪耂B時(shí),X0接通,使R0的線圈接通一個(gè)掃描周期,其常開觸點(diǎn)閉合,Y0的線圈接通并自鎖,啟動(dòng)外部負(fù)載工作運(yùn)行;同時(shí),Y0的對(duì)常開觸點(diǎn)閉合,為R1的線圈接通做準(zhǔn)備;當(dāng)?shù)?次按下按鈕SB時(shí),X0接通,R0再次接通一個(gè)掃描周期,R1的線圈被接通,R1的常閉觸點(diǎn)分?jǐn)?,Y0的線圈斷開,外部負(fù)載停止工作。反復(fù)按下SB,將會(huì)重復(fù)上述控制過程。
圖2-7 采用保持指令編程的梯形圖程序
圖2-8 采用移位寄存器指令編程的梯形圖程序
圖2-9 采用MC/MCR指令編程的梯形圖程序
圖2-10 用基本比較指令編程的梯形圖
圖2-11 采用高級(jí)指令F132(BTI)編程的梯形圖程序
采用置位/復(fù)位指令編程的梯形圖程序,如圖2-4所示,控制過程如下:
當(dāng)按下SB時(shí),X0接通,R0的線圈接通一個(gè)掃描周期,其常開觸點(diǎn)閉合,R2置位(閉合)且保持,R2的一對(duì)常開觸點(diǎn)閉合,Y0的線圈接通,啟動(dòng)外部負(fù)載工作運(yùn)行;同時(shí),R2的另一對(duì)常開接點(diǎn)閉合,為R1的線圈接通做準(zhǔn)備;當(dāng)再次按下SB時(shí),X0接通,使R0的線圈再次接通一個(gè)掃描周期,R1的線圈接通,R1的常開接點(diǎn)閉合,R2復(fù)位(斷開)且保持,Y0的線圈斷開,外部負(fù)載停止工作運(yùn)行。之后依次按下SB的工作情形與上述相同。
采用計(jì)數(shù)器指令編程的梯形圖程序,如圖2-5所示,控制過程如下:
第一次按下SB時(shí),X0接通一個(gè)掃描周期,CT100計(jì)數(shù)1次,Y0的線圈接通并自鎖;第二次按下SB時(shí),X0再次接通一個(gè)掃描周期,CT100再計(jì)數(shù)1次,累計(jì)計(jì)數(shù)2次,則C100常閉觸點(diǎn)斷開,Y0的線圈斷開,且C100常開觸點(diǎn)閉合使CT100復(fù)位,為下一次計(jì)數(shù)作好準(zhǔn)備。然后又開始新一輪的循環(huán)。
采用定時(shí)器指令編程的梯形圖程序如圖2-6所示??刂七^程如下:
定時(shí)器TMR0的設(shè)定值為1,定時(shí)時(shí)間為0.01s(設(shè)定值值盡可能小,以防止啟動(dòng)后出現(xiàn)異常情況時(shí),便于立即停車)。當(dāng)按下SB時(shí),X0接通一個(gè)掃描周期,Y0的線圈被置位接通。Y0的常開觸點(diǎn)使定時(shí)器TMR0定時(shí)0.01s后啟動(dòng),其常閉觸點(diǎn)斷開,而常開觸點(diǎn)閉合,為Y0的復(fù)位做準(zhǔn)備;當(dāng)再次按下SB時(shí),X0又接通一個(gè)掃描周期,由于X0和TMR0的常開觸點(diǎn)都接通,Y0復(fù)位,Y0的線圈斷開。如此循環(huán)往復(fù)。
采用保持指令編程的梯形圖程序,如圖2-7所示,控制過程如下:
當(dāng)按下SB時(shí),X0接通,R0的線圈接通一個(gè)掃描周期,置位觸發(fā)信號(hào)R0的常開觸點(diǎn)閉合,使KP置位,Y0的線圈接通,Y0的常開觸點(diǎn)閉合,為R1接通做準(zhǔn)備;當(dāng)再次按下SB時(shí),X0接通,R0的線圈再次接通一個(gè)掃描周期,R1的線圈也接通一個(gè)掃描周期,復(fù)位信號(hào)R1的常開觸點(diǎn)閉合,使KP復(fù)位,Y0的線圈斷開。每按下SB一次,Y0的狀態(tài)反轉(zhuǎn)一次。
采用移位寄存器指令編程的梯形圖程序,如圖2-8所示,控制過程如下:
圖中是對(duì)WR0進(jìn)行左移1位的操作,移入的數(shù)據(jù)是0還是1由R0的狀態(tài)決定,移位觸發(fā)信號(hào)為X0,復(fù)位信號(hào)R1的常開觸點(diǎn)。第1次按下SB時(shí),X0接通,由于起初R0(WR的0位)的常閉觸點(diǎn)閉合,向移位寄存器SR WR0端輸入信號(hào),1被移入R0,R0的常開觸點(diǎn)閉合,Y0的線圈接通,同時(shí),R0的常閉觸點(diǎn)斷開;第2次按下SB時(shí),X0接通,向左移位寄存器SR WR0端輸入信號(hào),SR WR0左移一位,1被移入R1,由于R0的常閉觸點(diǎn)斷開,0被移入R0,R0復(fù)位,Y0的線圈斷開,R1的常開觸點(diǎn)閉合,WR0的16位繼電器狀態(tài)全部為0,此時(shí),電路恢復(fù)最初狀態(tài),為下次起動(dòng)做準(zhǔn)備。
采用主控指令編程的梯形圖程序,如圖2-9所示,控制過程如下:
當(dāng)按下SB時(shí),X0接通,進(jìn)入MC,MCE指令程序,由于Y0常閉觸點(diǎn)初始閉合,R0的線圈接通并自鎖,R0常閉觸點(diǎn)分?jǐn)鄬?duì)R1的線圈互鎖,R0常開觸點(diǎn)閉合,Y0的線圈接通并自鎖,松開SB后,結(jié)束執(zhí)行MC,MCE之間指令程序,R0復(fù)位;當(dāng)再次按下SB時(shí),X0接通,又重新進(jìn)入MC,MCE指令程序,由于Y0的線圈已接通,R0線圈通路已被Y0的常閉觸點(diǎn)分?jǐn)?,R0的線圈不再接通,R1的線圈通路則被Y0常開觸點(diǎn)閉合而接通并自鎖,R1的常閉觸點(diǎn)分?jǐn)啵湟粚?duì)觸點(diǎn)使Y0的線圈斷開,另一對(duì)觸點(diǎn)則對(duì)R0的線圈互鎖,不會(huì)因?yàn)閅0的常閉觸點(diǎn)復(fù)位后導(dǎo)致R0和Y0的線圈再接通的錯(cuò)亂控制現(xiàn)象。松開SB后,結(jié)束執(zhí)行MC,MCE之間指令程序,R1復(fù)位。之后依次按下SB的控制過程與上述的相同。
采用基本比較指令編程的梯形圖程序,如圖2-10所示,控制過程如下:
當(dāng)按下SB時(shí),X0接通觸發(fā)CT100計(jì)數(shù)1次,經(jīng)過值減1,此時(shí),經(jīng)過值寄存器EV100=K1,使Y0的線圈接通;當(dāng)再次按下SB時(shí),X0接通觸發(fā)CT100再計(jì)數(shù)1次,累計(jì)計(jì)數(shù)2次,經(jīng)過值再減1,此時(shí),經(jīng)過值寄存器EV100=K0,使Y0的線圈斷開,與此同時(shí),CT100的常開觸點(diǎn)C100閉合觸發(fā)CT100,使CT100復(fù)位。反復(fù)按下SB,將會(huì)重復(fù)上述控制過程。
采用高級(jí)指令指令編程的梯形圖程序,如圖2-11所示,控制過程如下:
高級(jí)指令,可以方便的實(shí)現(xiàn)數(shù)據(jù)傳輸、算術(shù)運(yùn)算、比較、變換、移位、位控制等各種功能。熟悉并在實(shí)際中合理的應(yīng)用合適的高級(jí)指令,可以大大簡(jiǎn)化程序,采用高級(jí)指令F132(BTI)使WY0的0位即Y0在X0的每次上升沿變反,即可實(shí)現(xiàn)控制要求。
由于PLC具有豐富的指令集,編程十分簡(jiǎn)單靈活,同樣的控制要求可以選用不同的指令進(jìn)行編程,編程人員需要在實(shí)踐中不斷摸索和提高自己的編程技巧,才能充分發(fā)揮PLC的優(yōu)勢(shì),實(shí)現(xiàn)各種控制要求。
[1]李紅衛(wèi).PLC技術(shù)的發(fā)展趨勢(shì)[J].機(jī)械與電子,2011(23).
[2]林海波.PLC編程技術(shù)探討[J].長(zhǎng)春工程學(xué)院學(xué)報(bào),2001(2).
[3]李向東.可編程序控制器[M].北京:機(jī)械工業(yè)出版社,2007.
[4]史先濤.PLC編程與應(yīng)用技術(shù)[M].北京:高等教育出版社,2008.