孫傳旗 李文峰 張 兵
(山東能源肥城礦業集團 白莊煤礦,山東 肥城 271623)
在現在工廠控制系統中,PLC 作為過程控制的核心部件,工作穩定、運行可靠、強大的控制能力和成熟的技術使其具有很大的競爭優勢。但PLC 也有其不足之處,操作過程缺乏交互性。現場工作人員無法直觀地對其工作狀態進行實時監控,修改運行參數必須由專業人員使用專用的編程器來完成,不但成本高昂,而且極為不便。對于一些需要經常更改工藝參數的應用場合控制系統,這些不足尤為突出。各PLC 公司專用的觸摸屏交互性雖好,但價格較貴,兼容性差。
針對目前應用的問題,本文設計實現了基于單片機的PLC 實時控制系統。單片機利用PLC 必備的編程接口與之進行通信,采用LED顯示PLC 程序執行狀態,使用按鍵來設置工藝參數。
AT89 系列單片機是美國ATMEL 公司生產的8 位Flash 系列單片機,與INTEL 公司生產的MCS-51 單片機兼容,是市場的主流產品。其特點如下:
1)片內含有Flash 程序存儲器,開發編程方便;
2)全面兼容8051,引腳完全相同可直接取代8751;
3)具有靜態時鐘方式、降低系統功耗,適合便攜式系統;
4)Flash 程序存儲器可以多次快速擦寫,適合學習、開發。
可編程序控制器(Programmable Logic Controller),簡稱PLC,是一種專為工業環境應用而設計的電子系統.它采用可編程序的存儲器,在內部存儲執行邏輯運算、順序控制、定時、計數和算術運算操作的指令,并通過數字式和模擬式的輸入和輸出,控制各種類型的生產過程.PLC 具有編程簡單,使用方便,抗干擾能力強,在特殊的環境中仍能可靠地工作,故障修復時間短,維護方便,接口功能強等優點,因此在工業中得到了廣泛應用。
根據要求,設計系統的總體結構如圖1 所示。由圖中可以看出,設計的系統較為簡單,采用單片機的最小系統即可滿足要求,整個系統可以分為電源電路,時鐘電路,復位電路,按鍵電路,顯示電路,RS-232 通信電路等部分。
電源電路為單片機提供5V 電壓,并保證從內部ROM 開始執行程序。
時鐘電路為單片機提供正確的時鐘頻率,確保單片機正常工作。復位電路保證單片機執行程序發生錯誤時,能夠回到初始狀態重新執行程序。
按鍵電路和顯示電路是單片機的輸入輸出部分,使用戶可以和單片機進行交互。
通信部分利用了MAX-232 芯片,使單片機和PLC 可以以RS-232 標準進行通信。

圖1 系統總體框圖

圖2 主程序流程圖
PLC 通過Host Link 協議與單片機進行1:1 上位鏈接通信,單片機作為上位機發送讀寫命令,實現的功能有:讀寫PLC 的運行狀態,讀寫繼電器區和數據區DM 的內容,讀寫定時器/計數器的設定值和當前值,對指定點或通道強迫置位/復位。上位機與PLC 通信,單片機是主動的,PLC 是被動的,每次通信由單片機主動發起,PLC 不需編寫通信程序,但用戶應遵循通信協議即命令幀、響應幀的要求,在單片機上設計通信程序。為了保證單片機與PLC 的正常通信,通信前,應保證單片機的通信參數(如幀格式、波特率、較驗方法等) 必須和PLC 設置一致。
3.2.1 PLC 串行通信接口設置通信前,必須先在PLC 設置中正確設置如表1 所示的參數。

表1 通信參數設置
3.2.2 單片機串口設置
AT89S51 內部有一個全雙工增強型UART 口,TXD(P3.1)為發端,RXD(P3.0)為接收端。它主要受兩個特殊寄存器(SCON 和PCON)的控制,可用軟件設置的四種工作方式。通信工作方式中,方式1 是標準的異步通信方式,此方式工作時,串行口為8 位異步通信接口,每幀信息包括10 位:1 個起始位、8 個數據位和1 個停止位。波特率可變,由定時器T1 的溢出率和SMOD 的狀態決定,在CPU 的晶振為11.0592MHz 時,波特率采用9600bps。通信參數設置如下:置SCON 為01010000B(50H)(串口工作方式1,允許接收),置TMOD00100000B(20H)(定時器1 工作于模式2,做波特率發生器)。
上位機鏈接通信使用的是OMRON 的Host Link 協議,在一次交換中傳輸的命令或應答的數據被稱為一幀,一幀最多可包含131 個數據字符。當PLC 接收到從上位機發來的ASCII 碼命令時,自動返回ASCII 碼應答。單片機必須有一個能控制命令和應答的傳送和接收的程序。
當點對點通信時,塊中無設備號和校驗碼。一幀最多128 個字符。命令塊單幀時的正文內容最多124 個字符,多于一幀時,由起始幀、中間幀、結束幀構成,起始幀正文內容最多125 個字符,中間幀正文最多127 個字符,結束幀正文最多126 個字符。響應塊中包含有兩位響應碼,單幀時的正文內容為122 個字符,在多幀情況下,起始幀含有兩位響應碼,正文內容最多為123 個字符,中間幀正文最多127 個字符,結束幀正文最多126 個字符。
當PLC 使用Host Link 協議與單片機通信時,單片機具有傳送優先權,單片機總是首先向PLC 發出命令并啟動通信,發送過程結束后,PLC 立即作出響應,然后將執行結果返回單片機,單片機接收由PLC 發出的響應幀,二者以幀為單位輪流交換數據。PLC 處于被動通信,無需編制通信程序。單片機需要編制上位機通信程序,該程序可以發送命令幀和接收PLC 發出的應答幀。其中包括:發送命令子程序、接收響應子程序。AT89S51 單片機可以工作在查詢方式也可以工作在中斷方式下,單片機作為主站不繁忙時,可以采用查詢方式;當主站任務繁忙時,則不宜采用查詢方以免影響主站工作效率,需要采用在中斷方式。
其中主程序流程圖如圖2 所示。
PLC 與AT89S51 單片機之間的串行通信方法應用于現代控制系統中,不僅發揮了PLC 控制穩定可靠、抗干擾能力強的優勢,而且發揮單片機擴展靈活、適應性強的優點,使兩者優勢互補。該方法簡易實用、靈活方便、安全可靠、成本低廉,具有良好的社會效益和經濟效益。
[1]公茂法,黃鶴松,楊學蔚,等編.MCS-51/52 單片機原理與實踐[M].北京:北京航空航天大學出版社,2009,3:1-3,22-37,110-120,122-144.
[2]張仁忠,滕麗娟,韓雷,王建偉.PLC 與單片機的通訊方式[J].應用科技,2001,3,28(3).
[3]楊博,伍星,甄彩虹.基于單片機的PLC 實時控制系統[J].自動化與儀表,2009(5).
[4]朱壯志,姜開林.OMRON PLC 與上位機的通訊[J].電工技術,2003(6).