《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 解決方案 > DCS系統(tǒng)中提高數(shù)字量輸入信號采集分辨率的方法

DCS系統(tǒng)中提高數(shù)字量輸入信號采集分辨率的方法

2011-07-05
作者:韓寶林,, 史洪源,, 萬雪飛 杭州和利時(shí)自動化有限公司
來源:來源:電子技術(shù)應(yīng)用2011年第4期
關(guān)鍵詞: DCS 現(xiàn)場總線 PROFIBUS-DP DI


    DCS(Distributed Control System)系統(tǒng)廣泛應(yīng)用于火電、石油化工、造紙,、建材和冶金等工業(yè)生產(chǎn)制造環(huán)境中。該系統(tǒng)繼承了常規(guī)儀表分散控制和計(jì)算機(jī)集中控制的優(yōu)點(diǎn),,克服了常規(guī)儀表功能單一,、人機(jī)交互差和單臺計(jì)算機(jī)控制系統(tǒng)危險(xiǎn)性高度集中的缺點(diǎn),同時(shí),它實(shí)現(xiàn)了管理,、操作和顯示三方面的集中,,以及功能、負(fù)荷和危險(xiǎn)性三方面的分散,。典型DCS硬件系統(tǒng)由工程師站,、操作員站、服務(wù)器,、控制器,、I/O從站、控制網(wǎng)絡(luò)及設(shè)備,、系統(tǒng)網(wǎng)絡(luò)及設(shè)備,、電源、機(jī)柜和操作臺組成[1],如圖1所示,。在I/O從站中有一種開關(guān)輸入信號(DI),,普通項(xiàng)目對DI信號的分辨率要求不高,大約為200~300 ms,。在實(shí)施某重大項(xiàng)目數(shù)字化數(shù)據(jù)采集和集中處理系統(tǒng)(KIT/KPS)改造時(shí),,要求DI信號采集分辨率達(dá)到50 ms,并且能夠同時(shí)記錄現(xiàn)場開關(guān)動作的時(shí)間,。在DCS控制系統(tǒng)中,,高分辨率和時(shí)間信息記錄是為了能夠依次分辨該高速DI信號之間的聯(lián)鎖關(guān)系(如汽輪機(jī)軸承油壓低聯(lián)鎖主汽閥門關(guān)閉),判斷各信號是否符合一定的動作順序,。目前DCS系統(tǒng)普通型DI模塊性能,,無法滿足對這些信號的采集要求,因此需要對DCS系統(tǒng)DI信號處理方法進(jìn)行升級改進(jìn),。

1 問題描述
    目前,,采用PROFIBUS現(xiàn)場總線協(xié)議實(shí)現(xiàn)DCS控制系統(tǒng)控制器和I/O模塊之間通信的產(chǎn)品,市場占有率在全國已經(jīng)達(dá)到30%~40%,甚至更高[2],。PROFIBUS協(xié)議規(guī)定控制器和從站之間數(shù)據(jù)交換方式為主從輪詢方式[3],。DCS系統(tǒng)在實(shí)際應(yīng)用配置中,一般由多個(gè)控制站組成,,一個(gè)控制器構(gòu)成一個(gè)控制站,,為了保證各控制站運(yùn)行時(shí)基相同,采用以太網(wǎng)進(jìn)行網(wǎng)絡(luò)校時(shí),,可以確保任意控制站之間時(shí)間差值小于10 ms,。同時(shí),控制器周期性地通過PROFIBUS-DP主站以廣播的形式給從站模塊發(fā)軟校時(shí)數(shù)據(jù)包,,負(fù)責(zé)對從站I/O模塊進(jìn)行校時(shí),。普通DI模塊設(shè)計(jì)為:當(dāng)DP主站輪詢到該模塊請求發(fā)送數(shù)據(jù)時(shí),DI模塊就將當(dāng)前周期采集的數(shù)據(jù)傳送給控制器。在通信速率為500 kb/s時(shí),,每輪詢一個(gè)從站實(shí)際所需要的時(shí)間大約為0.7 ms(該時(shí)間也和傳輸?shù)臄?shù)據(jù)量相關(guān),,所以不同廠家設(shè)計(jì)的產(chǎn)品該時(shí)間有差異)??紤]到控制器主站負(fù)荷,、系統(tǒng)風(fēng)險(xiǎn)等因素,一般在實(shí)際工程中,,推薦配置40~50個(gè)從站,。但在實(shí)施KIT/KPS系統(tǒng)改造項(xiàng)目時(shí),系統(tǒng)要求控制站加入的從站數(shù)量達(dá)到80個(gè),,協(xié)議規(guī)定一個(gè)PROFIBUS系統(tǒng)最大連接126個(gè)從站,,如此主站輪詢一圈從站所用的時(shí)間大約為56 ms,現(xiàn)場DI信號最快以50 ms跳變,,就會出現(xiàn)采集的DI信號不能及時(shí)傳送給控制器,,新采集數(shù)據(jù)覆蓋上周期數(shù)據(jù)的情況,導(dǎo)致現(xiàn)場采集的DI信號丟失,。
