《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 開放式可編程控制器的設計
開放式可編程控制器的設計
來源:微型機與應用2011年第5期
陳新欣,,鄧錦熾
(肇慶科技職業(yè)技術學院 電氣工程系,,廣東 肇慶 526114)
摘要: 介紹了一種與單片機主從結(jié)構(gòu),、開放,、模塊化,、低成本、小型的可編程控制器(PLC),,建立了開放式可編程控制器的結(jié)構(gòu)模型,,選用51內(nèi)核單片機STC89C51作為PLC的處理器,使用開發(fā)工具Borland C++ Builder設計開發(fā)PLC用戶編程界面,,采用USB通信接口實現(xiàn)計算機與可編程控制器的連接,。
Abstract:
Key words :

摘  要: 介紹了一種與單片機主從結(jié)構(gòu),、開放、模塊化,、低成本,、小型的可編程控制器(PLC),建立了開放式可編程控制器的結(jié)構(gòu)模型,,選用51內(nèi)核單片機STC89C51作為PLC的處理器,,使用開發(fā)工具Borland C++ Builder設計開發(fā)PLC用戶編程界面,采用USB通信接口實現(xiàn)計算機與可編程控制器的連接,。
關鍵詞: 單片機,;開放式;PLC,;C++ Builder,;USB

 目前,國內(nèi)用戶選用的可編程控制器(PLC)仍以國外產(chǎn)品為主,,造成這種局面的一個重要原因是歐,、美、日等發(fā)達工業(yè)國家掌握了高端PLC的核心技術,,其硬軟件技術對應用者來說完全是封閉的,,使用者只能從應用的角度學習PLC,而不能參與PLC的開發(fā)[1-2],。近年來,,IEC61131-3國際標準的頒布和實施為各PLC生產(chǎn)廠家提供了統(tǒng)一的軟件開發(fā)準則,開放的高性能單片機技術的發(fā)展,,為硬件開發(fā)提供了有效的物質(zhì)基礎[3],。在這樣的背景下,研制開放的PLC系統(tǒng)無論對于科學研究還是促進PLC行業(yè)的發(fā)展都有積極的現(xiàn)實意義,。
 PLC是一種專用于工業(yè)控制的計算機,,其硬件主要由中央處理器、存儲器,、輸入/輸出接口等組成[4],,其硬件結(jié)構(gòu)如圖1所示。

1 開放式可編程控制器
 開放式PLC硬件結(jié)構(gòu)采用CPU+外圍模塊+接口構(gòu)成,,各個接口都按標準設計,,大大提高了PLC的開放性,使其能方便地與大系統(tǒng)連接,。編程語言遵循國際標準IEC61131-3,,并將基于PC的編程軟件作為PLC首選編程工具。系統(tǒng)硬件部分采用高性能51內(nèi)核處理器STC89C51,其為模塊化設計,,采用濾波,、隔離電路,以降低成本,。主要電路有:微控制器STC89C51RC,、開關量輸入電路、繼電器輸出電路,、晶體管輸出電路,、RS232通信接口電路、電源電路,、時鐘復位電路和USB通信接口電路等,,PLC硬件系統(tǒng)框圖如圖2所示,軟件采用Borland公司集成開發(fā)軟件C++ Builder,,通過集成平臺對51內(nèi)核處理器指令集進行解釋,、編譯,使梯形圖語言轉(zhuǎn)換為能被51內(nèi)核處理器識別的代碼,。

2 系統(tǒng)硬件設計
 可編程控制器單片機部分電路圖如圖3所示,。

 USB通信部分選擇Philips公司的PDIUSBD12[5]芯片作為系統(tǒng)的USB接口器件,片內(nèi)集成了高性能USB接口電路,、SIE,、FIFO存儲器、收發(fā)器以及電壓調(diào)整器等,,可與任何外部控制器或微處理器實現(xiàn)高速并行通信,,其速率為2 Mb/s,完全能夠滿足設計所要求的數(shù)據(jù)傳輸速度,。USB通信接口模塊電路如圖4所示,。

