歡迎您光臨本站 登入註冊首頁

概述

用Atmel89c2051來模擬PLC的控制,能集單片機控制和PLC控制的優點。單片機控制作為嵌入式系統的核心技術,具有高可靠性和高性價比,而且小巧靈瓏、成本低廉;PLC控制中的梯形圖編程與繼電接觸控……

用Atmel89c2051來模擬PLC的控制,能集單片機控制和PLC控制的優點。單片機控制作為嵌入式系統的核心技術,具有高可靠性和高性價比,而且小巧靈瓏、成本低廉;PLC控制中的梯形圖編程與繼電接觸控制電原理圖相似,簡單易學,深受電氣技術人員的歡迎。筆者設計了以89C2051單片機為主控晶元的硬體線路,以此模擬板為硬體平台,允許用戶先按梯形圖對控制對象編程,這對繼電接觸控制技術較為熟悉的電氣技術人員來說提供了方便。由於模擬板本身是一個不帶編譯程序的模擬PLC的單片機應用系統,所以,先要將梯形圖轉化為MCS51彙編指令程序。然後,用51系列模擬器,對轉化后的彙編源程序進行編輯、編譯,直至輸出Intel HEX文件,並將此十六進位文件的內容寫入到89C2051晶元中。最後,將固化好的89C2051晶元插入其模擬板座子上,就能成功地進行預定的PLC的模擬控制了。
該模擬電路板價格低廉,使得使用者無需購買上千元的PLC,就能進行模擬PLC的控制。因此,它又十分適合做成專用的功能電路模塊而開發成產品,還特別適合於教師在講述PLC控制時的演示實驗。同時,只要修改89C2051晶元中的程序,就能改變模擬板的控制功能,所以模擬板又是“柔性”的。
2 ATMEL89C2051單片機模擬PLC電路原理
2.1 模擬電路板的電路原理分析
ATMEL89C2051是20引腳的與8051兼容的8位高性能單片機。它內部含有2K位元組閃速存儲器,正是快閃記憶體的特點,使得ATMEL89系列單片機具有讀寫容易、價格低、功耗低和掉電信息不丟等優點。這也就是筆者在硬體結構上首先想到了用ATMEL89C2051作為PLC模擬控制電路的主控晶元。圖1給出了用89C2051單片機模擬PLC簡化后的電路原理。圖1左下部分是模擬電路板的輸入電路,由SB1~SB5、R3~R7和作為輸入口的P3組成,5個開關的狀態分別輸入到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 ATMEL89C2051模擬PLC電路原理

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,等等。


表1 模擬板與被模擬PLC的輸入/輸出埠之間的一種對應關係表
3 模擬板的編程思路
3. 1 梯形圖與MCS51彙編指令間的一一對應關係
能否把FX2系列PLC的梯形圖轉化為51彙編指令程序呢?筆者想到了89C2051具有布爾代數指令,特別是其中的位操作的邏輯指令,可以用這些位操作邏輯指令來替換FX2系列PLC的梯形圖中的對應的基本邏輯指令。例如,可以用MCS-51的位與指令來替換PLC的接點串聯指令,可以用MCS-51的位或指令來替換PLC的接點並聯指令。下面將在模擬PLC控制中經常用到的可以替換的指令用表2列出。

從表2知道,MCS51彙編指令與PLC的助記符指令間的確存在著對應關係的,可以用51單片機的ANL C,BIT指令來代替PLC的AND指令,用ORL C,BIT指令來代替OR指令,用MOV指令來代替LD、OUT指令,用51單片機的跳轉指令LJMP/AJMP來模擬PLC循環掃描描,等等。由於PLC的梯形圖與其助詞符指令之間也是一一對應的,如常開接點的串聯對應AND指令,常開接點的並聯對應OR指令,這樣,就可以用等效替換的方法將梯形圖轉化為51彙編指令程序了。替換中最常用的方法是:接點串聯使用與指令,接點並聯使用或指令,具體如何轉換將在下面的編程實例中詳細說明。
3. 2 編程實例
圖2為兩台電機順序控制的PLC控制梯形圖。控制功能如下,當按下X002按鈕后,使Y000得電而驅動泵電機動作,同時使下一梯級中的常開Y000閉合,從而使得再按X004,Y001才會得電而驅動主電機動作;否則,未按X002按鈕,而先按X004按鈕時,主電機將不會動作。按X003按鈕后,只有主電機停止,而按X001按鈕后,兩電機才會同時停止。現在要求改用模擬板來實現兩台電機順序控制。


     
圖2兩台電機順序控制的梯形圖     

圖3模擬板兩台電機順序控制的梯形圖 
改用模擬板的編程思路是,首先要確定模擬板與被模擬PLC的輸入/輸出埠之間的對應關係,可按照實際的輸入/輸出情況進行對應,其中輸出埠之間的對應關係如表1所示,而輸入埠之間的對應關係如表3所示。對圖2中的梯形圖按照上述確定的輸入/輸出對應關係進行替換,就可以得到用模擬板的兩台電機順序控制的梯形圖如圖3所示。

[admin via 研發互助社區 ] 一種用Atmel89c2051模擬PLC控制的方法已經有6645次圍觀

http://cocdig.com/docs/show-post-512.html