2 理論論證
    DI模塊工作機(jī)制有兩個(gè)明顯的特征:(1)DI數(shù)據(jù)采樣周期短,從站的信號采樣周期比控制器運(yùn)行周期短,;(2)通信無應(yīng)答,控制器是否收到DI數(shù)據(jù),,DI模塊并不知道,。在這兩個(gè)特征下,為滿足DI采集分辨率達(dá)到50 ms要求,要么縮短控制器與DP主站交換數(shù)據(jù)周期,要么DI模塊采用“滑動窗口”機(jī)制,,形成兩種解決方案,。
     (1)縮短控制器與DP主站交換數(shù)據(jù)周期。從站模塊最慢50 ms周期采樣一次,,該時(shí)間包括DP輪詢周期和DP主站與控制器交換數(shù)據(jù)的時(shí)間,。同時(shí),為保證控制器能可靠獲取DI模塊的上報(bào)數(shù)據(jù),,要求主站能在50 ms的DI采樣周期內(nèi)獲取兩次從站模塊上報(bào)數(shù)據(jù),,所以需要控制器最慢25 ms能和DP主站交換一次數(shù)據(jù)。但是,,縮短控制器的運(yùn)行調(diào)度周期,,會導(dǎo)致控制器負(fù)荷增加,系統(tǒng)容易死機(jī),,降低了系統(tǒng)的可靠性,。
    (2)采用“滑動窗口”機(jī)制。DI模塊中開設(shè)固定數(shù)據(jù)存儲區(qū)的“滑動窗口”,,固定上報(bào)最近4個(gè)采樣周期的DI數(shù)據(jù),這樣可以將每個(gè)采樣周期的數(shù)據(jù)在DI模塊中保持4個(gè)采樣周期。此時(shí)以50 ms分辨率周期采集數(shù)據(jù),,每個(gè)采樣周期的數(shù)據(jù)最多可以在DI模塊中保留200 ms,,這樣DI從站有足夠的時(shí)間將采集的數(shù)據(jù)傳送給DP主站,保證DI數(shù)據(jù)無丟失,。相比較而言,,第2種方案對系統(tǒng)的影響小,可行性高,。KIT/KPS項(xiàng)目改進(jìn)實(shí)施就采用方案(2),。
    在確定DI模塊采樣周期時(shí),不考慮硬件時(shí)鐘的差異,則采集誤差最大值等于模塊的采樣周期,,圖2給出了一個(gè)示例分析,。根據(jù)高速DI 50 ms分辨率要求,設(shè)計(jì)DI信號允許控制站間誤差為40 ms,。以太網(wǎng)可以確??刂破髦g誤差10 ms,控制器和從站模塊之間時(shí)間最大誤差1 ms,,因此模塊的掃描周期可以確定為29 ms,,取整后確定為30 ms。4周期的數(shù)據(jù)保持時(shí)間達(dá)到120 ms,,可以保證56 ms的DP輪詢周期有2次將數(shù)據(jù)傳送給控制器,。


