• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于單片機操作平臺的數(shù)據(jù)采集網(wǎng)關的設計

      2019-01-10 01:48丁夢遙魏霞
      現(xiàn)代電子技術 2019年1期
      關鍵詞:熱電廠中斷網(wǎng)關

      丁夢遙 魏霞

      關鍵詞: 協(xié)議轉換; 網(wǎng)關; Modbus RTU; Modbus TCP; 消息機制; 數(shù)據(jù)采集

      中圖分類號: TN915.04?34; TP274+.2 ? ? ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)01?0028?05

      Abstract: With the control strengthen of large power plants, and increase of controlled data category and data protocol category, the benefit maximization is pursued, which leads to a bottleneck for many?to?one protocol conversion. Therefore, the available protocol conversion mode is improved, and the traditional "one?to?one" transmission mode is improved as the "many?to?one" mode to avoid "message blocking". The single chip microcomputer (SCM) operation platform is introduced. A multi?protocol data acquisition gateway is implemented on software and hardware. The message mechanism is used in software to combine the functions of channel selection, protocol conversion, gateway parameter setting and detection into a complete system, which is convenient for uniform scheduling, and can improve the efficiency and real?time performance of protocol conversion effectively. The 51 serial SCM is used to complete the protocol conversion gateway, which can reduce the design cost.

      Keywords: protocol conversion; gateway; Modbus RTU; Modbus TCP; message mechanism; data acquisition

      0 ?引 ?言

      隨著人們對環(huán)保的重視程度越來越高,特別是像熱電廠、鋁廠、鋼鐵廠這樣的煙氣排放量大的廠站,環(huán)保局更是嚴格要求。本文主要針對熱電廠的能耗以及煙氣排放量等非實時數(shù)據(jù)進行研究。在電力監(jiān)控系統(tǒng)中,電廠的煙氣排放以及電能量相關數(shù)據(jù)被劃分到生產(chǎn)控制大區(qū)內的安全二區(qū)即非實時區(qū)[1]。

      現(xiàn)代大型的熱電廠中主流采用的是DCS系統(tǒng),而DCS系統(tǒng)中的數(shù)據(jù)信息協(xié)議格式和種類繁多,這對于數(shù)據(jù)的集中調度和處理產(chǎn)生一定影響,而且容易造成“信息孤島”,難以實現(xiàn)設備間或者系統(tǒng)與設備間的信息交互,并且在一定程度上阻礙了運行管理體系的進一步發(fā)展[2]。傳統(tǒng)方法花費大量的資金投入在現(xiàn)場的智能本地設備上,并且為每種協(xié)議格式的數(shù)據(jù)配一個專門的協(xié)議轉換網(wǎng)關,最后匯集到數(shù)據(jù)庫中?,F(xiàn)場的智能設備和系統(tǒng)大部分支持的通信協(xié)議種類繁多,且系統(tǒng)具有分布性、異構性等特點,更加不利于數(shù)據(jù)的采集和集成[3]。雖然已經(jīng)有公司研發(fā)出多協(xié)議轉化網(wǎng)關,但由于價格昂貴且針對的協(xié)議種類領域較單一,無法滿足熱電廠實際需求。

      考慮到數(shù)據(jù)的非實時性以及實際需求,本文設計采用51系列單片機,可在滿足基本要求的前提下大大降低成本,增加備件數(shù)量。

      首先將各個底層智能設備采集來的數(shù)據(jù)匯集到數(shù)據(jù)采集網(wǎng)關,由數(shù)據(jù)采集網(wǎng)關將各種串口傳輸?shù)臄?shù)據(jù)格式Modbus/RTU轉化成統(tǒng)一的網(wǎng)口傳輸格式Modbus/TCP,再通過以太網(wǎng)發(fā)送給上位機。

      1 ?數(shù)據(jù)采集網(wǎng)關

      多協(xié)議數(shù)據(jù)采集網(wǎng)關主要通過在軟件上實現(xiàn)多種協(xié)議到一種協(xié)議的轉換,硬件設計上較簡單,便于現(xiàn)場的安裝和使用[4],同時軟件層面引入單片機操作平臺,便于后期維護和升級。

      本文設計針對的是熱電廠中DCS系統(tǒng)中底層設備的水、電、氣數(shù)據(jù)進行匯總和傳輸,常用的協(xié)議有Modbus,M?bus以及DEL?645協(xié)議,本文設計就是針對上述三種協(xié)議進行轉換,統(tǒng)一成Modbus /TCP,再借助以太網(wǎng)上傳。

      現(xiàn)在工業(yè)上使用最廣泛的通信協(xié)議之一就是由Modicon于1979年發(fā)表的Modbus協(xié)議,該協(xié)議主要有Modbus /RTU和Modbus/TCP兩種[5]。其中Modbus/RTU主要應用于串口傳輸,由于協(xié)議對功能碼進行了嚴格定義,雖然傳播速度不及RTU但是其數(shù)據(jù)安全性較高,而Modbus/TCP協(xié)議則是將Modbus /RTU和以太網(wǎng)相結合,以滿足一些對數(shù)據(jù)傳輸速度有較高要求的用戶需求[6]。除此以外,Modbus協(xié)議還是完全對外開放的一種通信協(xié)議[7]。

      本文設計了一款基于經(jīng)典的51單片機的數(shù)據(jù)采集網(wǎng)關,通過數(shù)據(jù)采集網(wǎng)關可以將底層采集上來的串口類型信息轉換成統(tǒng)一的Modbus/TCP格式的報文信息,便于在網(wǎng)口上快速安全上傳和管理[8]。而熱電廠中常用的串口數(shù)據(jù)類型主要有Modbus協(xié)議、M?Bus協(xié)議以及DEL?645協(xié)議等。由于篇幅有限,本文只對Modbus/RTU與 Modbus/TCP協(xié)議轉化進行詳細闡述。

      整體的實現(xiàn)方法如圖1所示,其中接口機可以使用PC機代替。

      在數(shù)據(jù)采集網(wǎng)關工作的過程中,數(shù)據(jù)采集網(wǎng)關主要的工作就是掃描檢測串口和以太網(wǎng)端口,當有數(shù)據(jù)需要上傳或者下達時,網(wǎng)關只需根據(jù)消息類型讀取相應的數(shù)據(jù),再通過消息機制調用相應的子函數(shù)進行協(xié)議轉換。

      當主機即上位機發(fā)送讀取數(shù)據(jù)命令請求時,網(wǎng)關首先對請求消息進行分析,判斷是否為廣播消息。如果是,則讀取所有端口消息;否則就會針對性地讀取相應串口的狀態(tài),并且讀取串口數(shù)據(jù),先存儲到單片機的外部存儲設備中,再根據(jù)不同的數(shù)據(jù)類型執(zhí)行相應的協(xié)議轉換子程序,轉換成統(tǒng)一的Modbus/TCP協(xié)議格式,借助TCP/IP協(xié)議棧通過以太網(wǎng)發(fā)送給上位機。

      整個協(xié)議完成主要通過軟件實現(xiàn),那么就得考慮如何合理地利用有限的資源更好地實現(xiàn)協(xié)議轉換功能,所以將整個協(xié)議轉化的功能分解到一個小單片機的前后臺架構上,這樣既可以簡化程序開發(fā)的過程,便于后期維護,又可以提高協(xié)議的轉換效率。

      2 ?數(shù)據(jù)采集網(wǎng)關的軟件平臺

      本文設計采用的軟件平臺是一種簡易的前后臺架構,主要借鑒操作系統(tǒng)、手機的一些概念,在一個標準化的硬件基礎上擴展一個標準化的軟件平臺,將一些常用功能集成到一起,形成一個完整的系統(tǒng)。基于該平臺,可自主地增減功能以滿足自己的實際需求。而該軟件平臺主要由三大結構——中斷、節(jié)拍和大循環(huán)構成,貫穿整個框架的核心是消息機制。

      2.1 ?三大結構

      2.1.1 ?大循環(huán)

      嵌入式程序設計時,常常采用中斷的方式實現(xiàn)循環(huán),這樣做可以快速對外部或內部中斷信號進行響應,但是容易受到錯誤的中斷信號干擾。為了克服這一缺點,并且針對協(xié)議轉換的特點,本設計采用了一種更為簡單、主動、安全的循環(huán)方法——掃描。在大循環(huán)內通過不斷地主動掃描,判斷switch語句中各個case狀態(tài)的變化,每種case對應一種消息類型,再根據(jù)不同消息類型調用不同的消息執(zhí)行程序,從而降低了CPU的等待時間,提高了程序整體的效率。但由于掃描周期的局限性,這種主動的掃描方式只適合低速設備,并且當發(fā)生突發(fā)性事件時,只能等到下一個掃描周期到達才可以被執(zhí)行。

      2.1.2 ?節(jié)拍和中斷

      為了實現(xiàn)對協(xié)議轉換時間的精確控制,本文設計采用由芯片內部時鐘產(chǎn)生的節(jié)拍,有效地避免了由于轉換時間的誤差導致的錯誤。此外,可以通過對系統(tǒng)節(jié)拍進行速度分級提高系統(tǒng)的實時性,使系統(tǒng)更加穩(wěn)定可靠地運行。

      中斷的使用則是用于分擔CPU負擔,幫助完成一些任務,減少CPU的占用率,同時也提高了整體程序的效率。

      2.2 ?消息機制

      消息機制作為協(xié)議轉換的軟件實現(xiàn)框架,主要是對已知的任務和事件進行預先定義,并且設置特定的消息處理函數(shù),當檢測到事件或者任務被觸發(fā),再調用相應的消息處理函數(shù)進行處理,可以簡單地理解為“入消息”和“出消息”。

      而將消息機制運行起來,需要先對其參數(shù)——消息隊列進行設置。對消息的定義分為兩個部分,即消息類型(MsgType)和消息值(Val)。

      消息隊列常被定義為16 bit無符號整形數(shù)據(jù),將其高8位定義為消息類型,低8位定義為消息值。

      消息類型根據(jù)實際需要在頭文件中先定義并枚舉出,方便對各種消息類型進行遍歷,而消息值則作為相應的消息處理函數(shù)作參數(shù)。

      首先完成協(xié)議轉換相關程序的初始化,再執(zhí)行大循環(huán)內的程序,大循環(huán)內通過主動掃描方式判斷各消息的狀態(tài),當有消息被觸發(fā)時,再調用相應功能函數(shù)實現(xiàn)消息調度。

      取消息,顧名思義即通過取消息函數(shù)將消息隊列中的16 bit消息取出,再執(zhí)行該消息相應的程序。

      同樣,在執(zhí)行取消息程序前,首先判斷消息隊列是否為空,若為空則返回0x0000;若不為空,則先保存中斷使能狀態(tài),并且關中斷,取出消息后,恢復中斷使能狀態(tài)后返回。

      2.2.2 ?消息機制的應用

      上述即為消息機制的執(zhí)行過程。在程序初始化之后,消息隊列默認為空,雖然循環(huán)體內一直會取消息并判斷消息類型,但始終執(zhí)行MSG_NULL程序段。

      消息只能在大循環(huán)中被讀取和執(zhí)行,在中斷和節(jié)拍中被接收,存入消息隊列中。

      消息機制可以有效解決由于運行時間較長而造成的延遲問題,避免消息堵塞。消息機制可以理解為一個連接器,先將運行時間較長的事件分解為多個小任務,當完成一個小任務后,再發(fā)起執(zhí)行下一個小任務的消息。

      同理,消息機制還可以用于解決函數(shù)嵌套的深度問題,當函數(shù)調用嵌套過深,會導致內存消耗過大而編譯失敗,特別是內存不是很寬裕的芯片,通過引入消息機制,可以把一個很深的函數(shù)調用問題分解為多個較短的函數(shù)調用問題,且函數(shù)入口都在大循環(huán)main里,有效地解決了內存不足的問題。

      3 ?協(xié)議轉換

      3.1 ?協(xié)議轉換原理

      在協(xié)議轉化前,需要對下位機發(fā)送來的串口數(shù)據(jù)的正確性進行分析。如果符合串口協(xié)議的規(guī)約再進行協(xié)議轉化,否則返回錯誤信息。

      協(xié)議轉化的實現(xiàn)過程,簡單地說就是通過對底層智能設備上傳過來的串口協(xié)議報文進行分析,根據(jù)不同串口協(xié)議中的報文幀的差異性,將報文中相應的數(shù)據(jù)幀提取出來,再加上目的協(xié)議的報文頭、校驗位以及結束符等具體位數(shù),通過以太網(wǎng)發(fā)送出去。

      本文以Modbus/RTU與Modbus/TCP轉換為例具體說明,首先分析兩個協(xié)議報文結構的差異,如圖2所示。

      通過對報文幀的具體分析可知,實現(xiàn)Modbus/RTU到Modbus/TCP的轉換如圖3所示。

      由于Modbus ASCII的協(xié)議格式和RTU差距不是很大,所以此處就不詳細贅述。

      Modbus采用主/從工作模式,其中主機只能有一個,而從機可以有多個,并且只有主機可以發(fā)送請求,從機根據(jù)主機的要求給出相應的響應[9]。整個數(shù)據(jù)采集網(wǎng)關的工作過程如圖4所示。

      3.2 ?數(shù)據(jù)采集網(wǎng)關軟件部分介紹

      數(shù)據(jù)采集網(wǎng)關的軟件框架,主要函數(shù)有以下幾個:

      boot.c:主程序入口,大循環(huán)通過內部的while()函數(shù)實現(xiàn);

      common.h:包含了用到的全局頭文件;

      rtu2tcp.c:實現(xiàn)Modbus/RTU到TCP的轉換;

      tcp2rtu.c:實現(xiàn)Modbus/TCP到RTU的轉換;

      uIP.c和uIP.h:將Modbus/TCP網(wǎng)口數(shù)據(jù)通過uIP協(xié)議棧發(fā)送到網(wǎng)絡上。

      4 ?uIP協(xié)議棧

      數(shù)據(jù)采集網(wǎng)關將底層下位機的數(shù)據(jù)類型Modbus RTU轉化成Modbus TCP后,再借助以太網(wǎng)向上傳送,此處可借助TCP/IP協(xié)議棧實現(xiàn)。而傳統(tǒng)的TCP/IP協(xié)議棧實現(xiàn)起來過程較為復雜且實時性較差,考慮到系統(tǒng)硬件資源的限制,所以本文引入輕量級的TCP/IP協(xié)議?!猽IP協(xié)議棧,以實現(xiàn)以太網(wǎng)傳輸功能[10]。

      uIP協(xié)議棧是一種免費、可實現(xiàn)的極小的TCP/IP協(xié)議棧,可以使用于由8位或16位微處理器構建的嵌入式系統(tǒng)[11]。

      5 ?結 ?語

      目前,市場上的協(xié)議轉換網(wǎng)關主要針對某些固定的應用需求,協(xié)議種類比較單一,且只能實現(xiàn)協(xié)議間一對一的轉換。本文設計是針對新疆某熱電廠運行管理的現(xiàn)狀提出的,網(wǎng)關具有支持多種串口設備組網(wǎng),以及能建立串口與網(wǎng)口間橋梁的特點。

      參考文獻

      [1] 唐俊,蔣健,謝申喜.基于樹莓派的能耗數(shù)據(jù)采集網(wǎng)關設計[J].測控技術,2017(3):98?100.

      TANG Jun, JIANG Jian, XIE Shenxi. Design of energy consumption data acquisition gateway based on Raspberry Pi [J]. Measurement & control technology, 2017(3): 98?100.

      [2] 毛蘇杭,宋蘊璞,劉林.基于工業(yè)網(wǎng)關的鋼鐵企業(yè)實時數(shù)據(jù)采集技術[J].物聯(lián)網(wǎng)技術,2015,5(12):10?12.

      MAO Suhang, SONG Yunpu, LIU Lin. Real?time data acquisition technology of steel enterprises based on industrial gateways [J]. Internet of Things technologies, 2015, 5(12): 10?12.

      [3] 霍昕,關麗嘉.如何有效提升信令采集網(wǎng)關的數(shù)據(jù)完整性[J].中國新通信,2015(13):64.

      HUO Xin, GUAN Lijia. How to effectively improve the data integrity of the signal acquisition gateway [J]. China new communications, 2015(13): 64.

      [4] 李琦,張康,王月明.基于CoAP協(xié)議的數(shù)據(jù)采集網(wǎng)關設計[J].電子技術應用,2015(6):154?156.

      LI Qi, ZHANG Kang, WANG Yueming. Design of data acquisition gateway based on CoAP protocol [J]. Electronic technology application, 2015(6): 154?156.

      [5] XU Sen, REN Jia, SU Jie. Design of the Modbus communication through serial port in QNX operation system [C]// Procee?dings of 2008 Computing, Communication, Control, and Ma?nagement Conference. Guangzhou, China: IEEE, 2008: 434?438.

      [6] KUANG Jian, WANG Guibao, BIAN Jiali. A Modbus protocol stack compatible with RTU/TCP frames and embedded application [M]// ZHU Min. Business, economic, financial sciences. Berlin: Springer?Verlag, 2012: 765?770.

      [7] 陳巖.安全隔離網(wǎng)關對數(shù)據(jù)庫數(shù)據(jù)的采集在宣鋼的應用[J].通訊世界,2015(11):266.

      CHEN Yan. The application of the security isolation gateway to the collection of database data in Xuanhua Iron and Steel Co., Ltd. [J]. Communications world, 2015(11): 266.

      [8] 劉清茂,萬春紅,楊彩玲,等.基于ZigBee的水泥生產(chǎn)過程電量無線采集[J].電氣技術,2015(3):85?86.

      LIU Qingmao, WAN Chunhong, YANG Cailing, et al. Wireless collection of electricity in cement production process based on ZigBee [J]. Electric technology, 2015(3): 85?86.

      [9] 郭藍天.數(shù)據(jù)采集網(wǎng)關的研制及其在中型熱電廠運行管理系統(tǒng)中的應用[D].青島:青島科技大學,2012.

      GUO Lantian. Development of data acquisition gateway and its application in medium?sized thermal power plant operation ma?nagement system [D]. Qingdao: Qingdao University of Science and Technology, 2012.

      [10] 吳磊,李振亮.一種網(wǎng)絡溫濕度控制器設計與實現(xiàn)[J].計算機測量與控制,2014(10):3165?3167.

      WU Lei, LI Zhenliang. Design and implementation of a network temperature and humidity controller [J]. Computer measurement & control, 2014(10): 3165?3167.

      [11] 謝文娣.基于DSP的嵌入式uIP TCP/IP協(xié)議棧的應用研究[D].南京:南京郵電大學,2012.

      XIE Wendi. Application research of embedded uIP TCP/IP protocol stack based on DSP [D]. Nanjing: Nanjing University of Posts and Telecommunications, 2012.

      猜你喜歡
      熱電廠中斷網(wǎng)關
      跟蹤導練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      自動化技術在熱電廠電氣中的應用
      某熱電廠風機電機節(jié)能技術改造
      關于金山熱電廠節(jié)能減排途徑的探索
      LTE Small Cell網(wǎng)關及虛擬網(wǎng)關技術研究
      應對氣候變化需要打通“網(wǎng)關”
      一種實時高效的伺服控制網(wǎng)關設計
      基于Zigbee與TCP的物聯(lián)網(wǎng)網(wǎng)關設計
      淺述PLC與DCS的特點及在熱電廠中應用分析
      扬中市| 甘孜| 买车| 太仓市| 岗巴县| 南昌市| 涞源县| 泾川县| 双牌县| 武川县| 昭觉县| 临沂市| 科技| 化德县| 奉节县| 济阳县| 河南省| 司法| 奉新县| 康马县| 乌兰县| 邵东县| 东至县| 垣曲县| 益阳市| 轮台县| 绥江县| 芜湖县| 绥阳县| 图木舒克市| 庆阳市| 滦南县| 甘泉县| 漳平市| 逊克县| 华亭县| 石门县| 汶上县| 馆陶县| 资溪县| 嵊泗县|