北京中油瑞飛信息技術(shù)有限責(zé)任公司 黃兵,郭月明,謝華鋒
一種RTU控制器可擴(kuò)展功能的軟硬件實(shí)現(xiàn)方法
北京中油瑞飛信息技術(shù)有限責(zé)任公司 黃兵,郭月明,謝華鋒
針對(duì)油氣生產(chǎn)井場(chǎng)站對(duì)I/O點(diǎn)量需求的增加及對(duì)無(wú)線(xiàn)智能儀表數(shù)據(jù)采集問(wèn)題,提出了一種RTU控制器I/O可擴(kuò)展功能的軟硬件實(shí)現(xiàn)方法,主要研究討論了通過(guò)硬件CAN接口、用戶(hù)定義擴(kuò)展實(shí)現(xiàn)I/O擴(kuò)展,利用Zigbee協(xié)議實(shí)現(xiàn)對(duì)無(wú)線(xiàn)智能儀表數(shù)據(jù)采集功能。
I/O可擴(kuò)展;RTU;CAN;Zigbee無(wú)線(xiàn)傳輸
RTU(遠(yuǎn)程測(cè)控終端)因其具有遙測(cè)、遙信、遙調(diào)及遙控功能[1]廣泛應(yīng)用于現(xiàn)代油氣生產(chǎn)領(lǐng)域。然而,油氣井場(chǎng)站控制需求的增加使得控制現(xiàn)場(chǎng)對(duì)I/O點(diǎn)的需求也隨之增加,這就要求在不增加單體RTU的情況下提高對(duì)現(xiàn)場(chǎng)I/O點(diǎn)量的采集能力。另外,無(wú)線(xiàn)智能儀表的廣泛應(yīng)用要求RTU除對(duì)傳統(tǒng)有線(xiàn)儀表進(jìn)行數(shù)據(jù)采集外,也能實(shí)現(xiàn)對(duì)無(wú)線(xiàn)智能儀表的數(shù)據(jù)采集。本文針對(duì)以上兩點(diǎn)需求提出了一種RTU控制器的I/O可擴(kuò)展及對(duì)無(wú)線(xiàn)智能儀表數(shù)據(jù)采集的軟硬件實(shí)現(xiàn)方法。
RTU控制器由硬件、軟件驅(qū)動(dòng)層、操作系統(tǒng)層、協(xié)議棧層,硬件驅(qū)動(dòng)層為上層程序提供外部設(shè)備的操作接口,包括現(xiàn)場(chǎng)I/O采集驅(qū)動(dòng)、通用RS485通信口、RS232通信口、以及1路以太網(wǎng)通信口。為實(shí)現(xiàn)I/O擴(kuò)展功能設(shè)計(jì)CAN通信接口和Zigbee無(wú)線(xiàn)通信接口I/O。采用嵌入式LINUX[2-5]操作系統(tǒng);協(xié)議棧層包括MODBUS協(xié)議簇、CAN自定義 I/O BUS協(xié)議和ZIGBEE[6-7]協(xié)議。
可擴(kuò)展的RTU控制器硬件由核心板和底板兩部分組成。CPU、內(nèi)存等控制核心集中在核心板上,外部數(shù)據(jù)接口和通信接口集中在底板上,如圖1(a)、(b)所示。這種結(jié)構(gòu)化設(shè)計(jì)實(shí)現(xiàn)了核心基礎(chǔ)電路與外圍接口電路分離,提高了核心電路的技術(shù)復(fù)用率,且便于產(chǎn)品生產(chǎn)和升級(jí)。
圖1 (a)核心板原理框圖
圖1 (b)底板原理框圖
由圖1(a)可知,RTU控制器CPU采用ATMEL的32位ARM9工業(yè)級(jí)處理器、1GB NAND FLASH、32MB SDRAM、8MB的SPI FLASH;16KB FRAM保證系統(tǒng)在掉電情況下仍可保存數(shù)據(jù);WATCH DOG用來(lái)防止程序跑飛。圖1(b)所示底板集成了除3路RS485通信口、2路RS232通信口及1路以太網(wǎng)通信口等現(xiàn)場(chǎng)通用通信接口外,還增加了為實(shí)現(xiàn)I/O擴(kuò)展2路CAN通信口及為實(shí)現(xiàn)無(wú)線(xiàn)儀表數(shù)據(jù)采集的1路Zigbee無(wú)線(xiàn)通信接口。電源采用獨(dú)立的DC/DC隔離電源模塊,隔離電壓可達(dá)2KVDC,支持反接保護(hù)和短路保護(hù)。
3.1 CAN總線(xiàn)接口電路
CAN總線(xiàn)接口電路主要包含控制器部分、收發(fā)器部分、隔離部分、外圍電路部分及供電電源5部分,如圖2所示。
圖2 CAN總線(xiàn)接口電路
CAN總線(xiàn)通信的核心是CAN總線(xiàn)控制器,本文采用CPU片上集成控制器實(shí)現(xiàn)CAN數(shù)據(jù)鏈路層、傳輸層功能,物理層功能通過(guò)CAN總線(xiàn)收發(fā)器芯片PCA82C250T實(shí)現(xiàn),并能過(guò)光耦隔離方式實(shí)現(xiàn)CAN物理總線(xiàn)與內(nèi)部系統(tǒng)的隔離。由于光耦合器輸入/輸出間互相隔離且電信號(hào)傳輸具有單向性特點(diǎn),因而具有良好的電絕緣和抗干擾能力。另外,光耦合器的輸入端屬于電流型工作的低阻元件,具有很強(qiáng)的共模抑制能力,因此在長(zhǎng)線(xiàn)信息傳輸中作為終端隔離元件可以大大提高信噪比。
可擴(kuò)展的RTU控制器的軟件實(shí)現(xiàn)方法包括自定義I/O可擴(kuò)展協(xié)議和優(yōu)化的無(wú)線(xiàn)傳輸算法。
4.1 可擴(kuò)展功能軟件實(shí)現(xiàn)
為實(shí)現(xiàn)RTU擴(kuò)展模塊緊湊互連,結(jié)構(gòu)上通過(guò),采用35mm標(biāo)準(zhǔn)導(dǎo)軌,將RTU擴(kuò)展模塊固定在一起,實(shí)現(xiàn)設(shè)計(jì)的緊湊和一體化。軟件過(guò)自定義I/O可擴(kuò)展協(xié)議(I/OBUS協(xié)議)實(shí)現(xiàn)與擴(kuò)展模塊通信。I/OBUS總線(xiàn)協(xié)議基于CAN2.0B串行通信協(xié)議,采用應(yīng)答傳輸機(jī)制。CAN協(xié)議涵蓋了ISO規(guī)定的OSI基本參照模型中的傳輸層、數(shù)據(jù)鏈路層及物理層,如圖3所示。
圖3 ISO/OSI基本參照模型和CAN協(xié)議
圖3 所示的物理層定義了信號(hào)實(shí)際的發(fā)送方式、位時(shí)序、位的編碼方式及同步的步驟。數(shù)據(jù)鏈路層分為MAC子層和LLC子層,MAC子層是CAN協(xié)議的核心部分。數(shù)據(jù)鏈路層的功能是將物理層收到的信號(hào)組織成有意義的消息,并提供傳送錯(cuò)誤控制等傳輸控制的流程。具體地說(shuō),就是消息的幀化、仲裁、應(yīng)答、錯(cuò)誤的檢測(cè)或報(bào)告。
CAN2.0 B協(xié)議數(shù)據(jù)幀由包括幀起始、仲裁段、控制段、數(shù)據(jù)段、CRC段、ACK段和幀結(jié)束7個(gè)段構(gòu)成。幀起始表示數(shù)據(jù)幀開(kāi)始的段;仲裁段表示數(shù)據(jù)的優(yōu)先級(jí);控制段由6位構(gòu)成,表示數(shù)據(jù)段的字節(jié)數(shù);數(shù)據(jù)段可包含0~8個(gè)字節(jié)的數(shù)據(jù),從MSB(最高位)開(kāi)始輸出;CRC段由15位的CRC順序和1位的CRC界定符構(gòu)成,用于檢查幀的傳輸錯(cuò)誤;ACK段用來(lái)確認(rèn)是否正常接收,由ACK槽和ACK界定符2位構(gòu)成;幀結(jié)束由7位隱性位構(gòu)成,表示數(shù)據(jù)幀結(jié)束。我們?cè)贑AN2.0 B協(xié)議格式封裝上進(jìn)行了擴(kuò)展,形成了自定義的報(bào)文格式,如圖4所示。
圖4 I/OBUS報(bào)文格式
圖4 所示的報(bào)文格式中,SRR和IDE為1,RTR為0。協(xié)議的數(shù)據(jù)區(qū)為固定8字節(jié)長(zhǎng)度,主從節(jié)點(diǎn)在發(fā)送數(shù)據(jù)時(shí)把DLC恒定設(shè)置為1000。另外,仲裁區(qū)包含方向標(biāo)識(shí)、從節(jié)點(diǎn)號(hào)、協(xié)議號(hào)、總包號(hào)、包序號(hào)和板卡類(lèi)型等信息。
4.2 優(yōu)化的無(wú)線(xiàn)傳輸算法
計(jì)算機(jī)實(shí)驗(yàn)中心的建設(shè)要多功能化。現(xiàn)在的計(jì)算機(jī)設(shè)備硬盤(pán)比較大,計(jì)算機(jī)技術(shù)也支持一臺(tái)機(jī)安裝多個(gè)操作系統(tǒng)。實(shí)驗(yàn)教學(xué)中心可以根據(jù)自己學(xué)校的教學(xué)實(shí)際需要、學(xué)科特點(diǎn)、計(jì)算機(jī)教學(xué)功能需求,將每個(gè)計(jì)算機(jī)實(shí)驗(yàn)室的計(jì)算機(jī)設(shè)備安裝多個(gè)操作系統(tǒng),在不同系統(tǒng)下根據(jù)教學(xué)功能需求安裝相應(yīng)計(jì)算機(jī)應(yīng)用軟件。過(guò)去傳統(tǒng)的計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心功能單一,只能承擔(dān)全校的計(jì)算機(jī)公共課教學(xué)任務(wù),各分院(系、部)還都要建設(shè)自己的專(zhuān)業(yè)機(jī)房,實(shí)驗(yàn)室重復(fù)建設(shè),設(shè)備利用率低,分院(系、部)缺少計(jì)算機(jī)專(zhuān)業(yè)實(shí)驗(yàn)教師去維護(hù)與管理,設(shè)備故障率高,造成財(cái)力、人力資源的浪費(fèi),這樣建設(shè)不適用于辦學(xué)經(jīng)費(fèi)有限的地方高校。
設(shè)計(jì)了優(yōu)化的無(wú)線(xiàn)傳輸算法來(lái)降低儀表功耗,延長(zhǎng)儀表內(nèi)置電池的壽命,算法流程如圖5所示,每一步操作的具體內(nèi)容如下:
操作一:RTU初始化集成的無(wú)線(xiàn)Zigbee模塊;
操作二:是否有無(wú)線(xiàn)儀表在網(wǎng);
操作三:RTU無(wú)線(xiàn)Zigbee模塊進(jìn)入睡眠狀態(tài);
操作四:無(wú)線(xiàn)儀表發(fā)送命令,RTU無(wú)線(xiàn)模塊回應(yīng),無(wú)線(xiàn)儀表獲取RTU系統(tǒng)時(shí)間并與之同步;
操作五:每隔25秒無(wú)線(xiàn)儀表向RTU端上報(bào)數(shù)據(jù);
操作六:過(guò)整30min時(shí),無(wú)線(xiàn)儀表再次申請(qǐng)與RTU時(shí)鐘同步;
操作七:無(wú)線(xiàn)儀表進(jìn)入深度睡眠狀態(tài)。
圖5 優(yōu)化的無(wú)線(xiàn)傳輸算法流程圖
油氣生產(chǎn)數(shù)字化系統(tǒng)利用RTU和智能儀表組成現(xiàn)場(chǎng)層數(shù)字化采集系統(tǒng),完成站內(nèi)計(jì)量、集輸、注水等主要生產(chǎn)運(yùn)行參數(shù)的集中監(jiān)測(cè)及優(yōu)化控制。將可擴(kuò)展的RTU控制器與其他數(shù)字、模擬等擴(kuò)展模塊互連,對(duì)多個(gè)井口的數(shù)據(jù)進(jìn)行采集和通信,以確保油氣生產(chǎn)處理持續(xù)、穩(wěn)定、高效的運(yùn)行。圖6為油氣生產(chǎn)現(xiàn)場(chǎng)數(shù)字采集系統(tǒng)連接圖,利用可擴(kuò)展的RTU控制器和智能儀表的實(shí)現(xiàn)方法。
圖6 油氣生產(chǎn)現(xiàn)場(chǎng)數(shù)字采集系統(tǒng)連接圖
本文提出的可擴(kuò)展RTU控制器結(jié)構(gòu)上可通過(guò)35mm標(biāo)準(zhǔn)導(dǎo)軌與其他擴(kuò)展模塊實(shí)現(xiàn)一體化連接,電氣上可通過(guò)I/OBUS實(shí)現(xiàn)互連、數(shù)據(jù)傳輸;支持多種工控編程語(yǔ)言,方便工程上進(jìn)行二次開(kāi)發(fā)。另外,優(yōu)化的無(wú)線(xiàn)傳輸算法和增強(qiáng)的硬件/軟件設(shè)計(jì)不僅降低了與RTU互連的無(wú)線(xiàn)智能儀表的功耗,而且保證RTU在極端環(huán)境下也能穩(wěn)定、可靠地正常工作。
[1] 候貴雙等. 微功耗RTU應(yīng)用系統(tǒng)研究與實(shí)現(xiàn) [D]. 西安石油大學(xué)碩士學(xué)位論文, 2010.
[2] 田澤. 嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用[M]. 北京: 北京航空航天出版社, 2005: 1-133.
[3] 魏忠, 蔡勇, 雷紅衛(wèi)著. 嵌入式系統(tǒng)開(kāi)發(fā)詳解[M]. 北京: 電子工業(yè)出版社, 2003.
[4] AlessandroRubini. Linux Device Drivers [M].O’Reilly&Associates, Inc. 1998.
[5] Neil Matthew, Richard Stones. Beginning Linux Programming, Third Edition. 2004.
[6] ZigBeeAllianee. http://www. ZigBee.org/ Products/Overview/tabidi232/ Default. aspx, 2008. 12.
[7] 瞿雷, 劉盛德, 胡咸斌. ZigBee技術(shù)及應(yīng)用[M]. 北京: 北京航空航大大學(xué)出版社, 2007.
圖14 導(dǎo)出人機(jī)界面屏幕
(3)更改數(shù)據(jù)庫(kù)
圖15 更改數(shù)據(jù)庫(kù)
有些(但不是所有的)供應(yīng)商的控制系統(tǒng),操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以執(zhí)行控制系統(tǒng)的任何動(dòng)作(參見(jiàn)圖15)。
(4)中間人攻擊
圖16 中間人攻擊
如果攻擊者知道他所操作的協(xié)議,中間人攻擊可在控制系統(tǒng)的協(xié)議上進(jìn)行。攻擊者可以修改傳輸過(guò)程中的數(shù)據(jù)包,可以惡搞操作員人機(jī)界面的顯示,也可以完全控制ICS(參見(jiàn)圖16)。通過(guò)對(duì)命令流插入命令,攻擊者可以發(fā)出任意的或針對(duì)的命令。通過(guò)更改回復(fù),操作員得到的顯示是更改后的過(guò)程畫(huà)面。
作者簡(jiǎn)介
華镕,男,1982年畢業(yè)于北京科技大學(xué)自動(dòng)化系,現(xiàn)任羅克韋爾自動(dòng)化(中國(guó))有限公司全球標(biāo)準(zhǔn)及貿(mào)易部中國(guó)地區(qū)經(jīng)理。
The Hardware and Software Implementation Method of RTU Extensible Function
This paper proposed a hardware and software implementation method of RTU extensible function aiming to the increasing demand on the I/O number and data acquisition of wireless intelligent instruments This paper mainly discussed the realization of I/O expansion with CAN interface and implement of data collection functions of wireless intelligent instruments by using Zigbee protocol.
I/O expansion;RTU;CAN;Wireless transmission of Zigbee
黃兵(1983-),男,內(nèi)蒙古鄂爾多斯人,碩士,中級(jí)工程師,現(xiàn)就職于北京中油瑞飛信息技術(shù)有限責(zé)任公司,長(zhǎng)期從事工業(yè)自動(dòng)化控制器RTU、PLC相關(guān)產(chǎn)品技術(shù)開(kāi)發(fā)工作,從業(yè)經(jīng)驗(yàn)6年。
郭月明(1975-),男,江西人,本科,高級(jí)工程師,現(xiàn)就職于北京中油瑞飛信息技術(shù)有限責(zé)任公司,主要研究方向?yàn)楣I(yè)自動(dòng)化儀表。
謝華鋒(1974-),男,河南漯河人,本科,軟件工程師,現(xiàn)就職于北京中油瑞飛信息技術(shù)有限責(zé)任公司,主要研究方向?yàn)榍度胧介_(kāi)發(fā)。