孫傳旗 李文峰 張 兵
(山東能源肥城礦業(yè)集團(tuán) 白莊煤礦,山東 肥城 271623)
在現(xiàn)在工廠控制系統(tǒng)中,PLC 作為過程控制的核心部件,工作穩(wěn)定、運(yùn)行可靠、強(qiáng)大的控制能力和成熟的技術(shù)使其具有很大的競(jìng)爭(zhēng)優(yōu)勢(shì)。但PLC 也有其不足之處,操作過程缺乏交互性。現(xiàn)場(chǎng)工作人員無法直觀地對(duì)其工作狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控,修改運(yùn)行參數(shù)必須由專業(yè)人員使用專用的編程器來完成,不但成本高昂,而且極為不便。對(duì)于一些需要經(jīng)常更改工藝參數(shù)的應(yīng)用場(chǎng)合控制系統(tǒng),這些不足尤為突出。各PLC 公司專用的觸摸屏交互性雖好,但價(jià)格較貴,兼容性差。
針對(duì)目前應(yīng)用的問題,本文設(shè)計(jì)實(shí)現(xiàn)了基于單片機(jī)的PLC 實(shí)時(shí)控制系統(tǒng)。單片機(jī)利用PLC 必備的編程接口與之進(jìn)行通信,采用LED顯示PLC 程序執(zhí)行狀態(tài),使用按鍵來設(shè)置工藝參數(shù)。
AT89 系列單片機(jī)是美國ATMEL 公司生產(chǎn)的8 位Flash 系列單片機(jī),與INTEL 公司生產(chǎn)的MCS-51 單片機(jī)兼容,是市場(chǎng)的主流產(chǎn)品。其特點(diǎn)如下:
1)片內(nèi)含有Flash 程序存儲(chǔ)器,開發(fā)編程方便;
2)全面兼容8051,引腳完全相同可直接取代8751;
3)具有靜態(tài)時(shí)鐘方式、降低系統(tǒng)功耗,適合便攜式系統(tǒng);
4)Flash 程序存儲(chǔ)器可以多次快速擦寫,適合學(xué)習(xí)、開發(fā)。
可編程序控制器(Programmable Logic Controller),簡(jiǎn)稱PLC,是一種專為工業(yè)環(huán)境應(yīng)用而設(shè)計(jì)的電子系統(tǒng).它采用可編程序的存儲(chǔ)器,在內(nèi)部存儲(chǔ)執(zhí)行邏輯運(yùn)算、順序控制、定時(shí)、計(jì)數(shù)和算術(shù)運(yùn)算操作的指令,并通過數(shù)字式和模擬式的輸入和輸出,控制各種類型的生產(chǎn)過程.PLC 具有編程簡(jiǎn)單,使用方便,抗干擾能力強(qiáng),在特殊的環(huán)境中仍能可靠地工作,故障修復(fù)時(shí)間短,維護(hù)方便,接口功能強(qiáng)等優(yōu)點(diǎn),因此在工業(yè)中得到了廣泛應(yīng)用。
根據(jù)要求,設(shè)計(jì)系統(tǒng)的總體結(jié)構(gòu)如圖1 所示。由圖中可以看出,設(shè)計(jì)的系統(tǒng)較為簡(jiǎn)單,采用單片機(jī)的最小系統(tǒng)即可滿足要求,整個(gè)系統(tǒng)可以分為電源電路,時(shí)鐘電路,復(fù)位電路,按鍵電路,顯示電路,RS-232 通信電路等部分。
電源電路為單片機(jī)提供5V 電壓,并保證從內(nèi)部ROM 開始執(zhí)行程序。
時(shí)鐘電路為單片機(jī)提供正確的時(shí)鐘頻率,確保單片機(jī)正常工作。復(fù)位電路保證單片機(jī)執(zhí)行程序發(fā)生錯(cuò)誤時(shí),能夠回到初始狀態(tài)重新執(zhí)行程序。
按鍵電路和顯示電路是單片機(jī)的輸入輸出部分,使用戶可以和單片機(jī)進(jìn)行交互。
通信部分利用了MAX-232 芯片,使單片機(jī)和PLC 可以以RS-232 標(biāo)準(zhǔn)進(jìn)行通信。
圖1 系統(tǒng)總體框圖
圖2 主程序流程圖
PLC 通過Host Link 協(xié)議與單片機(jī)進(jìn)行1:1 上位鏈接通信,單片機(jī)作為上位機(jī)發(fā)送讀寫命令,實(shí)現(xiàn)的功能有:讀寫PLC 的運(yùn)行狀態(tài),讀寫繼電器區(qū)和數(shù)據(jù)區(qū)DM 的內(nèi)容,讀寫定時(shí)器/計(jì)數(shù)器的設(shè)定值和當(dāng)前值,對(duì)指定點(diǎn)或通道強(qiáng)迫置位/復(fù)位。上位機(jī)與PLC 通信,單片機(jī)是主動(dòng)的,PLC 是被動(dòng)的,每次通信由單片機(jī)主動(dòng)發(fā)起,PLC 不需編寫通信程序,但用戶應(yīng)遵循通信協(xié)議即命令幀、響應(yīng)幀的要求,在單片機(jī)上設(shè)計(jì)通信程序。為了保證單片機(jī)與PLC 的正常通信,通信前,應(yīng)保證單片機(jī)的通信參數(shù)(如幀格式、波特率、較驗(yàn)方法等) 必須和PLC 設(shè)置一致。
3.2.1 PLC 串行通信接口設(shè)置通信前,必須先在PLC 設(shè)置中正確設(shè)置如表1 所示的參數(shù)。
表1 通信參數(shù)設(shè)置
3.2.2 單片機(jī)串口設(shè)置
AT89S51 內(nèi)部有一個(gè)全雙工增強(qiáng)型UART 口,TXD(P3.1)為發(fā)端,RXD(P3.0)為接收端。它主要受兩個(gè)特殊寄存器(SCON 和PCON)的控制,可用軟件設(shè)置的四種工作方式。通信工作方式中,方式1 是標(biāo)準(zhǔn)的異步通信方式,此方式工作時(shí),串行口為8 位異步通信接口,每幀信息包括10 位:1 個(gè)起始位、8 個(gè)數(shù)據(jù)位和1 個(gè)停止位。波特率可變,由定時(shí)器T1 的溢出率和SMOD 的狀態(tài)決定,在CPU 的晶振為11.0592MHz 時(shí),波特率采用9600bps。通信參數(shù)設(shè)置如下:置SCON 為01010000B(50H)(串口工作方式1,允許接收),置TMOD00100000B(20H)(定時(shí)器1 工作于模式2,做波特率發(fā)生器)。
上位機(jī)鏈接通信使用的是OMRON 的Host Link 協(xié)議,在一次交換中傳輸?shù)拿罨驊?yīng)答的數(shù)據(jù)被稱為一幀,一幀最多可包含131 個(gè)數(shù)據(jù)字符。當(dāng)PLC 接收到從上位機(jī)發(fā)來的ASCII 碼命令時(shí),自動(dòng)返回ASCII 碼應(yīng)答。單片機(jī)必須有一個(gè)能控制命令和應(yīng)答的傳送和接收的程序。
當(dāng)點(diǎn)對(duì)點(diǎn)通信時(shí),塊中無設(shè)備號(hào)和校驗(yàn)碼。一幀最多128 個(gè)字符。命令塊單幀時(shí)的正文內(nèi)容最多124 個(gè)字符,多于一幀時(shí),由起始幀、中間幀、結(jié)束幀構(gòu)成,起始幀正文內(nèi)容最多125 個(gè)字符,中間幀正文最多127 個(gè)字符,結(jié)束幀正文最多126 個(gè)字符。響應(yīng)塊中包含有兩位響應(yīng)碼,單幀時(shí)的正文內(nèi)容為122 個(gè)字符,在多幀情況下,起始幀含有兩位響應(yīng)碼,正文內(nèi)容最多為123 個(gè)字符,中間幀正文最多127 個(gè)字符,結(jié)束幀正文最多126 個(gè)字符。
當(dāng)PLC 使用Host Link 協(xié)議與單片機(jī)通信時(shí),單片機(jī)具有傳送優(yōu)先權(quán),單片機(jī)總是首先向PLC 發(fā)出命令并啟動(dòng)通信,發(fā)送過程結(jié)束后,PLC 立即作出響應(yīng),然后將執(zhí)行結(jié)果返回單片機(jī),單片機(jī)接收由PLC 發(fā)出的響應(yīng)幀,二者以幀為單位輪流交換數(shù)據(jù)。PLC 處于被動(dòng)通信,無需編制通信程序。單片機(jī)需要編制上位機(jī)通信程序,該程序可以發(fā)送命令幀和接收PLC 發(fā)出的應(yīng)答幀。其中包括:發(fā)送命令子程序、接收響應(yīng)子程序。AT89S51 單片機(jī)可以工作在查詢方式也可以工作在中斷方式下,單片機(jī)作為主站不繁忙時(shí),可以采用查詢方式;當(dāng)主站任務(wù)繁忙時(shí),則不宜采用查詢方以免影響主站工作效率,需要采用在中斷方式。
其中主程序流程圖如圖2 所示。
PLC 與AT89S51 單片機(jī)之間的串行通信方法應(yīng)用于現(xiàn)代控制系統(tǒng)中,不僅發(fā)揮了PLC 控制穩(wěn)定可靠、抗干擾能力強(qiáng)的優(yōu)勢(shì),而且發(fā)揮單片機(jī)擴(kuò)展靈活、適應(yīng)性強(qiáng)的優(yōu)點(diǎn),使兩者優(yōu)勢(shì)互補(bǔ)。該方法簡(jiǎn)易實(shí)用、靈活方便、安全可靠、成本低廉,具有良好的社會(huì)效益和經(jīng)濟(jì)效益。
[1]公茂法,黃鶴松,楊學(xué)蔚,等編.MCS-51/52 單片機(jī)原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2009,3:1-3,22-37,110-120,122-144.
[2]張仁忠,滕麗娟,韓雷,王建偉.PLC 與單片機(jī)的通訊方式[J].應(yīng)用科技,2001,3,28(3).
[3]楊博,伍星,甄彩虹.基于單片機(jī)的PLC 實(shí)時(shí)控制系統(tǒng)[J].自動(dòng)化與儀表,2009(5).
[4]朱壯志,姜開林.OMRON PLC 與上位機(jī)的通訊[J].電工技術(shù),2003(6).