999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種通用多協(xié)議數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2015-07-02 13:22:04劉祿恒
物聯(lián)網(wǎng)技術(shù) 2015年6期
關(guān)鍵詞:數(shù)據(jù)采集

劉祿恒

摘 要:數(shù)據(jù)采集系統(tǒng)一直是工控系統(tǒng)的核心要件。論述一種基于Modbus協(xié)議、Fins協(xié)議和IEC104協(xié)議的通用多協(xié)議數(shù)據(jù)采集系統(tǒng),該系統(tǒng)根據(jù)不同協(xié)議的特點(diǎn)將數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,支持?jǐn)?shù)據(jù)實(shí)時(shí)訂閱、冗余處理和統(tǒng)一發(fā)布。應(yīng)用結(jié)果表明,該系統(tǒng)是一個(gè)實(shí)時(shí)性強(qiáng)、易擴(kuò)展、易維護(hù)的高效穩(wěn)定的數(shù)據(jù)采集系統(tǒng)。

關(guān)鍵詞:多協(xié)議;數(shù)據(jù)采集;標(biāo)準(zhǔn)化處理;框架

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2015)06-00-02

0 引 言

數(shù)據(jù)采集,是指從傳感器和其它待測設(shè)備等模擬和數(shù)字被測單元中采集信號(hào),再由計(jì)算機(jī)進(jìn)行存儲(chǔ)、處理、顯示或打印的過程。數(shù)據(jù)采集過程往往表現(xiàn)出“數(shù)據(jù)量大”、“數(shù)據(jù)增長速度快”、“數(shù)據(jù)冗余”、“設(shè)備通信協(xié)議不統(tǒng)一”等特點(diǎn),這往往會(huì)導(dǎo)致采集系統(tǒng)無法適應(yīng)不斷增長的處理需求,系統(tǒng)擴(kuò)展性能低,難以維護(hù)[1]。本文論述了一種基于Modbus協(xié)議、Fins協(xié)議和IEC104協(xié)議的多協(xié)議數(shù)據(jù)采集系統(tǒng),該系統(tǒng)根據(jù)不同協(xié)議的特點(diǎn)將數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,支持?jǐn)?shù)據(jù)訂閱、冗余處理和統(tǒng)一發(fā)布。

1 系統(tǒng)總體結(jié)構(gòu)

1.1 系統(tǒng)層次結(jié)構(gòu)

系統(tǒng)總體結(jié)構(gòu)如圖1所示,系統(tǒng)主要由采集框架層,緩存判重層和數(shù)據(jù)管理層三部分組成,其中采集框架層包含輪詢框架和主動(dòng)上傳框架,不同協(xié)議可根據(jù)協(xié)議的特性來選擇相應(yīng)框架,比如Modbus和Fins協(xié)議都沒有定義主動(dòng)上傳的功能所以采用輪詢框架,而IEC104中有主動(dòng)上傳的功能則采用主動(dòng)上傳框架。緩存判重層可以將不同協(xié)議間的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,減少數(shù)據(jù)冗余和數(shù)據(jù)發(fā)布時(shí)的負(fù)載。數(shù)據(jù)管理層是將采集上來的數(shù)據(jù)統(tǒng)一管理,然后再分發(fā)給各個(gè)訂閱者。訂閱者可以是數(shù)據(jù)庫或者顯示界面,數(shù)據(jù)管理層可以直接存儲(chǔ)到數(shù)據(jù)庫,也可通過共享內(nèi)存或者套接字存儲(chǔ)到數(shù)據(jù)庫或者顯示到界面上。如果是顯示到界面上,增加訂閱的功能便可減少顯示界面查詢數(shù)據(jù)庫的延遲,提高采集系統(tǒng)的實(shí)時(shí)性。

1.2 系統(tǒng)線程模型

系統(tǒng)總體表現(xiàn)為一個(gè)進(jìn)程,不同協(xié)議的數(shù)據(jù)采集工作在不同的線程里。輪詢框架下的每個(gè)協(xié)議有兩個(gè)線程,主動(dòng)上傳框架下的協(xié)議采用一個(gè)線程。數(shù)據(jù)管理模塊中等待訂閱的工作為一個(gè)線程,數(shù)據(jù)的發(fā)布為一個(gè)線程。

圖1 系統(tǒng)總體結(jié)構(gòu)圖

2 關(guān)鍵技術(shù)

2.1 輪詢框架的實(shí)現(xiàn)

