PLC擴展控制器的設計及其應用
PLC擴展控制器的設計及其應用
可編程控制器(PLC)在眾多程控系統中已得到了廣泛的應用。它以其高可靠性、邏輯控制的設計實現方便靈活的控制等優點,成為許多工程技術人員必須掌握的主要二次設備之一。
在實際應用中,程控系統往往采用模擬屏上的設備燈來實時反映各設備狀態,而模擬屏上各設備燈的亮、滅、閃等狀態通常由PLC輸出點直接控制,雖然PLC處理點燈問題也比較方便。但在設備燈很多(尤其是在百只以上)的情況下,如果仍由PLC直接控制點燈,一方面需占很多PLC輸出點,即需很多輸出模板和較多的投資。另一方面也占用了主機很多處理時間。當主機負荷較高,則會影響實時性。如果能設計出一種PLC擴展控制器,通過串行通信接受主機指令,點燈、熄燈、閃爍等工作由它自行完成,則一方面可以節省較多費用,另一方面可以簡化PLC的編程,提高控制的實時性。
筆者在設計半山電廠全廠輸煤程控系統的模擬屏的點燈處理時就遇到了如下情況。該系統采用AB公司的大型可編程控制器PLC-5,由于模擬屏上需控制的設備燈的數量多達300多只,采用PLC直接控制點燈,則需要16點、24 V的開關量輸出模板10多塊,由于需顯示皮帶的流動效果,PLC需不停地對燈進行控制,影響程控的實時性。基于這種情況,筆者設計開發了以ATMEL89C2051單片機為核心的PLC擴展控制器實現點燈,它通過與PLC的CPU模塊進行通訊來實現,以代替10多塊PLC輸出點。
二、擴展控制器設計
1、整體結構
AB公司的PLC-5的CPU模板帶一個RS-232串行通信口,PLC自身編程及與上位機的通訊通過DH+網實現,該串行口也可以由用戶自己控制使用,因此,它可以用于實現與擴展控制器的通訊功能。
半山電廠輸煤程控系統采用的模擬屏上共有21條皮帶,長短不一,都要考慮流動效果。采用分散控制方式,每條皮帶設計1個擴展控制器,共21個擴展控制器,每擴展控制器可以控制6個輸出點,21個擴展控制器采用主從式樹型連接、異步串行通信。其組成結構如圖1所示(點燈部分以9號皮帶為例)。
2、擴展控制器設計原理
(1)硬件設計
ATMEL公司生產的MCS-51兼容系列單片機89C2051單片機,內含2 KBFlash Memory,外圍電路簡單,在微型控制器中設計相當方便。設置開關可設置控制器編號,控制器基本結構如圖2所示。
由圖2可見,該控制器線路簡潔,并不存在單片機系統中常見的外部數據RAM,外部程序ROM等外圍芯片,只需加一片232通信轉換芯片即可。整體尺寸為50 mm×50 mm,只有手掌般大小。輸出功率部分用8050三極管,開路集電極輸出,輸出電流可達1 A以上,系統最長皮帶可有23只燈,每只燈額定電流只有20 mA,負載總電流不到0.5A。
(2)擴展控制器軟件設計
有了以上的設計思路,2051的編程就變得比較容易了。基本實現方法是PLC將各條皮帶的狀態實時地分級傳送至各皮帶的的擴展控制器,各控制器識別自身的編號后取對應的燈信號信息實時刷新模擬屏點上狀態燈。皮帶燈滾動頻率、滾動方式(明流動或暗流動)都由PLC程序直接控制(用戶可在PLC的人機界面上修改)。
該程序設置兩個中斷源,其一是串行口接收中斷,接收點燈信息,其二是50 ms的內部時間中斷,用來控制燈閃爍或燈流動。主程序流程框圖如圖3所示。
三、系統投用情況
該系統自1998年11月在半山電廠安裝運行,至今情況良好。由于擴展控制器與PLC之間的通信采用了光電隔離,使得整個點燈回路與PLC安全隔離,從硬件上保證了系統的安全性、可靠性。
使用了擴展控制器后,一方面節省了成本,另方面簡化了PLC的編程,降低了PLC的CPU負荷,使PLC系統的實時性得到了很大的改善,提高了系統的可靠性。