3實(shí)現(xiàn)方法
3.1 從站模塊處理方法

    為了能將現(xiàn)場高速跳變的DI信號全部傳送給控制器,在現(xiàn)有產(chǎn)品硬件平臺下,,通過修改DI模塊的信號固件采集機(jī)制,,延長采集信號在從站模塊中保持的時(shí)間,可確保滿足DP輪詢周期(DP主站逐個(gè)輪詢各從站所需要的時(shí)間)的時(shí)間需要,。具體方法是:采用“滑動窗口”機(jī)制,,即在DI模塊中開辟一片固定大小的數(shù)據(jù)存儲區(qū),將每周期采集的DI數(shù)據(jù)都存儲在該存儲區(qū)中,。該存儲區(qū)采用滑動機(jī)制,,類似于FIFO,每個(gè)周期的采集數(shù)據(jù)都放在存儲區(qū)的起始位置,,然后各采樣周期數(shù)據(jù)依次向后滑動,,符合先入先出隊(duì)列。具體項(xiàng)目實(shí)施過程中,,將4個(gè)連續(xù)采樣周期的數(shù)據(jù)(存儲區(qū)的大?。┳鳛橐话鼣?shù)據(jù)傳送給控制器。4個(gè)采樣周期的存儲時(shí)間大于現(xiàn)場DP輪詢時(shí)間,,模塊每新采集一周期數(shù)據(jù)就放在存儲區(qū)的第一周期采集數(shù)據(jù)處,,原有數(shù)據(jù)依次向后滑動,,將滑動溢出的第4周期采集數(shù)據(jù)丟棄,自動生成從站模塊每DP輪詢周期發(fā)送給DP主站的一包數(shù)據(jù),。這樣采用“滑動窗口”機(jī)制原來只能在DI模塊中保持一個(gè)采樣周期的DI數(shù)據(jù),,而在現(xiàn)有處理機(jī)制下就能保持4個(gè)采樣周期,延長了DI采集數(shù)據(jù)在模塊中保持的時(shí)間,保證有足夠的時(shí)間將DI采集數(shù)據(jù)傳送給控制器,。
  按上述機(jī)制形成的每一包數(shù)據(jù)結(jié)構(gòu)包括當(dāng)前所有通道的信號狀態(tài),、數(shù)據(jù)包流水號、4個(gè)采樣周期的DI數(shù)據(jù)(每周期采集數(shù)據(jù)包括時(shí)間戳,、當(dāng)前所有通道狀態(tài)及發(fā)生跳變的通道),,如圖3所示。

    模塊初始上電時(shí),,數(shù)據(jù)存儲區(qū)初始化為0,。每個(gè)采樣周期內(nèi),當(dāng)有DI通道發(fā)生狀態(tài)變化時(shí),,上報(bào)數(shù)據(jù)包流水號自動加1,。如果無通道跳變,則上報(bào)數(shù)據(jù)流水號不變,??刂破髦芷谛缘貜腄P主站讀取數(shù)據(jù),并將本周期的數(shù)據(jù)包流水號與保存的上一周期數(shù)據(jù)包流水號進(jìn)行對比,。按流水號的差值,,控制器處理相應(yīng)周期次數(shù)的DI采集數(shù)據(jù),如果差值等于0,則直接丟棄,。以6通道DI信號為例,,假設(shè)模塊每30 ms采集一次數(shù)據(jù),在開始工作60 ms后所有通道狀態(tài)的當(dāng)前值為000000(二進(jìn)制),,發(fā)生跳變的通道值為000000(有通道發(fā)生跳變則將該通道置為1),,該周期的采集數(shù)據(jù)為60、000000,、000000,;90 ms采集時(shí)通道0跳變?yōu)闋顟B(tài)1,則所有通道狀態(tài)的當(dāng)前值為000001,,發(fā)生跳變的通道值為000001,;120 ms采集時(shí)通道1、2,、3跳變?yōu)闋顟B(tài)1,,則所有通道狀態(tài)的當(dāng)前值為001111,發(fā)生跳變的通道值為001110,;150 ms采集時(shí)通道4,、5跳變?yōu)闋顟B(tài)1,,則所有通道狀態(tài)的當(dāng)前值為111111,發(fā)生跳變的通道值為110000,;之后信號無變化(圖4),。在150 ms時(shí)刻形成的數(shù)據(jù)包(十進(jìn)制)如表1所示。