輪詢框架的核心為兩個(gè)線程和兩個(gè)鏈表,線程分為主線程和工作線程,主線程主要維護(hù)兩個(gè)定時(shí)器,工作線程進(jìn)行實(shí)際采集和設(shè)備重新連接的工作。主線程的兩個(gè)定時(shí)器分別對(duì)應(yīng)工作線程的兩個(gè)鏈表,兩個(gè)鏈表分別為數(shù)據(jù)采集設(shè)備鏈表和重新連接的設(shè)備鏈表。

輪詢框架分為兩個(gè)線程,可以隔離定時(shí)器和實(shí)際的采集或重連工作,減少彼此之間的影響。網(wǎng)絡(luò)通訊有很多不確定的因素,在一個(gè)設(shè)備上的采集延遲可能會(huì)影響到其他設(shè)備上的數(shù)據(jù)采集。將定時(shí)器和實(shí)際工作設(shè)備兩者隔離就能保證各設(shè)備上一定次數(shù)的信息采集,確保系統(tǒng)正常穩(wěn)定的運(yùn)行。

2.2 主動(dòng)上傳框架的實(shí)現(xiàn)

主動(dòng)上傳框架采用Reactor編程模式,對(duì)各socket描述符進(jìn)行監(jiān)聽,有數(shù)據(jù)到來就對(duì)協(xié)議進(jìn)行解析,回調(diào)提前注冊(cè)好的信息處理函數(shù),取出數(shù)據(jù)。如果設(shè)備發(fā)生故障則關(guān)閉socket描述符,啟動(dòng)重新連接設(shè)備的定時(shí)器,定期進(jìn)行設(shè)備重連。

IEC104協(xié)議本身規(guī)定了4個(gè)定時(shí)器,包括為連接建立超時(shí)進(jìn)行重連的定時(shí)器t0(30秒)、發(fā)送或測試APDU的超時(shí)定時(shí)器t1(15秒)、無數(shù)據(jù)報(bào)文時(shí)確認(rèn)的超時(shí)定時(shí)器t2(10秒,t2t1)[2]。所以在選擇主動(dòng)上傳框架使用時(shí)應(yīng)根據(jù)協(xié)議本身的規(guī)定做特殊化處理。

2.3 不同協(xié)議數(shù)據(jù)的標(biāo)準(zhǔn)化處理

由于不同協(xié)議間模擬點(diǎn)的數(shù)據(jù)信息表示可能不一致,比如Modbus和Fins協(xié)議模擬點(diǎn)的數(shù)據(jù)信息選用uint16_t來表示,而IEC104協(xié)議選用float來表示,所以系統(tǒng)統(tǒng)一定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)--struct Data,不同協(xié)議下模擬點(diǎn)的信息統(tǒng)一用std::unique_ptr指針表示,然后根據(jù)協(xié)議類型填入 std::map 或std::map。協(xié)議間的數(shù)字點(diǎn)信息則統(tǒng)一用std::map 來表示。這樣可以達(dá)成不同協(xié)議數(shù)據(jù)的標(biāo)準(zhǔn)化,方便了系統(tǒng)的緩存判重和統(tǒng)一發(fā)布。

2.4 緩存判重去冗余

系統(tǒng)總體用一棵紅黑樹來緩存最近一次采集的所有協(xié)議下所有設(shè)備的數(shù)據(jù)信息,這樣每次進(jìn)行發(fā)布的都是所有設(shè)備下有數(shù)據(jù)變化了的點(diǎn)信息,大大減少了數(shù)據(jù)冗余和發(fā)布時(shí)的負(fù)載,明顯提高了系統(tǒng)性能。另外有了緩存模塊,設(shè)備信息的顯示界面可以不需要讀取設(shè)備列表上的配置文件,而從網(wǎng)絡(luò)上直接獲取設(shè)備列表。

2.5 數(shù)據(jù)管理統(tǒng)一發(fā)布

數(shù)據(jù)管理模塊參考了muduo的日志庫[3],線程模型在前端線程收集數(shù)據(jù),數(shù)據(jù)信息到達(dá)一定大小或者數(shù)據(jù)發(fā)布定時(shí)器超時(shí)之后將數(shù)據(jù)傳給背景線程,由背景線程來統(tǒng)一發(fā)布給訂閱者,比如數(shù)據(jù)庫和顯示界面等。這樣可以在不影響數(shù)據(jù)采集效率的前提下,提高數(shù)據(jù)發(fā)布效率,免除系統(tǒng)在發(fā)布上的等待。另外系統(tǒng)采用Reactor + one loop per thread 編程模式等待來自網(wǎng)絡(luò)的訂閱并實(shí)施數(shù)據(jù)信息在網(wǎng)絡(luò)上的發(fā)布。傳統(tǒng)的采集系統(tǒng)都是先將數(shù)據(jù)存到數(shù)據(jù)庫中,然后工控系統(tǒng)其他組件再從數(shù)據(jù)庫中讀取數(shù)據(jù),這樣往往會(huì)造成很大的延時(shí),所以支持訂閱和統(tǒng)一發(fā)布的采集系統(tǒng)對(duì)工控系統(tǒng)的實(shí)時(shí)性大有裨益。

