夏 輝
(寧波市化工研究設(shè)計(jì)院設(shè)計(jì)3室,浙江寧波 315040)
隨著化工產(chǎn)業(yè)的發(fā)展,在某些場(chǎng)合,大型DCS設(shè)備已經(jīng)應(yīng)用到相關(guān)領(lǐng)域,發(fā)揮著不可替代的作用。利用大型分布式控制系統(tǒng)DCS對(duì)化工、發(fā)電、核電等相關(guān)產(chǎn)業(yè)進(jìn)行控制成為自動(dòng)化控制領(lǐng)域的熱點(diǎn),DCS設(shè)備通過(guò)長(zhǎng)期的高精度設(shè)計(jì),對(duì)較為復(fù)雜的各行業(yè)工作流程進(jìn)行相關(guān)的控制,代替人力完成相關(guān)功能。憑借強(qiáng)大的處理能力,得到了眾多化工、電力、水利等相關(guān)部門(mén)的重視,其應(yīng)用廣泛,因此受到了諸多專(zhuān)家的關(guān)注。
但在大型DCS的工作過(guò)程中,面臨一個(gè)問(wèn)題,就是為了協(xié)調(diào)完成任務(wù),上位機(jī)與底層的控制器之間需要密集的、時(shí)間隨機(jī)的通信。通過(guò)采集底層的控制信號(hào),完成相應(yīng)的監(jiān)控和控制的工作,一旦DCS設(shè)備較為復(fù)雜,底層控制器較多,傳統(tǒng)的CS機(jī)構(gòu)控制器將受到一定限制,最主要的是可能在時(shí)域內(nèi)引發(fā)沖突,一旦上下通信沖突加劇,將大幅降低上下級(jí)通信效果,造成通信正確率下降。影響整個(gè)DCS控制系統(tǒng)的狀態(tài)[1-2]。因此,如何協(xié)調(diào)大型 DCS設(shè)備中,上位機(jī)與控制器之間的通信,成為設(shè)計(jì)中的一個(gè)難點(diǎn)問(wèn)題。
以下將通過(guò)網(wǎng)絡(luò)物理層連接、通訊設(shè)置、數(shù)據(jù)處理和畫(huà)面顯示4個(gè)方面闡述如何實(shí)現(xiàn)通訊的過(guò)程[3-4]。
在DCS上位機(jī)與控制器通信系統(tǒng)中,上位機(jī)與控制器之間通過(guò)DP總線(xiàn)進(jìn)行傳感器信號(hào)發(fā)送,這種發(fā)送信息中帶有命令特征的,服務(wù)器的接口帶有識(shí)別指令的功能,完成任務(wù)中的通信,以便于更好地協(xié)同工作。大型DCS的通信原理如圖1所示。

