《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于跨平臺的實時數據處理系統的設計
基于跨平臺的實時數據處理系統的設計
2017年電子技術應用第9期
徐一鳳,豐大軍,張瀚文,張 灣,趙德政
華北計算機系統工程研究所,北京100083
摘要: 設計實現了一款實時數據處理系統,是SCADA(數據采集與監視控制系統)的數據核心。在基于國產軟硬件平臺的基礎上,采用跨平臺的架構設計,介紹了實時數據處理系統的功能及設計實現。該實時數據處理系統采用在共享內存中創建多個隊列的方式存放輸入和輸出的數據,既方便多個進程同時存取數據,又保證了數據處理的實時性。
中圖分類號: TP277
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.179011
中文引用格式: 徐一鳳,豐大軍,張瀚文,等. 基于跨平臺的實時數據處理系統的設計[J].電子技術應用,2017,43(9):98-100,105.
英文引用格式: Xu Yifeng,Feng Dajun,Zhang Hanwen,et al. The design of the real-time data processing system based on multi-platform[J].Application of Electronic Technique,2017,43(9):98-100,105.
The design of the real-time data processing system based on multi-platform
Xu Yifeng,Feng Dajun,Zhang Hanwen,Zhang Wan,Zhao Dezheng
National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: The real-time data processing system of this paper designed and implemented is the core of SCADA data. Under the background of localization for industrial control products, this paper introduces the function and the design of the real-time data processing system, which is based on domestic software and hardware platform and multi-platform architecture. In this paper, the method of creating multiple queue in the shared memory ensures that multiple processes can access data at the same time conveniently and the real-time of data processing.
Key words : multi-platform;supervisory control and data acquisition;real-time data processing

0 引言

    數據采集與監視控制系統(SCADA)是以計算機為基礎的生產過程控制與調度自動化系統,可以對現場的運行設備進行監視和控制。雖然SCADA系統從上世紀70年代誕生之初到現在已經經歷了幾代的發展,其與計算機硬件與操作系統的關系始終比較密切。在Windows上開發的SCADA系統不能運行于UNIX和LINUX操作系統上,反之亦然。在工控安全日益嚴峻的今天,對能夠運行于國產計算機和國產操作系統的自主可控SCADA系統的需求迫在眉睫[1]。本文設計的實時數據處理系統是SCADA系統的核心,采用跨平臺的軟件架構設計:硬件采用國產飛騰處理器的服務器和臺式機(或筆記本),操作系統采用國產中標麒麟,開發工具采用可跨平臺的Qt,支持在國產中標麒麟和Windows操作系統上跨平臺運行。

1 整體結構

    數據采集與監視控制系統按照數據處理流程可分為四個層次:數據采集、實時數據處理、數據通信、數據顯示[2],如圖1所示。

tx2-t1.gif

    數據采集子系統是SCADA系統與PLC控制器的接口部分,分為上行、下發兩個方向。上行方向通過實現PLC原始數據的獲取、協議解析,對現場測控設備的實時運行信息進行采集。下發方向通過實現協議封包和數據輸出,對現場測控設備進行調控。數據采集子系統作為SCADA系統的內部數據源,要求常年不間斷連續運行,必須具有高度的可靠性、穩定性、擴展性和強大的數據采集能力。

    數據處理子系統負責對數據采集子系統采集的數據進行復雜的實時加工和處理,目的是將數據采集子系統的“生數據”加工成“熟數據”,即將采集的數據轉化為滿足上位機系統需要的、便于使用的數據結構,并且將數據存儲到實時數據表和歷史數據庫中。同時,上位機下發的控制指令也要經過數據處理子系統后才能下發至對應控制器,完成對測控設備的調控。數據處理子系統是SCADA系統的數據核心,同樣要求不間斷連續運行,必須具有高度的可靠性、實時性、魯棒性和強大的數據處理能力[3]

    數據通信子系統根據系統配置信息,通過以太網完成系統中各個站點之間的狀態監控、組態同步、進程控制、文件維護等工作,實時數據表的站間一致性和歷史數據訪問也需要借助數據通信子系統的數據傳輸功能。所有數據通信功能以API方式提供給各個上層應用調用,實現將底層的網絡功能和上層應用程序分離。

    數據顯示子系統通過圖形界面的方式將現場設備的運行信息展現給用戶。通過圖形組態工具提供的圖元可以組成系統圖、流程圖、工藝圖、監控圖、趨勢圖、餅圖、棒圖、報表等各種形式,實現操作員和SCADA系統之間的友好交互。