采集系統(tǒng)采用如圖2所示的協(xié)議格式來進(jìn)行統(tǒng)一的數(shù)據(jù)發(fā)布。報(bào)文最開始用3個(gè)字節(jié)的“HEI”來對(duì)報(bào)文定界,其后是4個(gè)字節(jié)的報(bào)文長度,方便接收方對(duì)報(bào)文進(jìn)行處理。然后是設(shè)備個(gè)數(shù)及設(shè)備上的具體點(diǎn)信息。

圖2 數(shù)據(jù)發(fā)布的協(xié)議

由于數(shù)據(jù)標(biāo)準(zhǔn)化的處理,數(shù)據(jù)發(fā)布在協(xié)議上也做了一些妥協(xié),多了一個(gè)字節(jié)的標(biāo)識(shí)來判斷設(shè)備上是否包含模擬點(diǎn)。設(shè)備信息如圖3所示。

圖3 設(shè)備信息內(nèi)容

3 運(yùn)行結(jié)果及分析

為了對(duì)系統(tǒng)做性能上的評(píng)測,編寫Modbus協(xié)議和IEC104協(xié)議設(shè)備端的仿真程序,模擬這兩個(gè)協(xié)議下多個(gè)設(shè)備上的多種點(diǎn)信息,多個(gè)不同的模擬點(diǎn)分別模擬正弦曲線(如圖4),二次函數(shù)曲線,指數(shù)曲線,對(duì)數(shù)曲線,平方根曲線等的變化,不同的數(shù)字點(diǎn)只需要模擬一系列隨機(jī)0/1值的變化即可。

圖4 設(shè)備上的模擬點(diǎn)數(shù)據(jù)按正弦曲線變化

采集系統(tǒng)會(huì)根據(jù)協(xié)議的特點(diǎn)實(shí)時(shí)將數(shù)據(jù)采集上來,然后統(tǒng)一發(fā)布。數(shù)據(jù)顯示的界面如圖5所示,圖中顯示的是IEC104協(xié)議下設(shè)備0的數(shù)據(jù)信息,該設(shè)備下模擬點(diǎn)號(hào)16 385的值為12 198.6,數(shù)字點(diǎn)號(hào)1的值為0。

圖5 數(shù)據(jù)顯示界面

在界面上選擇不同的協(xié)議并選擇協(xié)議下各相應(yīng)設(shè)備上不同點(diǎn)的信息,將數(shù)據(jù)與設(shè)備仿真端的數(shù)據(jù)對(duì)比,發(fā)現(xiàn)程序運(yùn)行無誤。

設(shè)備的仿真端程序總共模擬了50個(gè)設(shè)備的變化,系統(tǒng)均能實(shí)時(shí)準(zhǔn)確的將各協(xié)議下各設(shè)備的各個(gè)點(diǎn)信息采集上來,說明了該系統(tǒng)性能的高效性。

采集系統(tǒng)在采集框架層完成之后才增加的對(duì)FINS協(xié)議的支持,說明了系統(tǒng)容易擴(kuò)展,容易維護(hù)的特性。而采集系統(tǒng)支持?jǐn)?shù)據(jù)實(shí)時(shí)訂閱、冗余處理和統(tǒng)一發(fā)布,說明了系統(tǒng)是一個(gè)實(shí)時(shí)性能可靠的數(shù)據(jù)采集系統(tǒng)。

4 結(jié) 語

本文論述了一種基于Modbus協(xié)議、Fins協(xié)議和IEC104協(xié)議的通用多協(xié)議數(shù)據(jù)采集系統(tǒng), 該系統(tǒng)根據(jù)不同協(xié)議的特點(diǎn)將數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,支持?jǐn)?shù)據(jù)實(shí)時(shí)訂閱、數(shù)據(jù)冗余處理和統(tǒng)一發(fā)布。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)是一個(gè)易擴(kuò)展,易維護(hù)的實(shí)時(shí)性強(qiáng)的高效穩(wěn)定的數(shù)據(jù)采集系統(tǒng)。

參考文獻(xiàn)

[1]彭新一,黃競斌,黃志煒 .“一種面向大規(guī)模分布式數(shù)據(jù)采集的標(biāo)準(zhǔn)化方法” [C]. Proceedings of 2010 The 3rd,International Conference on Computational Intelligence and Industrial Application,2010(7).

