IP組播技術(shù)在分散控制系統(tǒng)(DCS)中的應(yīng)用1引言
1引言
隨著經(jīng)濟全球化發(fā)展,分散控制系統(tǒng)(DCS)逐步形成融合信息技術(shù)(IT)、集成多種總線、采用功能安全技術(shù)集管控、儀控、電控一體化方向發(fā)展。同時對分散控制系統(tǒng)(DCS)應(yīng)對復雜大型系統(tǒng)架構(gòu)和超大容量的數(shù)據(jù)交互提出更高要求。
IP組播的技術(shù)和應(yīng)用開始快速發(fā)展。對分散控制系統(tǒng)(DCS)的超大容量的數(shù)據(jù)交互提供了新的思路。本文通過采用視頻會議常用到的IP 組播技術(shù)來提高分散控制系統(tǒng)(DCS)數(shù)據(jù)傳輸?shù)膶崟r性、準確性,優(yōu)化系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu), 以獲得更好的經(jīng)濟效益.
2 IP組播
2.1組播傳輸?shù)膬?yōu)點
在IP網(wǎng)絡(luò)中TCP/IP 傳送方式有3 種: 單播, 廣播, 組播。
傳統(tǒng)的單播和廣播的通信方式均不能以最小的網(wǎng)絡(luò)開銷實現(xiàn)單點發(fā)送、多點接收的問題,IP 組播技術(shù)的出現(xiàn)及時解決了這個問題。
相比單播來說,組播的優(yōu)勢在于:由于被傳遞的信息在距信息源盡可能遠的網(wǎng)絡(luò)節(jié)點才開始被復制和分發(fā),所以用戶的增加不會導致信息源負載的加重以及網(wǎng)絡(luò)資源消耗的顯著增加。
相比廣播來說,組播的優(yōu)勢在于:由于被傳遞的信息只會發(fā)送給需要該信息的接收者,所以不會造成網(wǎng)絡(luò)資源的浪費,并能提高信息傳輸?shù)陌踩?另外,廣播只能在同一網(wǎng)段中進行,而組播可以實現(xiàn)跨網(wǎng)段的傳輸。
2.2組播通信
在組播中,用戶按不同的應(yīng)用分為不同的用戶組,組成員要向組播服務(wù)器(一般為路由器)注冊,用戶主機發(fā)出請求報文,表明所要加入的組。每個組播群組有惟一 的D類地址。其地址范圍從224.0.0.0到239.255.255.255。IP最多可提供多達228個同步組播群組的地址,因此,實際群組數(shù)受選路 由表大小而不是編址的約束。
轉(zhuǎn)發(fā)IP組播需要特殊的組播路由器(multicast router)。通常是給常規(guī)路由器添加這種能力。組播路由器會周期性地對該組進行查詢,檢查組內(nèi)的成員是否還參與其中,只要還有一個主機仍在參與,組播 路由器就繼續(xù)接收數(shù)據(jù)。當所有的主機都離開了組后,組播路由器會收到一個Internet組管理協(xié)議(Internet Group Manage Protocol, IGMP)的“離開”消息報文,組播路由器就會馬上查詢組中是否還有活動的組成員。如果有活動的組成員,組播路由器就繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù);如果沒有,就不再轉(zhuǎn)發(fā) 數(shù)據(jù)。
3 IP組播在分散控制系統(tǒng)(DCS)中的應(yīng)用
3.1 系統(tǒng)總體設(shè)計
在分散控制系統(tǒng)(DCS)應(yīng)用過程中,存在著大量的DPU上行數(shù)據(jù),發(fā)送至多個人機界面(HMI)系統(tǒng)。正好可以利IP組播的優(yōu)趨,實行單播/組播相結(jié)合 的混合傳輸方式,通過設(shè)計合理數(shù)據(jù)交換方案,不僅保證數(shù)據(jù)安全達到HMI工作站,而且減輕分散處理單元(DPU)和網(wǎng)絡(luò)設(shè)備CPU 的網(wǎng)絡(luò)負荷,提高系統(tǒng)效率,獲得良好的性能和經(jīng)濟性。下圖1為系統(tǒng)結(jié)構(gòu)示意圖。
圖1:系統(tǒng)結(jié)構(gòu)
系統(tǒng)主要有四部分組成:I/O采集卡件、分散處理單元(DPU)、系統(tǒng)IP網(wǎng)絡(luò)、人機界面(HMI)。
如圖1,分散處理單元(DPU)通過總線協(xié)議完成與I/O采集卡件的雙向數(shù)據(jù)交換;在系統(tǒng)設(shè)計時,只要按系統(tǒng)具體的數(shù)據(jù)獲取需求,合理劃分不同的組播組, 將每一個DPU(就是一個組播源)按需求加入不同的組播組,可以加入多個組播組,將實時數(shù)據(jù)以組播形式在系統(tǒng)IP網(wǎng)絡(luò)發(fā)布出去;每個人機界面(HMI)工 作站(組播數(shù)據(jù)的接收者),按數(shù)據(jù)獲取要求,分別加入不同的組播組,也可以加入多個組播組,完成組播數(shù)據(jù)的接收。系統(tǒng)IP網(wǎng)絡(luò)由備具組播功能的路由器、集 線器、交換機、防火墻等構(gòu)成,共同完成組播數(shù)據(jù)的轉(zhuǎn)發(fā)。組播主要完成分散處理單元(DPU)到人機界面(HMI)上行數(shù)據(jù),其他如控制命令數(shù)據(jù)等,輔以單 播方式完成。
3.2 IP組播Winsock編程方法
在實際應(yīng)用中,IP組播編程實現(xiàn)的方法隨DPU嵌入式支撐系統(tǒng)和HMI運行系統(tǒng)平臺的不同有所不同的;編程人員通常借助于操作系統(tǒng)中所提供的網(wǎng)絡(luò)數(shù)據(jù)通信 編程接口實現(xiàn)網(wǎng)上的IP組播通信的功能。下面以在Microsoft Windows環(huán)境下的網(wǎng)絡(luò)編程接口(Windows Socket,簡稱Winsock)介紹具體的IP組播編程實現(xiàn)的方法。
圖2 Winsock實現(xiàn)IP組播過程流程圖
3.2.1 IP組播數(shù)據(jù)發(fā)送流程(DPU)
調(diào)用WSAStartup ( )函數(shù),Winsock 服務(wù)的初始化。
調(diào)用socket ( )函數(shù),創(chuàng)建數(shù)據(jù)報套接口,它是組播組的初始化套接字,并且以后數(shù)據(jù)的發(fā)送在該套接字上進行。
調(diào)用setsockopt( )函數(shù),設(shè)置發(fā)送的數(shù)據(jù)報本地接口(IP_MULTICAST_IF)及設(shè)置多播地址(例:239.100.1.1)和端口號(例:20120)。
使用sendto()函數(shù),發(fā)送數(shù)據(jù),目標地址為第二步所設(shè)置的多播地址。
關(guān)閉套接字,釋放Winsock資源。
3.2.2 IP組播數(shù)據(jù)接收流程(HMI)
調(diào)用WSAStartup ( )函數(shù),Winsock 服務(wù)的初始化。調(diào)用socket ( )函數(shù),創(chuàng)建數(shù)據(jù)報套接口,它是組播組的初始化套接字,并且以后數(shù)據(jù)的接收在該套接字上進行。
調(diào)用bind ( )函數(shù),綁定本地地址(如:INADDR_ANY)和端口號(同發(fā)送端)。
調(diào)用setsockopt( )函數(shù),設(shè)置IP_ADD_MEMBERSHIP選項,加入多播組。
調(diào)用recvfrom()函數(shù),接收數(shù)據(jù)。
關(guān)閉套接字,釋放Winsock資源。
4 IP組播存在的問題
IP組播數(shù)據(jù)包典型使用用戶數(shù)據(jù)報協(xié)議(UDP),而UDP是一種“盡力而為”(Best-effort)協(xié)議。因此,IP組播應(yīng)用必定會遇到數(shù)據(jù)包丟失和亂序問題。
安全組播就是只有注冊的發(fā)送者才可以向組發(fā)送數(shù)據(jù);只有注冊的接收者才可以接收組播數(shù)據(jù)。然而IP組播很難保證這一點。
Internet是一個異構(gòu)網(wǎng)絡(luò),所以在設(shè)計IP組播網(wǎng)絡(luò)時,必須充分考慮到網(wǎng)絡(luò)的異構(gòu)性。
5結(jié)束語
IP組播技術(shù)能夠有效地解決單點發(fā)送到多點、多點發(fā)送到多點的問題,實現(xiàn)了 IP 網(wǎng)絡(luò)中點到多點的高效數(shù)據(jù)傳送,能夠有效地節(jié)約網(wǎng)絡(luò)帶寬、降低網(wǎng)絡(luò)負載。在實際應(yīng)用過程中,只要正視組播存在的問題,充分考慮到網(wǎng)絡(luò)的異構(gòu)性,通過設(shè)計合 理網(wǎng)絡(luò)架構(gòu)和數(shù)據(jù)交換協(xié)議,一樣可以構(gòu)造出安全可靠的系統(tǒng)??七h股份NT6000分散控制系統(tǒng)成功研制充分證明這一點;NT6000分散控制系統(tǒng)在應(yīng)用推 廣過程中,IP組播通信技術(shù)在NT6000分散控制系統(tǒng)的應(yīng)用也充分得到客戶的肯定。
參考文獻:
[1] TCP/IP網(wǎng)絡(luò)互聯(lián)技術(shù)(1)原理,協(xié)議和體系結(jié)構(gòu)(第3版)清華大學出版社,2001.
[2] IP組播與安全(第1版) 國防工業(yè)出版社,2006
[3]中國大型火電廠DCS應(yīng)用現(xiàn)狀 CONTROL ENGINEERING China,2009
[4] IP組播通信及其在VxWorks操作系統(tǒng)下的實現(xiàn)計算機與數(shù)字工程,2003