嵌入式軟PLC虛擬機(jī)在電氣測(cè)試中應(yīng)用
隨著現(xiàn)代工藝的高精度要求,為了適應(yīng)市場(chǎng)需求,采用可編程控制器對(duì)原繼電電氣控制系統(tǒng)進(jìn)行改造,但由于各PLC廠家硬件模塊和軟件結(jié)構(gòu)絕大多數(shù)都是專用的、互不兼容的,系統(tǒng)各模塊間的交互方式、通信機(jī)制也各不相同,這使得控制系統(tǒng)相對(duì)獨(dú)立、彼此封閉。隨著技術(shù)的進(jìn)步和市場(chǎng)競(jìng)爭(zhēng)的加劇,這種專用體系結(jié)構(gòu)的控制系統(tǒng)越來(lái)越暴露了其固有的缺陷。由于基于PC平臺(tái)的軟件PLC無(wú)需專門的編程器,可充分利用PC機(jī)的軟硬件資源,直接采用梯形圖或語(yǔ)言編程,具有良好的人機(jī)界面等優(yōu)點(diǎn),因此逐漸取代了硬件PLC,成為研究的熱點(diǎn)。
1、電氣測(cè)試系統(tǒng)原理介紹
該壽命測(cè)試系統(tǒng)能夠利用定時(shí)器控制電子部件產(chǎn)品的動(dòng)作頻率,利用計(jì)時(shí)器來(lái)控制動(dòng)作的次數(shù),基本原理如圖1所示。
圖1 電氣測(cè)試基本原理
PLC使用OMRON CQM1H-CPU11 PLC加上擴(kuò)展模塊,其I/O點(diǎn)數(shù)可達(dá)26個(gè),可滿足多路測(cè)試,利用控制動(dòng)
其中,遮斷保護(hù)、動(dòng)作Relay和負(fù)載反饋Relay都是用PLC內(nèi)部高精度定時(shí)器進(jìn)行控制的,其原理都是用低電壓控制高電壓,實(shí)現(xiàn)高低壓分離,保^了測(cè)試系統(tǒng)的安全性,這里的遮斷保護(hù)用的是Fuji Electric Co.Ltd。JapanSC-13AA型接觸器,耐壓可達(dá)600V,單觸點(diǎn)額定電流是32A,動(dòng)作Relay和負(fù)載反饋Relay(也可以用光電耦合或電流互感器)都是用的OMRON的MY系列繼電器。
實(shí)際用DL750 scoper測(cè)量發(fā)現(xiàn)這兩種精度都不是很高,誤差往往有8-10ms。
實(shí)際中對(duì)產(chǎn)品評(píng)價(jià)需要很多數(shù)據(jù),需要測(cè)試很多產(chǎn)品,這樣需要多獨(dú)立回路,接線走線困難,而且會(huì)產(chǎn)生寄生電路,所以,從PLC產(chǎn)品的兼容性及測(cè)試成本考慮,采用目前先進(jìn)的嵌入式軟PLC技術(shù),可大大縮短實(shí)驗(yàn)周期并降低成本。
2、軟PLC技術(shù)
傳統(tǒng)的PLC經(jīng)過(guò)十幾年的發(fā)展,技術(shù)已經(jīng)非常成熟,以高速度、高穩(wěn)定性、高性能在工業(yè)控制領(lǐng)域得到了廣泛應(yīng)用,與此同時(shí),隨著現(xiàn)代計(jì)算機(jī)技術(shù)和電子技術(shù)的發(fā)展,在工程方面逐漸表現(xiàn)出其缺點(diǎn):傳統(tǒng)的PLC廠商壟斷市場(chǎng),其產(chǎn)品戶不兼容,缺少明確一致的標(biāo)準(zhǔn),難以構(gòu)建開(kāi)放的硬件體系結(jié)構(gòu);各廠商產(chǎn)品的編程方法差別很大,技術(shù)專有性較強(qiáng),工作人員培訓(xùn)時(shí)間長(zhǎng),造成PLC的性價(jià)比增長(zhǎng)很緩慢。
20世紀(jì)90年代中期,計(jì)算機(jī)和微電子技術(shù)的迅猛發(fā)展以及PLC的國(guó)際標(biāo)準(zhǔn)IEC61131的制定,產(chǎn)生了軟PLC技術(shù),所有"軟PLC技術(shù)",就是用PC作為硬件支撐平臺(tái),利用軟件實(shí)現(xiàn)標(biāo)準(zhǔn)硬件PLC的基本功能,也就是將PLC的控制功能封裝在軟件內(nèi),運(yùn)行于PC的環(huán)境中,以PC為基礎(chǔ)的控制系統(tǒng),同時(shí)提供了PLC的相同功能,卻具備了PC的各種優(yōu)點(diǎn)。
軟PLC技術(shù)一般由開(kāi)發(fā)系統(tǒng)和運(yùn)行系統(tǒng)兩個(gè)部分組成。開(kāi)發(fā)系統(tǒng)運(yùn)行在PC平臺(tái)上,而運(yùn)行系統(tǒng)則運(yùn)行在嵌入式硬件平臺(tái)上,一般而言,嵌入式硬件平臺(tái)上都要運(yùn)行某種嵌入式操作系統(tǒng),比如μC/OS-II、μClinux等。
現(xiàn)代開(kāi)發(fā)系統(tǒng)的特點(diǎn)一般都是集成化開(kāi)發(fā)環(huán)境,界面友好,易于使用。軟PLC嵌入式系統(tǒng)是基于IEC61131國(guó)際標(biāo)準(zhǔn)的,所以必然要支持其中的幾種語(yǔ)言,系統(tǒng)運(yùn)行在嵌入式硬件平臺(tái)上,負(fù)責(zé)解釋執(zhí)行由開(kāi)發(fā)系統(tǒng)編譯、鏈接后產(chǎn)生的目標(biāo)文件,運(yùn)行系統(tǒng)一般由運(yùn)行內(nèi)核、通信接口和系統(tǒng)管理三大部分組成,其設(shè)計(jì)和實(shí)現(xiàn)精度很高,它的執(zhí)行效率將直接影響到系統(tǒng)在現(xiàn)場(chǎng)控制中的反應(yīng)速度。
3、嵌入式平臺(tái)的虛擬運(yùn)行系統(tǒng)
運(yùn)行系統(tǒng)的結(jié)構(gòu)組成如圖2所示。系統(tǒng)管理器的主要任務(wù)是處理不同任務(wù)、協(xié)調(diào)程序執(zhí)行及從I/O映象讀寫變量。I/O接口可與本地I/O系統(tǒng)和遠(yuǎn)程I/O系統(tǒng)通信。通信接口使運(yùn)行系統(tǒng)可以與開(kāi)發(fā)系統(tǒng)或其他設(shè)備進(jìn)行通信。內(nèi)核解釋器是運(yùn)行系統(tǒng)的核心部分,負(fù)責(zé)解釋執(zhí)行由開(kāi)發(fā)系統(tǒng)編譯完成的PLC應(yīng)用程序的目標(biāo)代碼。
圖2 運(yùn)行系統(tǒng)的結(jié)構(gòu)組成
運(yùn)行系統(tǒng)可在多種支持平臺(tái)上運(yùn)行,它通過(guò)將數(shù)據(jù)區(qū)和代碼區(qū)分離,實(shí)現(xiàn)程序的動(dòng)態(tài)更新和代碼的高效率動(dòng)態(tài)下載。
(1)在μClinux平臺(tái)上實(shí)現(xiàn)軟PLC虛擬機(jī)實(shí)現(xiàn)步驟
- 將梯形圖的指令翻譯成宏匯編并建立一個(gè)宏庫(kù);
- 把用戶編寫的梯形圖程序編譯成中間代碼形式的PLM文件;
- 將PLM文件轉(zhuǎn)變?yōu)閰R編程序;
- 用匯編器匯編變成功的匯編程序,將解釋執(zhí)行內(nèi)部指令(PLM文件)轉(zhuǎn)換為程序,匯編成機(jī)器碼執(zhí)行,實(shí)現(xiàn)PLC指令機(jī)器碼執(zhí)行方案,大大地提高了執(zhí)行速度,同時(shí)大大節(jié)約了內(nèi)存空間;
- 將PLC指令對(duì)應(yīng)的機(jī)器碼移植到嵌入式操作系統(tǒng)中執(zhí)行。
(2)運(yùn)行系統(tǒng)的兩大模塊
運(yùn)行系統(tǒng)主要由兩大模塊組成:1)梯形圖到機(jī)器碼程序的轉(zhuǎn)換;2)執(zhí)行機(jī)器碼文件。每個(gè)模塊的功能如下:
1)梯形圖到機(jī)器碼程序的轉(zhuǎn)換。首先把用戶編寫的梯形圖程序編譯成中間代碼形式的PLM文件,然后將PLM文件轉(zhuǎn)變?yōu)閰R編程序,最后用匯編器匯編轉(zhuǎn)變成功的匯編程序,產(chǎn)生機(jī)器碼從而生成可執(zhí)行的PLE文件。
2)執(zhí)行機(jī)器碼文件。將PLE文件嵌入配置好的執(zhí)行環(huán)境中并執(zhí)行,通過(guò)工控機(jī)的面版指示燈監(jiān)測(cè)程序的正確性。
(3)虛擬機(jī)總體設(shè)計(jì)
根據(jù)虛擬機(jī)的原理和執(zhí)行機(jī)制,對(duì)虛擬機(jī)的機(jī)器碼執(zhí)行方案進(jìn)行了總體設(shè)計(jì),如圖3所示。PLC文件是梯形圖程序的保存文件,通過(guò)對(duì)PLC文件進(jìn)行詞法分析、語(yǔ)法分析和語(yǔ)義分析編譯產(chǎn)生PLM文件,然后調(diào)用宏匯編庫(kù),并進(jìn)行一系列的轉(zhuǎn)換生成機(jī)器碼,產(chǎn)生PLE文件;最后創(chuàng)建機(jī)器運(yùn)行環(huán)境來(lái)執(zhí)行機(jī)器碼,宏匯編庫(kù)中是每個(gè)梯形圖指令對(duì)應(yīng)的宏匯編段。
圖3 虛擬運(yùn)行總體設(shè)計(jì)框圖
(4)交叉開(kāi)發(fā)調(diào)試算法研究
交叉開(kāi)發(fā)調(diào)試算法:
- 在宿主機(jī)平臺(tái)上編寫程序代碼;
- 固化監(jiān)控器至目標(biāo)機(jī)上;
- 連接宿主機(jī)和目標(biāo)機(jī);
- 編譯鏈接應(yīng)用程序,生成可執(zhí)行代碼;
- 將可執(zhí)行代碼下載到目標(biāo)機(jī);
- 使用交叉調(diào)試器進(jìn)行調(diào)試;
- 如果程序調(diào)試沒(méi)有發(fā)現(xiàn)異常,轉(zhuǎn)至11);
- 調(diào)試程序時(shí)發(fā)生錯(cuò)誤,利用交叉調(diào)試器定位錯(cuò)誤;
- 修改錯(cuò)誤代碼;
- 重復(fù)4)-10);
- 將目標(biāo)機(jī)程序固化在目標(biāo)機(jī)上。
4、嵌入式軟PLC改造后的控制系統(tǒng)
以測(cè)試?yán)^電器TV5實(shí)驗(yàn)為例。其要求如下:每次測(cè)試5個(gè)繼電器,每個(gè)繼電器的動(dòng)作頻率是5s開(kāi),5s關(guān)。根據(jù)要求,試驗(yàn)最好的結(jié)果是每個(gè)繼電器用6個(gè)TV負(fù)載,即每個(gè)TV負(fù)載是5s開(kāi),55s管。輸入點(diǎn)有:開(kāi)關(guān),檢出,復(fù)位M個(gè),停止次數(shù)設(shè)定量N次,動(dòng)作頻率設(shè)定L個(gè),常開(kāi)/觸點(diǎn)轉(zhuǎn)換。其中,M=測(cè)試產(chǎn)品個(gè)數(shù),N、L個(gè)數(shù)由實(shí)際需要確定。其算法如下:
- 設(shè)定一個(gè)循環(huán)周期,使累積誤差最小;
- 在循環(huán)周期內(nèi)設(shè)計(jì)動(dòng)作時(shí)間和動(dòng)作頻率,以及動(dòng)作次數(shù);
- 設(shè)計(jì)相關(guān)聯(lián)動(dòng)、互鎖、緊急停車和復(fù)位等功能;
- 執(zhí)行動(dòng)作與反饋根據(jù)產(chǎn)品相關(guān)標(biāo)準(zhǔn)進(jìn)行比較,判定結(jié)果和設(shè)定中斷程序。
采用模塊化程序設(shè)計(jì)編程,各模塊均由主程序調(diào)用,且為了程序不出誤動(dòng)作,還要考慮電流諧波和沖擊對(duì)高電源的要求。用了算法優(yōu)化設(shè)計(jì),5個(gè)繼電器每隔2s一個(gè)動(dòng)作,5個(gè)剛好10s。其中一個(gè)動(dòng)作頻率程序如下:
與之對(duì)應(yīng)的動(dòng)作如下:
該程序檢出判斷程序如下:
圖4 TV負(fù)荷電壓電流波形
由圖4可知:?jiǎn)?dòng)時(shí)突入電流最大值約為55A,突入時(shí)間約為54ms,定常為8A。
圖5 電機(jī)電壓和電流波形
由圖5可知:電流滯后電壓約為0.9ms,其功率因素為0.96。
實(shí)驗(yàn)結(jié)果與測(cè)試要求基本一致。如果不采用優(yōu)化算法程序設(shè)計(jì),則對(duì)電源要求很高,所以該控制系統(tǒng)可以應(yīng)用實(shí)現(xiàn),無(wú)形中降低了成本。
5、改進(jìn)后優(yōu)點(diǎn)和維護(hù)
很明顯,經(jīng)過(guò)以上改進(jìn)后有以下優(yōu)勢(shì):
- 使用PLC后通用性大大提高,改進(jìn)了以前單一PLC,并縮短了工作人員的培訓(xùn)周期;
- 用嵌入式軟PLC代替?zhèn)鹘y(tǒng)的硬PLC,外部線路簡(jiǎn)化;
- 模塊化可實(shí)現(xiàn)各種復(fù)雜的控制系統(tǒng),方便地增加和改變控制功能;
- PLC可進(jìn)行故障自動(dòng)檢測(cè)和報(bào)警顯示,提高運(yùn)行安全性,且便于檢修;
- 便于群控制,提高運(yùn)行效率;
- 更改控制方案時(shí)無(wú)需改動(dòng)外部線路。
- 測(cè)試及維護(hù)需注意的事項(xiàng):
- 為了提高系統(tǒng)效率并降低開(kāi)銷,盡量少用I/O;
- 要有緊急停車和適當(dāng)聯(lián)鎖按鈕環(huán)節(jié);
- 輸入和輸出不能用同一電纜線;
- 直流電感性負(fù)載并聯(lián)浪涌二極管,以延長(zhǎng)觸點(diǎn)的使用壽命;交流感性負(fù)載并聯(lián)電容吸收器以降低噪聲。
為保證控制系統(tǒng)工作的可靠性,做好接地、防塵、訪油、防輻射工作。
結(jié)語(yǔ)
此系統(tǒng)可用于繼電器、馬達(dá)、電感、充電器等產(chǎn)品的測(cè)試。改進(jìn)后仍存在以下幾點(diǎn)缺陷:其一,如果負(fù)載斷路,其本身并不能檢測(cè)和保護(hù);如果負(fù)載短路,產(chǎn)品在短時(shí)間內(nèi)產(chǎn)生過(guò)電流,會(huì)造成產(chǎn)品破壞甚至威脅人身安全。其二,數(shù)據(jù)采集不全,不能實(shí)時(shí)監(jiān)控。利用電流計(jì)可以彌補(bǔ)第一點(diǎn)的不足;采用數(shù)據(jù)采集卡可以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)采集。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論