圖1 DCS通信原理
(1)物理層連接:和利時(shí)集團(tuán)Smartpro DCS系統(tǒng)的控制層網(wǎng)絡(luò)傳送數(shù)據(jù)是通過(guò)DP協(xié)議完成,為了與DCS實(shí)現(xiàn)最可靠的通訊,在風(fēng)機(jī)控制的AB的PLC硬件中配置了一塊支持DP協(xié)議的通訊接口卡,文中用DP電纜將PLC的通訊卡與和利時(shí)現(xiàn)場(chǎng)控制柜卡件底板的DP端子連接,實(shí)現(xiàn)兩個(gè)系統(tǒng)控制器之間數(shù)據(jù)通訊,再通過(guò)光纜將信號(hào)送入中控室操作站,即完成了網(wǎng)路物理層的連接。
(2)通訊設(shè)置:在Smartpro DCS系統(tǒng)中,所有的硬件模塊的配置均有一個(gè)相應(yīng)的 GSD文件,因此在DCS,要將AB的通訊模塊SST-PFB-CLX的GSD文件拷貝到TARGETHollySys PCBasedIO目錄下,然后在硬件配置處直接添加SST-PFB-CLXFENGJI(DP_Slave),在硬件屬性中設(shè)置從站的站號(hào)和名稱(chēng)以及通訊參數(shù)。根據(jù)所需要通訊的變量數(shù)目,雙方協(xié)商設(shè)定通訊區(qū)的大小。在通訊程序中,共有62個(gè)通訊變量,其中模擬量輸入21點(diǎn),模擬量輸出4點(diǎn),數(shù)字量輸入37點(diǎn)。一個(gè)模擬量點(diǎn)占一個(gè)Word,而一個(gè)數(shù)字量點(diǎn)占一個(gè)Word的一位,所以在DCS方,通訊區(qū)長(zhǎng)度設(shè)定了2個(gè)16 Word In和1個(gè)12 Word Out。在AB的PLC方,創(chuàng)建一個(gè)網(wǎng)絡(luò)配置,設(shè)置網(wǎng)絡(luò)參數(shù),波特率和站號(hào),初始化通訊參數(shù)。在RSLOGIX5K中設(shè)置SST-PFBCLX模塊屬性,指定一個(gè)通訊區(qū),主站側(cè)的輸入模塊對(duì)應(yīng)從站側(cè)的輸出模塊,所以設(shè)定了2個(gè)16 Word Out和1個(gè)12 Word In。在RSLOG IX5K的Main Program中添加程序Profibus-config(通訊初始化程序)和TX-con fig(讀寫(xiě)和處理通訊變量程序),將需要發(fā)送給DCS的變量從內(nèi)部緩沖區(qū)中拷貝到該通訊區(qū)的輸出區(qū)中,并從該通訊區(qū)的輸入?yún)^(qū)中讀取DCS發(fā)送的數(shù)據(jù),并將之拷貝到自身的內(nèi)部緩沖區(qū)中,然后下裝給PLC。
(3)數(shù)據(jù)處理:通訊設(shè)置完成后,在ConMaker中定義輸入物理點(diǎn)變量和輸出物理點(diǎn)變量,并將其參與組態(tài)程序中的邏輯運(yùn)算,開(kāi)始在程序中編寫(xiě)如何處理讀取和寫(xiě)入的數(shù)據(jù)。文中在程序中編寫(xiě)了4個(gè)自定義功能塊:IN_BOOL功能是讀由PLC傳來(lái)開(kāi)關(guān)量,通過(guò)一位位分解,輸出為16個(gè)開(kāi)關(guān)量。OUT_BOOL功能是將16個(gè)開(kāi)關(guān)量組合成一個(gè)PLC能識(shí)別的數(shù)據(jù),然后輸出。IN_REAL功能是讀由PLC傳來(lái)模擬量,此時(shí)讀取的模擬量與DCS系統(tǒng)模擬量的格式不同,需要首先進(jìn)行數(shù)據(jù)高低位交換,為使讀入的模擬量有一位小數(shù),所以將模擬量數(shù)據(jù)在PLC方乘10,因此在DCS上再除以10,再輸出。OUT_REAL功能是先將數(shù)據(jù)乘以10,然后進(jìn)行數(shù)據(jù)高低位交換,再把數(shù)據(jù)送到PLC。在資源中定義好需要通訊62個(gè)全局變量,添加調(diào)用功能塊實(shí)現(xiàn)數(shù)據(jù)讀寫(xiě)的程序,COM_PRG1 COM_PRG2 COM_PRG3,分別實(shí)現(xiàn)將通訊變量模擬量輸入輸出,數(shù)字量輸入的讀入和寫(xiě)出,隨后保存編譯、下裝、登錄與風(fēng)機(jī)連接的轉(zhuǎn)化13#站控制器,可看到通訊成功后讀取和寫(xiě)入的數(shù)據(jù)。
(4)監(jiān)控畫(huà)面顯示:在上位的FacView中,先將風(fēng)機(jī)通訊中讀寫(xiě)的變量添加到標(biāo)簽變量和趨勢(shì)變量及報(bào)警變量表中,在FacView Explor的圖形編輯器中制作風(fēng)機(jī)監(jiān)控畫(huà)面,將畫(huà)面編譯運(yùn)行后,下位控制器中讀寫(xiě)的通訊變量就可在上位的風(fēng)機(jī)流程畫(huà)面上顯示數(shù)據(jù),因此在中控室就可監(jiān)控風(fēng)機(jī)的運(yùn)行狀態(tài)。
當(dāng)前隨著工業(yè)控制規(guī)模的增大,一些大型的通信DCS設(shè)備得到廣泛應(yīng)用。需要的點(diǎn)數(shù)也越來(lái)越多,會(huì)經(jīng)常出現(xiàn)大量的服務(wù)點(diǎn)競(jìng)爭(zhēng)通信資源的狀況,一旦DCS的信道容量系數(shù)η相對(duì)固定,并且要求通信的數(shù)據(jù)量I增加,將造成信道容量η的飽和。傳統(tǒng)方式在計(jì)算短時(shí)間內(nèi)瞬時(shí)出現(xiàn)的通信高峰,有效通信需求增加,在信道飽和的情況下,通信的效率將大幅下降,影響通信效果。
在大型DCS進(jìn)行上下通信中,每個(gè)端口都有一個(gè)指令接收器,上面帶有計(jì)數(shù)功能,初始值為0,接收端的計(jì)數(shù)器值從0開(kāi)始,信號(hào)接收端采集底層傳感器的請(qǐng)求,發(fā)送相關(guān)的指令到指令讀寫(xiě)器。指令讀寫(xiě)器第一次發(fā)送請(qǐng)求,所有指令的計(jì)數(shù)器初始值均是0,當(dāng)?shù)讓拥目刂破鬟M(jìn)行信號(hào)讀取時(shí),可以有效檢測(cè)到底層信號(hào),這信號(hào)可得到一個(gè)有效的回饋,如果回饋的信息有沖突特征,那么應(yīng)避免新指令的發(fā)送,此時(shí),服務(wù)器中的計(jì)數(shù)器將開(kāi)啟,在沖突計(jì)數(shù)位加1,并加到計(jì)數(shù)器上,如果在底層采集到的信號(hào)反饋到服務(wù)器中,得到的信息無(wú)任何沖突特征,那么計(jì)數(shù)器不變,這樣會(huì)保持前一個(gè)沖突的相關(guān)信息,假設(shè)前一個(gè)信息得到解決,計(jì)數(shù)器清0,計(jì)數(shù)方法如圖2所示。