3 系統(tǒng)軟件設計
 系統(tǒng)軟件結(jié)構(gòu)如圖5所示。圖中,,系統(tǒng)編輯模塊為用戶提供編輯環(huán)境,,接收用戶的梯形圖程序輸入,并將其存儲為相應的文件,。梯形圖語言為一種圖形語言,,要直接對其進行編譯十分困難,因此并不是直接對梯形圖程序進行編譯,,而是先將其翻譯成指令語言的文本形式,,再對指令語言進行編譯。圖形語言編譯問題的解決,,提高了代碼的利用率[6-7],。通過提取數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù),形成C語言程序文件,,經(jīng)過C51編譯器,、連接器、轉(zhuǎn)換器的編譯,、連接,、轉(zhuǎn)換過程,生成能夠在PLC硬件上運行的可執(zhí)行文件,。

3.1 用戶界面
 PLC用戶界面是實現(xiàn)可編程人機交互的重要部分,,它以梯形圖語言的形式錄入用戶控制程序,以二進制形式通過串口下載到PLC硬件,,其梯形圖表示的用戶編程區(qū)如圖6所示,。

 PLC在進行邏輯運算之前,必須對外部信號進行采樣[8],,若要實現(xiàn)指令的功能,,首先要設置外部I/O在梯形圖中的地址,系統(tǒng)才能夠?qū)τ脩舫绦蛑兴褂玫腎/O地址與單片機的引腳地址相匹配,。本設計在I/O設置對話框底層設計了如表1所示的數(shù)據(jù)處理函數(shù),。
3.2 USB通信
 PDIUSBD12的固件設計成完全的中斷驅(qū)動,當CPU處理前臺任務時,,USB的傳輸可在后臺進行,;后臺中斷服務程序和前臺主程序循環(huán)之間的數(shù)據(jù)交換可以通過事件標志和數(shù)據(jù)緩沖區(qū)來實現(xiàn)。當PDIUSBD12從USB收到一個數(shù)據(jù)包,,即對CPU產(chǎn)生一個中斷請求,,CPU立刻響應中斷。在中斷服務程序中,,固件將數(shù)據(jù)包從PDIUSBD12內(nèi)部緩沖區(qū)移到循環(huán)數(shù)據(jù)緩沖區(qū),,并將PDIUSBD12的內(nèi)部緩沖區(qū)清零,以便接收新的數(shù)據(jù)包,,使CPU可以繼續(xù)執(zhí)行當前的前臺任務直到完成,。本文利用PDIUSBD12的端點1進行命令的傳輸和應答,端點1每次接收計算機發(fā)送過來的8 B指令,,其指令格式如表2所示,。例如,接收到十六進制碼52 01 00 03 00 07 00 50,,表示讀24C01器件從03字節(jié)開始的7個字節(jié)的數(shù)據(jù),。52H為R的ASCII碼,57H為W的ASCII碼,。端點2用于數(shù)據(jù)的傳輸,。
 本文在了解PLC國內(nèi)外研究狀況以及其市場需求的基礎上,,提出了研發(fā)開放式PLC的概念,完成了PLC集成開發(fā)系統(tǒng)的C51模塊實現(xiàn)方案的設計,,將USB通信方式引入PLC領域,,所設計的梯形圖編輯器提供了梯形圖編輯平臺,實現(xiàn)了PLC的基本邏輯指令,,完成計算機與控制器的USB通信,。
參考文獻
[1] 楊錦尊.可編程控制器的特點及其發(fā)展動向[J].現(xiàn)代電子技術,2007(14):1-2.
[2] 廖常初.PLC的發(fā)展趨勢[J].電氣時代,,2003(12):54-56.
[3] ARC. China developing strategic strength in PLC market [J].Plant Engineering,, 2008, 62(1):14.
[4] 陳立定,,吳玉香,,蘇開才.電氣控制與可編程控制器[M].廣州:華南理工大學出版社,2003.
[5] 周立功.PDIUSBD12 USB固件編程和驅(qū)動開發(fā)[M].北京:北京航空航天大學出版社,,2006.
[6] 藏國杰.可編程人機交互系統(tǒng)的研究和開發(fā)[D].杭州:浙江大學,,2006.
[7] 郭福帥.基于IEC61131標準的可編程控制器研究和實現(xiàn)[D].大連:大連理工大學,2006.
[8] 齊中偉.通用PLC仿真與圖形編程系統(tǒng)[J].機電工程,,1998,,15(1):24-26.
(

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。