2 功能及實現

2.1 功能結構

    實時數據處理子系統負責對進入數據站的各種數據進行統一管理,將統一處理后的數據寫入SCADA系統的各個數據隊列,供系統內部的對應模塊使用。它的工作方式是事件驅動周期保護方式,實現方式是將Qt提供的消息機制和定時器相結合。采用Qt的實現方式使系統能夠跨平臺運行。當收到PLC通信驅動模塊的通知消息,或收到通信管理模塊的通知消息,或到了保護周期還沒有被驅動時,實時數據處理子系統開始讀取接口隊列中的數據,處理各個狀態點的數值和狀態,并將處理過的數據輸出到各個輸出內存中[4]。

    系統中的數據采用集中收集、全網同步的處理方法,保證系統內部各種數據收集時間一致性。在主歷史站上,實時數據處理子系統讀取各個數據隊列中的數據,根據組態信息,處理系統數據的報警信息和狀態變位信息,并將處理結果寫入報警數據緩存和數字量狀態變位緩存,同時將所有數據的數值和狀態寫入實時表,如圖2所示。在非主歷史站(從歷史站、操作員站)上,實時數據處理子系統只需要管理本機的實時數據表,如圖3所示。

tx2-t2.gif

tx2-t3.gif

    實時數據處理子系統的工作流程如圖4所示,數據采集子系統上傳的PLC數據經過數據處理模塊的處理后,分別產生報警和變位等數據狀態,報警點被報警處理模塊處理后寫入報警隊列中,同時寫入全記錄隊列,變位點直接寫入全記錄隊列中。所有上傳的數據都要經過實時處理模塊,產生其對應的狀態,并寫入實時數據表中。如果數據點的變化超過了歷史數據的死區設定,則寫入歷史數據隊列中。操作員的下發指令除了立即下發到指定控制器外,還要記錄到全記錄隊列中,同時進入實時數據處理,寫入實時數據表。

tx2-t4.gif

    其中時間戳處理模塊在校時子系統保證下,為待處理的數據批量打上時標。模擬量處理模塊具有工程量程轉換、線性/非線性變換、零漂修正算法、數值死區處理等功能,每個功能可以采用模塊化設計。數字量處理具備取反功能。操作員指令處理模塊包含人工置數、遙調、遙控、在線修改數據點屬性等功能。人工置數、遙調、遙控支持對批量指令的處理,例如群控、順控處理。數據通信子系統對實時數據進行站間的同步處理,使得歷史主站和從站及操作員站上的數據和時間都能保證一致,避免系統數據的重復處理,提高系統性能[5]。

2.2 實現方式

    實時數據處理子系統接收數據采集子系統采集數據的最快速率為50 ms,為了提高實時數據處理的速度,采用在共享內存中創建多個輸入與輸出隊列的方式。為了保證系統可以跨平臺運行,共享內存的實現采用Qt提供的QSharedMemory類。創建的隊列如下所示:

    (1)采集數據隊列

    數據采集子系統采集到的PLC控制器的數據寫入該隊列。

    (2)操作數據隊列

    SCADA的用戶操作和狀態的更新數據都寫入該隊列。

    (3)報警數據隊列

    實時數據處理模塊逐一處理接口隊列中報警點的報警信息,并將報警信息寫入報警數據隊列。寫入該隊列中的信息包括:報警發生信息、報警恢復信息、壞點報警。

    (4)全記錄隊列

    實時數據處理模塊在處理各個輸入接口隊列中的數據時,將需要記入全記錄中的信息寫入該隊列。

    (5)歷史數據隊列

    在歷史站主站上,實時數據處理模塊在處理采集接口隊列中的數據時,對于滿足收集條件的歷史點的數值和狀態寫入歷史數據隊列,該隊列將作為歷史數據收集模塊的輸入數據。歷史數據的收集條件為:①模擬量變化超過死區;②數字量變化滿足定義條件;③數值未變,但狀態發生了變化(這里的狀態是指任何一個系統定義狀態)。

    隊列的實現方式相同,均采用循環隊列的方式,每個隊列都存放一個共享內存中。隊列的結構如圖5所示。

tx2-t5.gif

    在對隊列的的操作過程中共有3種狀態,分別為:空狀態、正常讀寫狀態和溢出狀態,說明如下:

    (1)空狀態:當隊列的讀指針等于寫指針時,則認為隊列為空。例如SCADA系統剛啟動時,沒有讀寫時隊列為空;或者SCADA系統運行時,數據處理速度快于寫入速度,導致隊列被讀空等情況,如圖6所示。