3.2  控制器處理方法
    為確保DI模塊采集數(shù)據(jù)上報(bào)的開關(guān)動作時(shí)間有效,,確保系統(tǒng)內(nèi)所有的DI模塊工作在一個(gè)時(shí)間系統(tǒng)下,可通過系統(tǒng)校時(shí)實(shí)現(xiàn)DI模塊的同一時(shí)間系統(tǒng),。對控制器增加校時(shí)功能,,校時(shí)機(jī)制為控制器每分鐘周期性地發(fā)送校時(shí)命令,DP主站收到控制器的校時(shí)命令之后立即向I/O從站發(fā)送校時(shí)廣播,,總線上I/O從站都可基本同時(shí)收到校時(shí)命令,。在500 kb/s通信速率時(shí),校時(shí)命令可以在1 ms內(nèi)完成,,即主控和I/O模塊之間的時(shí)間誤差為1 ms,。由于控制器使用單任務(wù),采用發(fā)送校時(shí)命令的方式對從站進(jìn)行校時(shí),,不能確保在整分時(shí)刻發(fā)送校時(shí)命令,。可以通過兩種途徑解決這個(gè)矛盾:(1)使用專用的校時(shí)信號對從站進(jìn)行校時(shí),,比如GPS校時(shí)產(chǎn)品,;(2)縮短控制器發(fā)送校時(shí)命令的周期,通過控制器記錄校時(shí)時(shí)間,,在控制器接收到模塊上傳的DI數(shù)據(jù)之后,對時(shí)間進(jìn)行修正,。
    控制器在處理接收到的DI數(shù)據(jù)時(shí),通過對比保存的上一周期數(shù)據(jù)包流水號與本周期的數(shù)據(jù)包流水號,,流水號差值如果大于等于4,,則控制器處理從站模塊4個(gè)采樣周期的通道數(shù)據(jù);如果小于4,,則處理相應(yīng)差值周期數(shù)據(jù),;如果等于0則直接丟棄。同時(shí)控制器分析每采樣周期DI數(shù)據(jù),,確定該采樣周期是否有通道跳變,,如果沒有,則直接丟棄該采樣周期DI數(shù)據(jù),。
3.3 控制器與DI從站模塊邊界的處理方法
    對于DI從站模塊,,數(shù)據(jù)包流水號初始值為0,控制器DI數(shù)據(jù)包流水號初始值也為0,;模塊的數(shù)據(jù)包流水號一直累加,,溢出后繼續(xù)累加,。當(dāng)模塊上報(bào)數(shù)據(jù)丟失時(shí),例如模塊上報(bào)的數(shù)據(jù)包流水號為1001,、1002,、1003,而控制器只收到1001和1003時(shí),,控制器根據(jù)1003-1001=2,,自動處理兩個(gè)周期的DI采集數(shù)據(jù)。如果模塊重新插拔(斷電操作),,DI模塊上報(bào)數(shù)據(jù)包流水號被初始化為0,,但是控制器保存了模塊以前的數(shù)據(jù)包流水號,控制器發(fā)現(xiàn)流水號不相等,,就根據(jù)流水號差值最大處理4個(gè)采樣周期的DI數(shù)據(jù),,然后控制器對4個(gè)采樣周期的DI數(shù)據(jù)逐個(gè)分析,如果相鄰兩采樣周期DI數(shù)據(jù)相同,,則直接丟棄后一周期DI數(shù)據(jù),。控制器重新啟動時(shí)處理方法相同,。
    本文介紹了一種在DCS系統(tǒng)中如何消除因數(shù)據(jù)傳輸延遲而引起的信號采集誤差的方法,。通過修改DI從站模塊的數(shù)據(jù)采集機(jī)制和相應(yīng)的控制器數(shù)據(jù)解析機(jī)制,可以使DI模塊的采集分辨率提高到50 ms,。通過項(xiàng)目實(shí)測,,既能滿足站間DI信號分辨率50 ms的要求,也能滿足站內(nèi)不同模塊間DI信號分辨率50 ms的要求,,同時(shí)增加了數(shù)據(jù)采集時(shí)間信息功能,,對控制過程各信號的動作順序分析有很大幫助,極大地豐富了DI模塊的功能,。采用PROFIBUS-DP協(xié)議或控制網(wǎng)絡(luò)為輪詢訪問機(jī)制的系統(tǒng)可以借鑒使用該方法,,采用其他協(xié)議的控制系統(tǒng)應(yīng)在認(rèn)真分析系統(tǒng)結(jié)構(gòu)之后有針對性地進(jìn)行開發(fā)設(shè)計(jì)。
參考文獻(xiàn)
[1] 王常力,,羅安.分布式控制系統(tǒng)(DCS)設(shè)計(jì)與應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,,2004.
[2] 候維言,費(fèi)敏銳.PROFIBUS協(xié)議分析和系統(tǒng)應(yīng)用[M].北京:清華大學(xué)出版社,2006.
[3]  Manfred Popp.PROFIBUS-DP 快速入門[Z].楊昌琨,,譯.北京:中國機(jī)電一體化技術(shù)應(yīng)用協(xié)會現(xiàn)場總線 (PROFIBUS)專業(yè)委員會.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。