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