變步長(zhǎng)算法的實(shí)時(shí)動(dòng)畫在火電廠翻車機(jī)監(jiān)控系統(tǒng)的應(yīng)用
一、引 言
在現(xiàn)代電力系統(tǒng)中,對(duì)現(xiàn)場(chǎng)設(shè)備和相關(guān)自動(dòng)化設(shè)備的實(shí)時(shí)監(jiān)控以及故障診斷,是一個(gè)必不可少的環(huán)節(jié);隨著自動(dòng)化程度的提高,及時(shí)而又準(zhǔn)確地預(yù)測(cè)和排除故障已經(jīng)成為業(yè)內(nèi)人士的常見話題。然而,在實(shí)時(shí)動(dòng)畫模擬仿真系統(tǒng)中,動(dòng)畫動(dòng)作與實(shí)際的被模擬運(yùn)動(dòng)對(duì)象不同步的問題十分突出,直接影響了實(shí)時(shí)監(jiān)視的效果。本文中提出了一種基于變步長(zhǎng)算法的實(shí)時(shí)動(dòng)畫生成方法,該方法根據(jù)記錄上一次運(yùn)行的數(shù)據(jù)自動(dòng)地調(diào)整下一次運(yùn)行的參數(shù),應(yīng)用于動(dòng)畫運(yùn)行狀態(tài)。同時(shí),由于采用了多線程等技術(shù),模擬動(dòng)畫能基本上與現(xiàn)場(chǎng)設(shè)備的運(yùn)行狀態(tài)同步。
二、自適應(yīng)變步長(zhǎng)算法的設(shè)計(jì)原理
1.翻車機(jī)監(jiān)控系統(tǒng)運(yùn)行流程
火電廠翻車機(jī)卸煤系統(tǒng)是電廠的重要設(shè)備,由牽重、翻車和遷空三個(gè)子系統(tǒng)組成,主要操作設(shè)備有重調(diào)機(jī)、翻車機(jī)、遷車臺(tái)、空調(diào)機(jī)。大致的運(yùn)行過程為:重調(diào)機(jī)把一節(jié)一節(jié)的煤車牽到翻車機(jī)內(nèi),同時(shí)把翻完的上一節(jié)空車推向遷車臺(tái);接著翻車機(jī)通過壓、靠等把煤車固定,正翻165度,把煤卸下;遷車臺(tái)把空車遷往空車線,到達(dá)空車線后再由空調(diào)機(jī)把空車推走。
由于運(yùn)行過程中各設(shè)備需要進(jìn)行協(xié)調(diào)操作且聯(lián)鎖要求高,同時(shí)幾個(gè)子系統(tǒng)分布于不同視線區(qū)域,在實(shí)際運(yùn)行時(shí),即使借助工業(yè)電視也不能全面、及時(shí)、準(zhǔn)確地了解整個(gè)卸煤系統(tǒng)的運(yùn)行情況,因此容易造成設(shè)備損壞。為了解決以上問題,現(xiàn)在大部分的翻車機(jī)系統(tǒng)都設(shè)計(jì)了實(shí)時(shí)監(jiān)控系統(tǒng),把主要的運(yùn)行設(shè)備集中在一個(gè)畫面上,模擬現(xiàn)場(chǎng),這樣就對(duì)設(shè)備的運(yùn)行情況一目了然。
根據(jù)設(shè)備位置和動(dòng)作的不同,我們把各個(gè)設(shè)備的運(yùn)動(dòng)過程分為一些相關(guān)的運(yùn)動(dòng)狀態(tài),如表1所示。
2.自適應(yīng)變步長(zhǎng)算法
所謂自適應(yīng)變步長(zhǎng),就是在現(xiàn)場(chǎng)設(shè)備隨環(huán)境等因素影響而使運(yùn)動(dòng)的速度參數(shù)發(fā)生改變的時(shí)候,模擬動(dòng)畫系統(tǒng)就能夠記錄下變化的參數(shù),下一個(gè)循環(huán)周期就及時(shí)地調(diào)整動(dòng)畫模型、改變移動(dòng)步距,實(shí)時(shí)跟上現(xiàn)場(chǎng)的變化。動(dòng)畫的過程,實(shí)質(zhì)上就是根據(jù)相關(guān)數(shù)據(jù)每隔一定時(shí)間改變移動(dòng)對(duì)象位置。控制對(duì)象的運(yùn)動(dòng),需要改變對(duì)象的運(yùn)動(dòng)速度。改變運(yùn)動(dòng)的速度有兩種方法,一種是改變運(yùn)動(dòng)的步距,另一種是改變每一步所花的時(shí)間。一般情況下,采用這兩種方法的結(jié)合來調(diào)整速度。在翻車機(jī)實(shí)時(shí)監(jiān)控系統(tǒng)中采用的自適應(yīng)變步長(zhǎng)算法,是根據(jù)實(shí)時(shí)需要改變步距,連續(xù)地調(diào)整速度。變步長(zhǎng)算法的實(shí)時(shí)監(jiān)控流程如圖1所示。
該變步長(zhǎng)算法把對(duì)象移動(dòng)的方向作為一個(gè)變量,與步長(zhǎng)因子一起作為步長(zhǎng)調(diào)整的參數(shù)。對(duì)于重調(diào)機(jī)、空調(diào)機(jī)、遷車臺(tái)而言,運(yùn)動(dòng)都是直線式;翻車機(jī)是旋轉(zhuǎn)的對(duì)象,其角度的變化就相當(dāng)于要改變的步長(zhǎng)。各對(duì)象的每一種狀態(tài)都在一定的位置范圍內(nèi),都有一個(gè)確定的初始位置,在這個(gè)初始位置的基礎(chǔ)之上,利用不斷累加的步數(shù)與方向和步長(zhǎng)因子一起相乘得到的數(shù)值,即可確定相應(yīng)對(duì)象的大致位置。由于對(duì)象的位置只能是象素整數(shù),所以對(duì)得到的位置進(jìn)行取整即得到相應(yīng)對(duì)象的下一步位置。由于步長(zhǎng)因子是根據(jù)我們的需要隨時(shí)變化而且連續(xù)可調(diào)的,這樣就實(shí)現(xiàn)了速度的連續(xù)可調(diào)。
下面以重調(diào)機(jī)接車為例來說明算法的實(shí)現(xiàn)。
設(shè)△V為調(diào)整以后的步長(zhǎng)因子,本次接車的過程所花的時(shí)間為t, △Pi為第i步的步長(zhǎng),n為調(diào)整后的步數(shù),f為調(diào)整后的步頻(每秒鐘所走的步數(shù)),S為接車段的總長(zhǎng)度,方向?yàn)镈(重調(diào)機(jī)和空調(diào)機(jī)向左移、遷車臺(tái)下移、翻車機(jī)正翻取+1,相反方向取-1),round為取整函數(shù)。
則有:
ni表示從起始位置開始所走的步數(shù)。
顯然有:
調(diào)整f和△V就可以實(shí)現(xiàn)△Pi的連續(xù)不同取值,這樣就保證了步長(zhǎng)的整數(shù)要求,又使速度可以連續(xù)調(diào)整。
三、實(shí)時(shí)動(dòng)畫的同步性分析
在翻車機(jī)實(shí)時(shí)監(jiān)控系統(tǒng)中,為了做到動(dòng)畫與現(xiàn)場(chǎng)、通信、故障診斷等的同步,除了在算法上采用了變步長(zhǎng)實(shí)時(shí)檢測(cè)動(dòng)畫的步距,同時(shí)也利用了多線程等編程技術(shù),使得動(dòng)畫、通信、故障診斷等各自擁有獨(dú)立的線程。CPU分時(shí)處理各線程的事務(wù),從而保證了動(dòng)畫的同步性。
1.通信對(duì)動(dòng)畫同步性的影響
實(shí)時(shí)動(dòng)畫是模擬現(xiàn)場(chǎng)的運(yùn)行狀況,所以就必須要從現(xiàn)場(chǎng)得到相關(guān)的數(shù)據(jù)。在黃石電廠翻車機(jī)實(shí)時(shí)監(jiān)控系統(tǒng)中,是通過PLC(在黃石電廠翻車機(jī)實(shí)時(shí)監(jiān)控系統(tǒng)中采用的是美國(guó)A-B即Allen & Bradley公司的SLC5O0)把現(xiàn)場(chǎng)的傳感、操作、信號(hào)燈等信號(hào)傳過來的。為了節(jié)省上位機(jī)處理通信的時(shí)間,我們采用了武漢大學(xué)開發(fā)的USB多協(xié)議智能采集卡從PLC采集數(shù)據(jù)。該采集卡把PLC傳過來的數(shù)據(jù)進(jìn)行打包存放在自己的存儲(chǔ)器中,上位機(jī)通過USB接口把數(shù)據(jù)成批的取過來,再通過程序把數(shù)據(jù)轉(zhuǎn)換為動(dòng)畫控制可以直接應(yīng)用的信號(hào)。由于采用了上下位機(jī)同時(shí)工作的機(jī)制,整個(gè)通信的時(shí)間很短,從PLC發(fā)出去的控制信號(hào)基本上同步地傳到上位機(jī)。這樣,就保證了現(xiàn)場(chǎng)采集的數(shù)據(jù)與我們用于動(dòng)畫控制的數(shù)據(jù)同步。
2.動(dòng)畫與故障診斷的同步
故障診斷部分隨時(shí)監(jiān)測(cè)現(xiàn)場(chǎng)設(shè)備的運(yùn)行,利用采集過來的實(shí)時(shí)信號(hào)與正常情況比較,判斷設(shè)備是否運(yùn)行正常或判斷發(fā)生了什么故障,提出故障處理建議。模擬仿真動(dòng)畫是為了監(jiān)視設(shè)備的運(yùn)行而設(shè)計(jì)的,它其實(shí)就是故障診斷的一部分。它為故障診斷提供直觀的感性數(shù)據(jù),通過對(duì)模擬動(dòng)畫的觀察,可以很快地確定故障的大致位置。配合故障診斷的建議,操作員就可以很快地知道故障所在地及故障類型,及時(shí)地排除故障。
3.動(dòng)畫與現(xiàn)場(chǎng)運(yùn)行對(duì)象的同步
實(shí)時(shí)監(jiān)控系統(tǒng)模擬動(dòng)畫是現(xiàn)場(chǎng)的反映,要求能把現(xiàn)場(chǎng)的運(yùn)行情況實(shí)時(shí)而準(zhǔn)確地反映出來。對(duì)于翻車機(jī)系統(tǒng)來說,雖然各個(gè)對(duì)象的狀態(tài)和過程是確定的,但是從長(zhǎng)時(shí)間來看各個(gè)運(yùn)動(dòng)狀態(tài)的參數(shù)還是會(huì)有相應(yīng)改變的。譬如,重調(diào)機(jī)的抬臂接車階段,在夏天由于其油泵的油溫高,油流暢通,液壓效果好,重調(diào)機(jī)抬落臂的時(shí)間短一些,接車整個(gè)階段的時(shí)間相對(duì)來說就短一些;而在冬季,由于油泵油溫低,易凝固,需要加熱,液壓效果差,所以抬落臂的時(shí)間就長(zhǎng)一些,接車整個(gè)階段的時(shí)間相對(duì)來說就長(zhǎng)一些。如果將這種變化抑制在允許的范圍內(nèi),通過一些狀態(tài)改變點(diǎn)的強(qiáng)制性同步,模擬動(dòng)畫基本上能與現(xiàn)場(chǎng)保持一致。但是在實(shí)際運(yùn)行對(duì)象速度變化較大的情況下,同步就比較困難。這時(shí)采用自適應(yīng)變步長(zhǎng)算法后,動(dòng)畫模擬程序就會(huì)記錄下相關(guān)的數(shù)據(jù),改變運(yùn)動(dòng)的步長(zhǎng),更新速度參數(shù),下一次啟動(dòng)的時(shí)候,模擬動(dòng)畫就完全可以與現(xiàn)場(chǎng)保持同步。雖然是在每次重新啟動(dòng)程序以后才更新數(shù)據(jù),但是由于現(xiàn)場(chǎng)狀態(tài)參數(shù)的變化是很緩慢的,每一次的速度改變也不是很大,在每次操作員登錄的時(shí)候系統(tǒng)就會(huì)運(yùn)行一次步長(zhǎng)檢查程序,對(duì)步長(zhǎng)進(jìn)行調(diào)整,其同步性是能夠滿足要求的。
四、結(jié) 論
自適應(yīng)變步長(zhǎng)同步算法已應(yīng)用于黃石電廠翻車機(jī)實(shí)時(shí)監(jiān)控系統(tǒng)。該系統(tǒng)實(shí)時(shí)動(dòng)畫采用可視化Delphi語(yǔ)言編程,界面直觀,在圖片處理方面占有很大優(yōu)勢(shì),同步性較好,動(dòng)畫響應(yīng)速度快,應(yīng)用效果良好。
文中提出的自適應(yīng)變步長(zhǎng)算法,在系統(tǒng)運(yùn)動(dòng)對(duì)象速度不高、且速度已受環(huán)境等四環(huán)素條件改變的情況下較為適用,其同步性效果較好。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。
你可能感興趣的文章