一種用Atmel89c2051仿真PLC控制的方法
1 引言
本文引用地址:http://m.butianyuan.cn/article/173862.htm用Atmel89c2051來仿真PLC的控制,能集單片機(jī)控制和PLC控制的優(yōu)點(diǎn)。單片機(jī)控制作為嵌入式系統(tǒng)的核心技術(shù),具有高可靠性和高性價(jià)比,而且小巧靈瓏、成本低廉;PLC控制中的梯形圖編程與繼電接觸控制電原理圖相似,簡單易學(xué),深受電氣技術(shù)人員的歡迎。筆者設(shè)計(jì)了以89C2051單片機(jī)為主控芯片的硬件線路,以此仿真板為硬件平臺,允許用戶先按梯形圖對控制對象編程,這對繼電接觸控制技術(shù)較為熟悉的電氣技術(shù)人員來說提供了方便。由于仿真板本身是一個(gè)不帶編譯程序的仿真PLC的單片機(jī)應(yīng)用系統(tǒng),所以,先要將梯形圖轉(zhuǎn)化為MCS51匯編指令程序。然后,用51系列仿真器,對轉(zhuǎn)化后的匯編源程序進(jìn)行編輯、編譯,直至輸出Intel HEX文件,并將此十六進(jìn)制文件的內(nèi)容寫入到89C2051芯片中。最后,將固化好的89C2051芯片插入其仿真板座子上,就能成功地進(jìn)行預(yù)定的PLC的仿真控制了。
該仿真電路板價(jià)格低廉,使得使用者無需購買上千元的PLC,就能進(jìn)行仿真PLC的控制。因此,它又十分適合做成專用的功能電路模塊而開發(fā)成產(chǎn)品,還特別適合于教師在講述PLC控制時(shí)的演示實(shí)驗(yàn)。同時(shí),只要修改89C2051芯片中的程序,就能改變仿真板的控制功能,所以仿真板又是“柔性”的。
2 ATMEL89C2051單片機(jī)仿真PLC電路原理
2.1 仿真電路板的電路原理分析
ATMEL89C2051是20引腳的與8051兼容的8位高性能單片機(jī)。它內(nèi)部含有2K字節(jié)閃速存儲器,正是閃存的特點(diǎn),使得ATMEL89系列單片機(jī)具有讀寫容易、價(jià)格低、功耗低和掉電信息不丟等優(yōu)點(diǎn)。這也就是筆者在硬件結(jié)構(gòu)上首先想到了用ATMEL89C2051作為PLC仿真控制電路的主控芯片。圖1給出了用89C2051單片機(jī)仿真PLC簡化后的電路原理。圖1左下部分是仿真電路板的輸入電路,由SB1~SB5、R3~R7和作為輸入口的P3組成,5個(gè)開關(guān)的狀態(tài)分別輸入到P3口的P3.2~P3.5和P3.7。例如SB1和R3相連端是與引腳P3.2相連的,SB1未按下時(shí),由于下拉電阻R3接地,輸入到P3.2的是低電平;當(dāng)SB1按下時(shí),5V電壓就通過開關(guān)SB1加到了P3.2,輸入到P3.2的是高電平。這里只用了P3口的5條口線,留下的P3.0和P3.1還可以接2個(gè)開關(guān),可以參照圖1進(jìn)行擴(kuò)充。
圖1中C2、C3和CR1晶體振蕩器與單片機(jī)內(nèi)部振蕩器組成的振蕩電路構(gòu)成了時(shí)鐘電路。C1、R2構(gòu)成了上電復(fù)位電路。SB6按鍵按下后,將引起按鍵復(fù)位。
下面來分析圖1右邊部分電路,右邊部分是仿真電路板的輸出電路,P1口是作為輸出口來使用的。P1.0的輸出電路由R8、R9、R13、發(fā)光二極管D1、三極管T1和微型繼電器KM1組成。R8是 P1.0的拉升電阻,又同R9一起給三極管T1提供偏置電流。P1.0輸出信號經(jīng)過三極管T1反相放大,去驅(qū)動繼電器,再由繼電器去驅(qū)動執(zhí)行機(jī)構(gòu)。當(dāng)P1.0輸出低電平時(shí),三極管T1截止,T1的集電極為高電平,發(fā)光二極管不亮,繼電器KM1也不得電。反之,當(dāng)P1.0輸出高電平時(shí),三極管T1飽和導(dǎo)通,T1的集電極為低電平,發(fā)光二極管點(diǎn)亮,繼電器KM1也得電??梢姲l(fā)光二極管的狀態(tài)與繼電器的通斷狀態(tài)是一致的,所以可以將發(fā)光二極管作為反映輸出機(jī)構(gòu)狀態(tài)的指示。P1.1的輸出電路由R10~R12、發(fā)光二極管D2、三極管T2和微型繼電器KM2組成,其工作原理的分析也是一樣的。不過圖1中只用了P1.0和P1.1兩個(gè)口線,留下的P1.2~P1.7還可以接6個(gè)輸出驅(qū)動電路,如果需要的話,可以參照圖1進(jìn)行擴(kuò)充。
2.2 仿真電路板與被仿真PLC的輸入/輸出端口之間的對應(yīng)關(guān)系
首先要明確圖1仿真電路與被仿真PLC的輸入/輸出端口之間的對應(yīng)關(guān)系。從圖1可以看出,89C2051的P3口對應(yīng)為PLC的輸入口, P1口對應(yīng)為PLC的輸出口。表1中按端口順序給出了一種對應(yīng)關(guān)系,P3.0~P3.5依次對應(yīng)的是X000~X005,P3.7對應(yīng)的是X007;P1.0~P1.7依次對應(yīng)的是Y000~Y007。必須指出表1給出的僅僅是一種對應(yīng)關(guān)系,完全可以按照實(shí)際的輸入/輸出情況進(jìn)行對應(yīng),如也可以將P3.7對應(yīng)為X000,等等。
3 仿真板的編程思路
3. 1 梯形圖與MCS51匯編指令間的一一對應(yīng)關(guān)系
能否把FX2系列PLC的梯形圖轉(zhuǎn)化為51匯編指令程序呢?筆者想到了89C2051具有布爾代數(shù)指令,特別是其中的位操作的邏輯指令,可以用這些位操作邏輯指令來替換FX2系列PLC的梯形圖中的對應(yīng)的基本邏輯指令。例如,可以用MCS-51的位與指令來替換PLC的接點(diǎn)串聯(lián)指令,可以用MCS-51的位或指令來替換PLC的接點(diǎn)并聯(lián)指令。下面將在仿真PLC控制中經(jīng)常用到的可以替換的指令用表2列出。
評論