tx2-t6.gif

    (2)正常讀寫狀態:讀指針追著寫指針,如圖7所示。

tx2-t7.gif

    (3)溢出狀態:寫指針寫滿整個隊列,重頭開始寫,并追上了讀指針。

    當要寫入的新包的長度將要覆蓋未處理或處理中的數據包,則隊列寫入模塊將新來的數據包丟棄,對該丟棄事件做報警記錄,并在下一次符合寫入條件時寫入一個全點包。如果要寫入數據包的長度需要覆蓋多個隊列中的數據包,則這多個數據包中只要有一個處于處理狀態,就屬于這種情況。如果此時數據處理啟動,則它連續處理未處理包,直到讀指針等于寫指針,如圖8所示。

tx2-t8.gif

3 結論

    本文設計實現的實時數據處理系統的工作原理采用Qt的消息機制,當接收到數據采集子系統發送的數據消息后,進行采集數據的處理,當收到操作員指令消息后,進行下發數據的處理。數據的處理采用在共享內存中創建多個隊列的方式,使多個進程能夠方便快速地對隊列中的數據進行讀寫。Qt的實現方式使系統可以跨平臺運行。

參考文獻

[1] 陳曦,周峰,郝鑫,等.我國SCADA系統發展現狀、挑戰與建議[J].工業技術創新,2015(1):103-114.

[2] 宋新航.SCADA系統設計和實現[D].天津:天津大學,2009.

[3] ABBOTT R,GARCIA-MOLINA H.Scheduling real-time transactions:A performance evaluation[J].ACM Transactions on Database Systems,1992,2(3):513-560.

[4] OZDEMIR E,KARACOR M.Mobile phone based SCADA for industrial automation[J].Isa Transactions,2006,45(1):67-75.

[5] 呂炳潮,楊揚,伍民友.實時信息的理論研究及應用[J].計算機工程與設計,2010,31(18):4012-4014,4043.



作者信息:

徐一鳳,豐大軍,張瀚文,張  灣,趙德政