[2] Telecontrol equipment and systems Part 5-104: Transmission protocols Network access for IEC 60870-5-101 using standard transport profiles[S]. IEC 60870-5-104:2000, IDT

[3]陳碩.《Linux多線程服務(wù)端編程》[M].北京:電子工業(yè)出版社,2013。

[4] Modbus Application Protocol Specification V1.1b, Modbus-IDA. http://www.Modbus-IDA.org

[5]鞠陽,張惠剛.IEC60870-5-104遠(yuǎn)動(dòng)規(guī)約的設(shè)計(jì)及其應(yīng)用[J].繼電器,2006,34(17):55-58.

[6] FINS communications. http://paginas.fe.up.pt/~pfs/recursos/plcs/omron/cs1/eth_manual/sec5.pdf

猜你喜歡
數(shù)據(jù)采集
Web網(wǎng)絡(luò)大數(shù)據(jù)分類系統(tǒng)的設(shè)計(jì)與改進(jìn)
CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
基于大型嵌入式系統(tǒng)的污水檢測系統(tǒng)設(shè)計(jì)
社會(huì)保障一卡通數(shù)據(jù)采集與整理技巧
基于AVR單片機(jī)的SPI接口設(shè)計(jì)與實(shí)現(xiàn)
CS5463在植栽用電子鎮(zhèn)流器老化監(jiān)控系統(tǒng)中的應(yīng)用
大數(shù)據(jù)時(shí)代高校數(shù)據(jù)管理的思考
科技視界(2016年18期)2016-11-03 22:51:40
鐵路客流時(shí)空分布研究綜述
基于廣播模式的數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)
軟件工程(2016年8期)2016-10-25 15:54:18
通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
軟件工程(2016年8期)2016-10-25 15:52:53
主站蜘蛛池模板: 中国一级毛片免费观看| 中文毛片无遮挡播放免费| 99视频在线免费观看| 亚洲AV免费一区二区三区| 伊人成人在线| 久久无码av三级| 人妖无码第一页| 日本三区视频| 午夜视频在线观看区二区| 国产日韩精品欧美一区灰| 国产又粗又爽视频| 色综合天天综合| 亚洲人成在线精品| 67194亚洲无码| 日韩毛片在线播放| 国产在线91在线电影| 天堂在线www网亚洲| 美女被狂躁www在线观看| 91久久偷偷做嫩草影院电| 欧美v在线| 日本日韩欧美| 看你懂的巨臀中文字幕一区二区| 亚洲国产91人成在线| 2020极品精品国产| 麻豆精品在线| …亚洲 欧洲 另类 春色| 成年看免费观看视频拍拍| 少妇被粗大的猛烈进出免费视频| 久久天天躁狠狠躁夜夜躁| 91高清在线视频| 国产流白浆视频| 中文字幕中文字字幕码一二区| 天天色综网| 666精品国产精品亚洲| 成人国产三级在线播放| 国产精品美女网站| 国产精品一区在线麻豆| 97亚洲色综久久精品| 久久96热在精品国产高清| 中文字幕亚洲乱码熟女1区2区| 欧美一区二区三区国产精品| 五月婷婷欧美| 91国内视频在线观看| 欧美综合中文字幕久久| 99精品在线看| 91人妻日韩人妻无码专区精品| 中文字幕伦视频| 国内精品一区二区在线观看| 欧美一级黄片一区2区| 波多野结衣第一页| 精品久久777| 中文字幕永久在线观看| аⅴ资源中文在线天堂| 国产成a人片在线播放| 亚洲大尺码专区影院| 日韩精品亚洲精品第一页| 97青青青国产在线播放| 亚洲精品动漫在线观看| 国产人妖视频一区在线观看| 亚洲91精品视频| 久久成人国产精品免费软件| 中文字幕永久视频| 欧美精品伊人久久| 国产精品熟女亚洲AV麻豆| 亚洲国产精品一区二区第一页免| 精品亚洲麻豆1区2区3区| 波多野结衣一区二区三区AV| 国产在线拍偷自揄拍精品| 波多野结衣久久高清免费| 欧美一区福利| 毛片免费高清免费| 免费一级毛片在线观看| 色哟哟国产精品| 久久窝窝国产精品午夜看片| 无码日韩人妻精品久久蜜桃| 丝袜亚洲综合| 亚洲性视频网站| 国产成人一区在线播放| 久久免费观看视频| 日本福利视频网站| 欧美国产精品不卡在线观看 | 久久人人爽人人爽人人片aV东京热 |