基于單片機的PLC系統(tǒng)的實現(xiàn)
1 引言
可編程控制器(plc)作為繼電控制盤的替代物,以極高的可靠性和應(yīng)用方便等特點,成為當(dāng)今用途最為廣泛的工業(yè)控制器?,F(xiàn)在它的應(yīng)用已突破了當(dāng)初邏輯控制的場合,深入到過程控制、位置控制、網(wǎng)絡(luò)通訊等工程領(lǐng)域。本文根據(jù)某工程的實際需要,以三菱plc為模擬目標(biāo),提出了一種以單片機構(gòu)建plc系統(tǒng)的思想。
2 系統(tǒng)構(gòu)成
系統(tǒng)框圖見圖1。
該系統(tǒng)cpu芯片使用了一種新型的51系列單片機即cygnal公司的c8051f040。其指令集與msc_51指令集完全兼容,使用方便,且采用流水線結(jié)構(gòu),其周期由標(biāo)準(zhǔn)的12個系統(tǒng)時鐘周期降為1個系統(tǒng)時鐘周期,處理能力大大提高,峰值性能可達(dá)25mips。內(nèi)部集成了64k flash rom、4352字ram、64位數(shù)據(jù)i/o口以及幾乎所有的模擬與數(shù)字外設(shè)如:adc、dac、smbus、uart、can、spi、pca、電壓比較器、溫度傳感器、可編程增益放大器等。開發(fā)工具采用標(biāo)準(zhǔn)的jtag接口,以邊界掃描方式對cpu進行非入侵式全速的在系統(tǒng)調(diào)試。其性能較之傳統(tǒng)51單片機有了很大的提高。
cpu和外部i/o接口之間采用光電耦合器件,實行強電和弱電隔離,切斷現(xiàn)場干擾。計算機通過rs232串口與plc系統(tǒng)通信,將plc程序指令傳送到plc。plc將接收到的指令保存到非易失性ram中。這樣做即可以長期保存plc程序,又可以方便地隨時修改程序。
3 plc程序的執(zhí)行過程
常見plc以掃描方式工作。每次掃描的工作過程分為三步。
(1) 輸入處理
程序執(zhí)行前,plc將全部輸入點的狀態(tài)讀到輸入鏡像寄存器。在程序執(zhí)行過程中,plc不再讀取這些輸入點的狀態(tài),直到下一個掃描周期的輸入處理。
?。?) 程序處理
plc根據(jù)讀入的外部輸入狀態(tài)和其它元件的狀態(tài)執(zhí)行用戶程序。這時的輸出指令只寫到輸出鏡像寄存器,輸出點的狀態(tài)并沒有發(fā)生變化。
?。?) 輸出處理 全部指令執(zhí)行完畢,將輸出寄存器的內(nèi)容全部刷新到外部輸出點。程序回到第一步工作過程。
本plc系統(tǒng)的工作過程與此相同。輸入處理和輸出處理用單片機實現(xiàn)起來比較容易,無需贅述。系統(tǒng)的關(guān)鍵是用戶程序的處理。下面以三菱fx系列plc一個簡單的例子來說明本plc系統(tǒng)對用戶程序的處理方法。梯形圖和相應(yīng)的指令表見圖2。
0:ld x000 9: ld x010
1:and x001 10:ld x011
2:and x002 11:and x012
3:ld x003 12:ld x013
4:or x004 13:and x014
5:anb 14:orb
6:out y000 15:or x015
7:or x006 16:anb
8:ld x010 17:out y001