(華北計算機系統工程研究所,北京100083)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲美女区一区| 性伦欧美刺激片在线观看| 国产精品嫩草99av在线| 欧美成人黄色小视频| 久久都是精品| 午夜视频在线观看一区二区三区| 一本色道久久综合狠狠躁篇的优点| 亚洲福利视频在线| 久久精品国产在热久久| 欧美一级日韩一级| 欧美一区二区三区免费观看| 午夜精品视频在线观看| 亚洲欧美视频| 小黄鸭精品aⅴ导航网站入口| 亚洲摸下面视频| 午夜伦理片一区| 欧美在线免费播放| 久久www成人_看片免费不卡| 欧美一区二区视频97| 欧美一区亚洲| 久久精品国产久精国产爱| 久久国产精品一区二区| 久久精品成人一区二区三区| 亚洲第一视频网站| 91久久精品国产| 日韩午夜免费| 一区二区三区www| 亚洲综合社区| 欧美在线免费观看| 久久久国际精品| 美女视频黄 久久| 欧美激情精品久久久久久蜜臀 | 小嫩嫩精品导航| 性色av一区二区三区红粉影视| 午夜电影亚洲| 久久久精品tv| 欧美.日韩.国产.一区.二区| 欧美日本二区| 国产精品久久中文| 狠狠久久亚洲欧美专区| 亚洲高清av在线| 亚洲精品乱码| 亚洲一区二区在线免费观看| 欧美一区在线视频| 亚洲黄页视频免费观看| 一区二区三区视频免费在线观看| 亚洲欧美日韩国产另类专区| 久久成人一区| 欧美丰满少妇xxxbbb| 欧美揉bbbbb揉bbbbb| 国产精品色网| 在线观看一区视频| 一本大道久久a久久精二百| 亚洲字幕一区二区| 亚洲国产一区二区三区在线播| 99亚洲一区二区| 久久成人资源| 欧美精品一区二区在线播放| 欧美视频免费| 国产麻豆9l精品三级站| 在线观看视频亚洲| 一区二区三区黄色| 亚洲国产成人porn| 亚洲一区二区三区欧美| 久久婷婷国产综合精品青草| 欧美日韩免费在线视频| 国产亚洲人成a一在线v站| 亚洲精品女人| 欧美伊人久久| 亚洲视频狠狠| 麻豆av一区二区三区久久| 国产精品久久久久久久第一福利| 在线精品高清中文字幕| 亚洲一区二区三区在线视频| 亚洲美女91| 久久视频一区二区| 国产精品入口66mio| 91久久线看在观草草青青| 欧美亚洲免费高清在线观看| 一区二区三区三区在线| 久久―日本道色综合久久| 国产精品v欧美精品∨日韩| 18成人免费观看视频| 亚洲欧美经典视频| 中文久久精品| 蜜桃久久av一区| 国产日韩精品在线| 夜夜嗨av一区二区三区网站四季av| 亚洲二区免费| 午夜日韩在线| 欧美日韩在线一区二区| 亚洲成人在线| 久久国产精品久久w女人spa| 午夜精品视频在线观看| 欧美日韩国产一区二区三区| 激情婷婷久久| 欧美一区二区啪啪| 欧美一级淫片aaaaaaa视频| 欧美视频在线观看| 亚洲精品国产精品国自产观看| 久久精品人人爽| 性一交一乱一区二区洋洋av| 欧美精品午夜| 在线观看亚洲一区| 久久国产精品一区二区| 先锋影音网一区二区| 欧美色欧美亚洲高清在线视频| 亚洲国产日韩在线| 亚洲国产精品va在线看黑人| 久久高清免费观看| 国产精品欧美风情| 亚洲一区二区三区免费视频| 亚洲图片欧美一区| 欧美色欧美亚洲高清在线视频| 亚洲黄色在线视频| 亚洲清纯自拍| 欧美sm极限捆绑bd| 在线观看亚洲专区| 亚洲国产成人不卡| 理论片一区二区在线| 黄色成人小视频| 欧美在线观看一区二区| 久久久精品欧美丰满| 国产美女精品免费电影| 亚洲一区精品视频| 亚洲欧美资源在线| 国产精品视频观看| 亚洲一区在线观看免费观看电影高清 | 久久精品一区二区三区不卡牛牛| 欧美在线观看一区| 国产日韩精品一区二区浪潮av| 亚洲在线视频| 久久成人久久爱| 国产亚洲欧美日韩日本| 香蕉成人啪国产精品视频综合网| 性色av一区二区三区| 农村妇女精品| 日韩视频一区二区三区| 中文在线资源观看网站视频免费不卡| 欧美日韩免费在线视频| 一区二区三区产品免费精品久久75| 亚洲视频中文| 国产精品看片你懂得| 亚洲一区二区三区影院| 久久激情久久| 韩国久久久久| 亚洲美洲欧洲综合国产一区| 欧美激情视频免费观看| 亚洲精品在线免费观看视频| 亚洲一区二区伦理| 国产精品稀缺呦系列在线| 久久av老司机精品网站导航| 毛片一区二区| 亚洲伦理在线观看| 亚洲欧美日韩国产成人| 国产亚洲精品v| 亚洲激情视频| 国产精品av一区二区| 亚洲欧美日韩高清| 久久全球大尺度高清视频| 亚洲精品1234| 亚洲综合久久久久| 国产亚洲精品久久久久婷婷瑜伽| 亚洲第一精品福利| 欧美片网站免费| 亚洲欧美日韩久久精品| 久久影视精品| 99精品欧美| 久久久久国产精品一区三寸| 亚洲第一网站免费视频| 亚洲小说欧美另类婷婷| 国产日韩欧美夫妻视频在线观看| 亚洲高清毛片| 欧美日韩亚洲在线| 欧美一区二区高清| 欧美国产三区| 亚洲欧美日韩区| 欧美久久九九| 欧美一区2区视频在线观看 | 欧美顶级大胆免费视频| 亚洲一区二区视频| 免费成人av| 亚洲综合电影| 欧美日韩国产天堂| 欧美综合国产精品久久丁香| 欧美日韩亚洲激情| 欧美一区亚洲二区| 欧美日韩精品免费观看视频| 欧美一区二区视频网站| 欧美日韩国产黄| 久久国产精品久久久久久电车| 欧美日韩精品一区二区天天拍小说| 亚洲欧美日韩一区二区三区在线观看| 另类专区欧美制服同性| 一区二区三区久久精品| 欧美成人免费小视频| 篠田优中文在线播放第一区| 欧美精品久久久久久久久老牛影院 | 亚洲主播在线观看| 欧美日韩不卡合集视频|