圖2 指令沖突預(yù)測(cè)
根據(jù)時(shí)間間隔沖突計(jì)算方法能夠?qū)CS上位機(jī)與終端內(nèi)的通信沖突進(jìn)行檢測(cè),有效的消除通信中的誤差。設(shè)置上位機(jī)與下位機(jī)之間進(jìn)行信號(hào)通信的時(shí)間是Q,完成全部通信指定信號(hào)的間隔是q,Uq是DCS的有效通信效率,DCS設(shè)備通信數(shù)目是p。在DCS的設(shè)備通信調(diào)度過(guò)程中,需要利用下式計(jì)算z個(gè)通信信號(hào)在DCS的上下端通信中計(jì)算可執(zhí)行概率

通過(guò)以上方法計(jì)算DCS通信過(guò)程中的沖突可能性。計(jì)算通信效率

計(jì)算式(2)的極大值,這個(gè)極大值在DSC通信中有著特殊含義,其可以進(jìn)行調(diào)整,使DCS的通信效率最大化。對(duì)每個(gè)等待的DCS通信任務(wù)進(jìn)行合理的調(diào)度,可計(jì)算出在時(shí)刻t進(jìn)行等待的通信任務(wù)的有效數(shù)量

對(duì)式(3)進(jìn)行離散變換,可得到

如果在DCS通信的過(guò)程中,不同的調(diào)度任務(wù)均需要在時(shí)間t進(jìn)行通信,可以計(jì)算在這種狀態(tài)下,DCS通信的沖突概率

通過(guò)式(6)可以獲取第k個(gè)時(shí)間段中的情景數(shù)目

計(jì)算DCS通信中,等待任務(wù)的有效數(shù)量

也可進(jìn)行一定程度的簡(jiǎn)化處理,保證通信的穩(wěn)定性

