DCS系統(tǒng)中提高數(shù)字量輸入信號采集分辨率的方法
2011-07-05
作者:韓寶林, 史洪源, 萬雪飛 杭州和利時自動化有限公司
來源:來源:電子技術(shù)應(yīng)用2011年第4期
DCS(Distributed Control System)系統(tǒng)廣泛應(yīng)用于火電、石油化工、造紙、建材和冶金等工業(yè)生產(chǎn)制造環(huán)境中。該系統(tǒng)繼承了常規(guī)儀表分散控制和計算機(jī)集中控制的優(yōu)點(diǎn),克服了常規(guī)儀表功能單一、人機(jī)交互差和單臺計算機(jī)控制系統(tǒng)危險性高度集中的缺點(diǎn),同時,它實(shí)現(xiàn)了管理、操作和顯示三方面的集中,以及功能、負(fù)荷和危險性三方面的分散。典型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)改造時,要求DI信號采集分辨率達(dá)到50 ms,并且能夠同時記錄現(xiàn)場開關(guān)動作的時間。在DCS控制系統(tǒng)中,高分辨率和時間信息記錄是為了能夠依次分辨該高速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òu)成一個控制站,為了保證各控制站運(yùn)行時基相同,采用以太網(wǎng)進(jìn)行網(wǎng)絡(luò)校時,可以確保任意控制站之間時間差值小于10 ms。同時,控制器周期性地通過PROFIBUS-DP主站以廣播的形式給從站模塊發(fā)軟校時數(shù)據(jù)包,負(fù)責(zé)對從站I/O模塊進(jìn)行校時。普通DI模塊設(shè)計為:當(dāng)DP主站輪詢到該模塊請求發(fā)送數(shù)據(jù)時,DI模塊就將當(dāng)前周期采集的數(shù)據(jù)傳送給控制器。在通信速率為500 kb/s時,每輪詢一個從站實(shí)際所需要的時間大約為0.7 ms(該時間也和傳輸?shù)臄?shù)據(jù)量相關(guān),所以不同廠家設(shè)計的產(chǎn)品該時間有差異)??紤]到控制器主站負(fù)荷、系統(tǒng)風(fēng)險等因素,一般在實(shí)際工程中,推薦配置40~50個從站。但在實(shí)施KIT/KPS系統(tǒng)改造項(xiàng)目時,系統(tǒng)要求控制站加入的從站數(shù)量達(dá)到80個,協(xié)議規(guī)定一個PROFIBUS系統(tǒng)最大連接126個從站,如此主站輪詢一圈從站所用的時間大約為56 ms,現(xiàn)場DI信號最快以50 ms跳變,就會出現(xiàn)采集的DI信號不能及時傳送給控制器,新采集數(shù)據(jù)覆蓋上周期數(shù)據(jù)的情況,導(dǎo)致現(xiàn)場采集的DI信號丟失。
2 理論論證
DI模塊工作機(jī)制有兩個明顯的特征:(1)DI數(shù)據(jù)采樣周期短,從站的信號采樣周期比控制器運(yùn)行周期短;(2)通信無應(yīng)答,控制器是否收到DI數(shù)據(jù),DI模塊并不知道。在這兩個特征下,為滿足DI采集分辨率達(dá)到50 ms要求,要么縮短控制器與DP主站交換數(shù)據(jù)周期,要么DI模塊采用“滑動窗口”機(jī)制,形成兩種解決方案。
(1)縮短控制器與DP主站交換數(shù)據(jù)周期。從站模塊最慢50 ms周期采樣一次,該時間包括DP輪詢周期和DP主站與控制器交換數(shù)據(jù)的時間。同時,為保證控制器能可靠獲取DI模塊的上報數(shù)據(jù),要求主站能在50 ms的DI采樣周期內(nèi)獲取兩次從站模塊上報數(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ū)的“滑動窗口”,固定上報最近4個采樣周期的DI數(shù)據(jù),這樣可以將每個采樣周期的數(shù)據(jù)在DI模塊中保持4個采樣周期。此時以50 ms分辨率周期采集數(shù)據(jù),每個采樣周期的數(shù)據(jù)最多可以在DI模塊中保留200 ms,這樣DI從站有足夠的時間將采集的數(shù)據(jù)傳送給DP主站,保證DI數(shù)據(jù)無丟失。相比較而言,第2種方案對系統(tǒng)的影響小,可行性高。KIT/KPS項(xiàng)目改進(jìn)實(shí)施就采用方案(2)。
在確定DI模塊采樣周期時,不考慮硬件時鐘的差異,則采集誤差最大值等于模塊的采樣周期,圖2給出了一個示例分析。根據(jù)高速DI 50 ms分辨率要求,設(shè)計DI信號允許控制站間誤差為40 ms。以太網(wǎng)可以確??刂破髦g誤差10 ms,控制器和從站模塊之間時間最大誤差1 ms,因此模塊的掃描周期可以確定為29 ms,取整后確定為30 ms。4周期的數(shù)據(jù)保持時間達(dá)到120 ms,可以保證56 ms的DP輪詢周期有2次將數(shù)據(jù)傳送給控制器。
3實(shí)現(xiàn)方法
3.1 從站模塊處理方法
為了能將現(xiàn)場高速跳變的DI信號全部傳送給控制器,在現(xiàn)有產(chǎn)品硬件平臺下,通過修改DI模塊的信號固件采集機(jī)制,延長采集信號在從站模塊中保持的時間,可確保滿足DP輪詢周期(DP主站逐個輪詢各從站所需要的時間)的時間需要。具體方法是:采用“滑動窗口”機(jī)制,即在DI模塊中開辟一片固定大小的數(shù)據(jù)存儲區(qū),將每周期采集的DI數(shù)據(jù)都存儲在該存儲區(qū)中。該存儲區(qū)采用滑動機(jī)制,類似于FIFO,每個周期的采集數(shù)據(jù)都放在存儲區(qū)的起始位置,然后各采樣周期數(shù)據(jù)依次向后滑動,符合先入先出隊列。具體項(xiàng)目實(shí)施過程中,將4個連續(xù)采樣周期的數(shù)據(jù)(存儲區(qū)的大?。┳鳛橐话鼣?shù)據(jù)傳送給控制器。4個采樣周期的存儲時間大于現(xiàn)場DP輪詢時間,模塊每新采集一周期數(shù)據(jù)就放在存儲區(qū)的第一周期采集數(shù)據(jù)處,原有數(shù)據(jù)依次向后滑動,將滑動溢出的第4周期采集數(shù)據(jù)丟棄,自動生成從站模塊每DP輪詢周期發(fā)送給DP主站的一包數(shù)據(jù)。這樣采用“滑動窗口”機(jī)制原來只能在DI模塊中保持一個采樣周期的DI數(shù)據(jù),而在現(xiàn)有處理機(jī)制下就能保持4個采樣周期,延長了DI采集數(shù)據(jù)在模塊中保持的時間,保證有足夠的時間將DI采集數(shù)據(jù)傳送給控制器。
按上述機(jī)制形成的每一包數(shù)據(jù)結(jié)構(gòu)包括當(dāng)前所有通道的信號狀態(tài)、數(shù)據(jù)包流水號、4個采樣周期的DI數(shù)據(jù)(每周期采集數(shù)據(jù)包括時間戳、當(dāng)前所有通道狀態(tài)及發(fā)生跳變的通道),如圖3所示。
模塊初始上電時,數(shù)據(jù)存儲區(qū)初始化為0。每個采樣周期內(nèi),當(dāng)有DI通道發(fā)生狀態(tài)變化時,上報數(shù)據(jù)包流水號自動加1。如果無通道跳變,則上報數(shù)據(jù)流水號不變。控制器周期性地從DP主站讀取數(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采集時通道0跳變?yōu)闋顟B(tài)1,則所有通道狀態(tài)的當(dāng)前值為000001,發(fā)生跳變的通道值為000001;120 ms采集時通道1、2、3跳變?yōu)闋顟B(tài)1,則所有通道狀態(tài)的當(dāng)前值為001111,發(fā)生跳變的通道值為001110;150 ms采集時通道4、5跳變?yōu)闋顟B(tài)1,則所有通道狀態(tài)的當(dāng)前值為111111,發(fā)生跳變的通道值為110000;之后信號無變化(圖4)。在150 ms時刻形成的數(shù)據(jù)包(十進(jìn)制)如表1所示。
3.2 控制器處理方法
為確保DI模塊采集數(shù)據(jù)上報的開關(guān)動作時間有效,確保系統(tǒng)內(nèi)所有的DI模塊工作在一個時間系統(tǒng)下,可通過系統(tǒng)校時實(shí)現(xiàn)DI模塊的同一時間系統(tǒng)。對控制器增加校時功能,校時機(jī)制為控制器每分鐘周期性地發(fā)送校時命令,DP主站收到控制器的校時命令之后立即向I/O從站發(fā)送校時廣播,總線上I/O從站都可基本同時收到校時命令。在500 kb/s通信速率時,校時命令可以在1 ms內(nèi)完成,即主控和I/O模塊之間的時間誤差為1 ms。由于控制器使用單任務(wù),采用發(fā)送校時命令的方式對從站進(jìn)行校時,不能確保在整分時刻發(fā)送校時命令??梢酝ㄟ^兩種途徑解決這個矛盾:(1)使用專用的校時信號對從站進(jìn)行校時,比如GPS校時產(chǎn)品;(2)縮短控制器發(fā)送校時命令的周期,通過控制器記錄校時時間,在控制器接收到模塊上傳的DI數(shù)據(jù)之后,對時間進(jìn)行修正。
控制器在處理接收到的DI數(shù)據(jù)時,通過對比保存的上一周期數(shù)據(jù)包流水號與本周期的數(shù)據(jù)包流水號,流水號差值如果大于等于4,則控制器處理從站模塊4個采樣周期的通道數(shù)據(jù);如果小于4,則處理相應(yīng)差值周期數(shù)據(jù);如果等于0則直接丟棄。同時控制器分析每采樣周期DI數(shù)據(jù),確定該采樣周期是否有通道跳變,如果沒有,則直接丟棄該采樣周期DI數(shù)據(jù)。
3.3 控制器與DI從站模塊邊界的處理方法
對于DI從站模塊,數(shù)據(jù)包流水號初始值為0,控制器DI數(shù)據(jù)包流水號初始值也為0;模塊的數(shù)據(jù)包流水號一直累加,溢出后繼續(xù)累加。當(dāng)模塊上報數(shù)據(jù)丟失時,例如模塊上報的數(shù)據(jù)包流水號為1001、1002、1003,而控制器只收到1001和1003時,控制器根據(jù)1003-1001=2,自動處理兩個周期的DI采集數(shù)據(jù)。如果模塊重新插拔(斷電操作),DI模塊上報數(shù)據(jù)包流水號被初始化為0,但是控制器保存了模塊以前的數(shù)據(jù)包流水號,控制器發(fā)現(xiàn)流水號不相等,就根據(jù)流水號差值最大處理4個采樣周期的DI數(shù)據(jù),然后控制器對4個采樣周期的DI數(shù)據(jù)逐個分析,如果相鄰兩采樣周期DI數(shù)據(jù)相同,則直接丟棄后一周期DI數(shù)據(jù)??刂破髦匦聠訒r處理方法相同。
本文介紹了一種在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ù)據(jù)采集時間信息功能,對控制過程各信號的動作順序分析有很大幫助,極大地豐富了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è)計。
參考文獻(xiàn)
[1] 王常力,羅安.分布式控制系統(tǒng)(DCS)設(shè)計與應(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è)委員會.