通過(guò)上述方法能夠有效地調(diào)節(jié)DCS通信中上下層的沖突。
為了驗(yàn)證文中方法的通信效果,采用和利時(shí)集團(tuán)的火力DCS設(shè)備進(jìn)行系統(tǒng)仿真實(shí)驗(yàn),構(gòu)造信息堆積、信道飽和的容易沖突環(huán)境。傳統(tǒng)的DCS設(shè)備通信方法,只能按照節(jié)點(diǎn)位置分配節(jié)點(diǎn)流量,無(wú)法避免由于海量突變性通信需求造成的通信資源分配失衡的缺陷,導(dǎo)致節(jié)點(diǎn)信道資源分配效率降低。為驗(yàn)證該算法的有效性,需要進(jìn)行一次實(shí)驗(yàn)。對(duì)火力的DCS通信設(shè)施進(jìn)行計(jì)算機(jī)模擬通信,通信的原理如圖3所示。
分別利用傳統(tǒng)算法和文中提出的動(dòng)態(tài)優(yōu)先比例算法進(jìn)行資源分配優(yōu)化處理。其中參數(shù)設(shè)置如下t=200,aj=45,bj=38,對(duì)每次移動(dòng)通信資源比例分配優(yōu)化處理的效率結(jié)果μ進(jìn)行標(biāo)定統(tǒng)計(jì),統(tǒng)計(jì)5次不同需求下的具體實(shí)驗(yàn)結(jié)果如圖4所示。

圖4 通信效率對(duì)比折線(xiàn)圖
在圖4中,利用文中算法進(jìn)行DCS的通訊遠(yuǎn)高于傳統(tǒng)算法,表示在大型設(shè)備的通信過(guò)程中,文中算法體現(xiàn)出了一定的優(yōu)越性。對(duì)實(shí)驗(yàn)中的相關(guān)數(shù)據(jù)進(jìn)行記錄,能得到表1和表2。其中,表1是大型DCS設(shè)備通信需求正常的情況下,進(jìn)行通信資源分配的相關(guān)參數(shù),表2是大型DCS設(shè)備通信較多數(shù)據(jù)情況下,進(jìn)行移動(dòng)通信資源分配的相關(guān)參數(shù)。

表1 大型DCS設(shè)備通信情況

表2 海量數(shù)據(jù)DCS數(shù)據(jù)通信清零
通過(guò)對(duì)表1中的數(shù)據(jù)進(jìn)行有效的診斷和分析能得出,在通信數(shù)據(jù)較多的情況下,文中方法得到的通信效率更高,這主要是因?yàn)樵摲椒軌蛟跊_突的情況下,進(jìn)行合理的調(diào)度,最大程度地避免沖突的發(fā)生,實(shí)驗(yàn)表明,利用文中算法進(jìn)行DCS設(shè)備通信的效率高于傳統(tǒng)的DCS設(shè)備通信算法。
文中提出一種大型DCS設(shè)備中上位機(jī)通信誤差消除方法,算法利用一種時(shí)間空閑間隔的有效填充方法,利用信號(hào)間的通信機(jī)制,解決上位機(jī)與控制器之間時(shí)域信號(hào)沖突。利用信號(hào)預(yù)測(cè)檢測(cè)技術(shù),提前對(duì)下個(gè)時(shí)隙進(jìn)行調(diào)整,減少?zèng)_突的可能性。解決時(shí)域內(nèi)的信號(hào)沖突問(wèn)題。實(shí)驗(yàn)結(jié)果表明,此方法在DCS系統(tǒng)較大的情況下,能夠較好地協(xié)調(diào)上位機(jī)與控制終端之間的聯(lián)系,提高了多機(jī)器人的通信成功率。
[1]張冰,陳萬(wàn)米,梁亮,等.基于OpenGL的小型組機(jī)器人足球仿真平臺(tái)設(shè)計(jì)[J].系統(tǒng)仿真學(xué)報(bào),2008,20(3):724 -728.
[2]秦豐林,李曉明,汪嵩杰.面向足球機(jī)器人比賽的開(kāi)放式仿真系統(tǒng)的研究[J].機(jī)電工程,2009(12):62-64.
[3]穆志純,郭文杰.人耳人臉特征融合在身份鑒別中的研究[J].計(jì)算機(jī)科學(xué),2009,36(5):251 -253,261.
[4]孫鵬,陳小平.RoboCup小型機(jī)器人仿真系統(tǒng)[J].計(jì)算機(jī)仿真,2006,23(4):128 -131.
[5]STANCLIFF S,BALASUBRAMANIAN R,BALCH T,et al.CMU hammerheads 2001 team description [J].Lecture Notes in Computer Science,2002(3):631 -634.
[6]MENG Qingchun,YIN Bo,XIONG Jiaoshe.Intelligent leaming technique based-on fuzzy logic for multi-robot path planning [J].Journal of Harbin Institute of Technology,2001,8(3):222-227.