《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于.NET平臺的特種電源監控系統
基于.NET平臺的特種電源監控系統
來源:微型機與應用2011年第8期
孫 強, 盧 琳
(西安理工大學 自動化與信息工程學院, 陜西 西安710048)
摘要: 設計了電源監控系統,利用485總線構建上位機PC機與多臺TI公司的DSP TMS320F2812的連接,利用VB.NET編寫了串口通信程序和Modbus通信協議,并利用多線程技術實時對多臺DSP數據進行處理和狀態顯示。搭建平臺,實驗證明滿足上位機對多臺DSP數據傳輸的實時性和準確性。
Abstract:
Key words :

摘  要: 設計了電源監控系統,利用485總線構建上位機PC機與多臺TI公司的DSP TMS320F2812的連接,利用VB.NET編寫了串口通信程序和Modbus通信協議,并利用多線程技術實時對多臺DSP數據進行處理和狀態顯示。搭建平臺,實驗證明滿足上位機對多臺DSP數據傳輸的實時性和準確性。
關鍵詞: .NET; 電源監控; 485總線;多線程

     隨著特種電源用于大規模的生產,對特種電源的集中監控成為迫切需要。特種電源參數多,數據傳輸量大。一方面上位機在完成對多臺電源的狀態詢問的同時要保證控制指令及時傳輸到下位機,另一方面上位機要實時地顯示電源參數并繪制運行曲線。本設計采用485總線,下位機電源控制器基于TI公司的DSP TMS320F2812,上位機與下位機通信采用VB.NET的SerialPort串行通信類,軟件的編寫在VS2008環境下實現。
1 監控系統結構
    監控系統結構(如圖1)包括:上位PC機、多臺DSP、232/485轉換口、并聯2個120 Ω的終端電阻、屏蔽雙絞線。485總線連接采用半雙工通信方式,以上位PC機為主機、多臺DSP為從機的主從式結構。現場控制單元以DSP為核心,一方面負責電源各項數據的采集與處理,控制電源的自動運行;另一方面接收上位機的控制命令,對命令進行解析判斷后及時調整電源的運行參數。上位機通過232/485轉換口連接到485總線上,進行狀態數據和控制命令的雙向傳輸,通過上位機軟件實時獲取現場電源的運行數據和參數,而且可以在線修改工藝參數和遠程控制電源運行。

2 監控軟件設計
    監控軟件設計包括通信協議的制定,上位機軟件的編寫和DSP程序的設計。通信協議除了制定上位機和DSP通信的數據幀格式,還規定了數據收發時狀態的轉換機制。上位機程序利用SerialPort類和多線程技術完成與多臺DSP的通信,同時利用VB.NET中多線程技術和客戶自定義事件實現通信,同時進行數據處理、狀態顯示、曲線繪制等功能。
2.1 通信協議
    因為系統采用一主多從的結構,所以通信采用Modbus協議實現。Modbus協議包括ASCII和RTU,考慮到所需傳輸的數據量比較大,本設計使用RTU協議。協議棧的實現是基于狀態機的操作,狀態轉換如圖2所示。

\

 

    為了滿足基本的監控目標,本設計實現了Modbus-RTU協議的基本讀寫功能,也就是功能號為03 10的功能,其功能說明如表1所示。

    基本的協議幀應答數據如表2、表3所示。

2.2軟件設計
    上位機軟件結構如圖3所示。
    程序初始化時,從數據庫中讀取設備參數列表,根據讀取的設備個數實例化設備類,新建各設備的對象。每臺設備對象是在VB2008設計的自定義控件,每一個控件的數據處理和顯示單元是一個獨立的線程。每臺設備下發數據和接收數據都要經過先進先出集合SendQueue和RecQueue。從發送集合SendQueue中取出數據,通過串行通信類SerialPort與下位機進行數據通信,從接收集合RecQueue中取出數據進行相應設備的狀態顯示。
2.2.1 通信程序設計
    通信部分采用兩個線程。一個是發送線程,從發送集合SendQueue中取出數據,并從串行端口中發送數據,在發送結束后添加接收數據事件(等待數據的接收)。另一個是數據處理線程,從接收集合RecQueue中取出接收到的數據,判斷DSP設備的地址,然后以產生事件的形式通知對相應設備數據的處理。
    (1) SerialPort初始化
  SerialPort通信參數的初始化在主窗體加載中完成,程序如下:
    port = New System.IO.Ports.SerialPort()
    port.PortName =“com1”            //打開串行端口1
    port.BaudRate=9 600          //設置波特率為9 600 b/s
    port.DataBits=8                               //8位數據位
    port.StopBits=System.IO.Ports.StopBits.One  //1位停止位
    port.Parity=System.IO.Ports.Parity.None     //無奇偶校驗
    port.Open()                           //打開串行端口1
    (2)數據接收事件DataReceived
    AddHandler port.DataReceived, AddressOf Me.DataRec 
                                         //添加接收事件
                                  //接收事件處理程序
    Private Sub DataRec(ByVal sender As Object,ByVal e As
        System.IO.Ports. SerialDataReceivedEventArgs)
    Dim Bytes As Integer
    Bytes = port.BytesToRead 
                         //獲取數據緩沖區數據的字節數
    Dim recData as Byte(Bytes-1)               //接收數據數組
    If Bytes > 0 Then
       port.Read(recData, 0, Bytes) 
                         //讀取數據緩沖區的數據到數組
    End If
2.2.2 上位機程序設計
    (1)多線程技術
    首先根據建立的設備對象數量,為每個對象建立一個獨立的線程,用于負責該設備的所有實時通信、實時狀態顯示和數據庫讀寫操作,接著啟動各線程。采用多線程平行處理后,程序具有了很好的可定制性,只要根據實際需求修改線程數量即可實現對不同設備數量系統的監控,既簡單又可靠。
    (2) 并發性問題
    因為上位機通過一個串行端口與多臺DSP通信,每臺設備發送數據和數據處理都需要訪問SendQueue和RecQueue,所以須要避免在同一時刻訪問集合而產生的沖突。本設計使用VB的SynLock關鍵字,使用該關鍵字可以定義必須在線程之間同步的一定范圍的語句。通過執行該操作,將鎖住該集合,其他設備的數據要想訪問該集合,必須等待占用此集合的操作結束并釋放此鎖后才能進行,這樣就避免了同時操作集合而引發的沖突。
    (3) 客戶自定義事件
    因為接收到的數據需要顯示、數據處理、保存數據庫、繪制曲線等工作,如何保證這些工作能夠并行地開展成為要解決的關鍵問題。本設計采用VB的客戶自定義事件,把上述工作都放入到事件的集合中,當產生事件時,就對集合中的每一項工作進行并行處理,這樣即實現了“一主多播”。
2.2.3 DSP程序設計
    DSP在執行其他任務的同時能及時上傳數據和接收上位機數據,提高工作效率。F2812采用中斷發送、中斷接收方式。下面僅以發送為例,流程圖如圖4所示。

    通過對監控軟件的設計,搭建485總線,用PC電腦連接多臺DSP控制器。實驗證明,本系統滿足數據傳輸的實時性和準確性,符合特種電源監控系統的實際要求。
參考文獻
[1] 陽憲惠,工業數據通信與控制網絡[M].北京:清華大學出版社,2003.
[2] TROELSEN A..NET 3.5與VB 2008高級編程[M].北京:清華大學出版社, 2009.
[3] 蘇奎峰.TMS320X281xDSP原理及C程序開發[M]. 北京:北京航空航天大學出版社, 2008.
[4] Modicon. Modbus Protocol Reference Guide[Z]. 1996.6

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲视频在线看| 久久在线免费观看| 香蕉国产精品偷在线观看不卡| 亚洲精品中文字幕在线| 在线精品国精品国产尤物884a| 国产日韩欧美三级| 国产精品久久久亚洲一区| 欧美日韩成人在线| 欧美国产日韩在线观看| 欧美不卡在线视频| 欧美成人精品高清在线播放| 老司机免费视频久久| 久久香蕉国产线看观看av| 久久久久国产精品www| 久久精品一区| 久久九九久久九九| 久久免费精品视频| 久久综合影视| 欧美不卡三区| 女同性一区二区三区人了人一 | 国产女主播一区二区三区| 欧美系列一区| 国产精品麻豆成人av电影艾秋| 国产精品久久久久久一区二区三区 | 性久久久久久久| 欧美一区二区三区免费观看视频| 欧美一区二区高清| 亚洲国产精品成人综合| 亚洲激情综合| aa日韩免费精品视频一| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 国产精品久久久91| 国产精品亚洲美女av网站| 国产亚洲欧美日韩精品| 一区二区三区自拍| 最新热久久免费视频| 99国产精品99久久久久久粉嫩| 中文在线一区| 性久久久久久久久久久久| 亚洲国产精品一区在线观看不卡| 亚洲人久久久| 亚洲无线观看| 久久精品国产99国产精品澳门| 久久天天综合| 欧美精品尤物在线| 国产精品视频一二| 极品少妇一区二区| 亚洲精品一区二区三区99| 亚洲午夜国产成人av电影男同| 亚洲欧美美女| 亚洲国产一区二区三区在线播| 一区二区日韩精品| 久久国产66| 欧美成人a∨高清免费观看| 国产精品播放| 伊人久久大香线| 一区二区三区四区五区视频| 欧美一级二区| 日韩午夜在线观看视频| 欧美亚洲视频在线观看| 免费观看不卡av| 国产精品久久99| 在线观看欧美精品| 亚洲一区二区精品视频| 亚洲国产欧美国产综合一区| 亚洲一区二区精品| 老司机67194精品线观看| 欧美午夜a级限制福利片| 一区二区在线免费观看| 中日韩视频在线观看| 久久精品免费电影| 亚洲欧美日韩久久精品| 欧美成年人视频网站| 国产精品中文字幕在线观看| 亚洲欧洲日韩女同| 欧美一区二区三区四区视频| 一区二区三区高清| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩伦理在线| 在线观看欧美黄色| 午夜天堂精品久久久久| 在线视频免费在线观看一区二区| 久久精品视频在线播放| 国产精品sss| 亚洲黄色在线| 亚洲大胆人体在线| 欧美一区二区三区免费观看视频| 欧美精品一区二区三区视频| 国产亚洲一区二区三区在线播放| 中文精品在线| 日韩午夜激情av| 免费日韩av片| 国内精品视频在线观看| 亚洲一区二区不卡免费| 在线天堂一区av电影| 久久综合99re88久久爱| 国产模特精品视频久久久久| 一区二区三欧美| aⅴ色国产欧美| 欧美二区乱c少妇| 尤物九九久久国产精品的特点| 欧美一级二区| 欧美一区中文字幕| 国产精品国内视频| 一区二区三区视频在线播放| 一区二区高清| 欧美久久在线| 最新国产精品拍自在线播放| 亚洲激情二区| 免费成人高清视频| 伊人久久大香线蕉综合热线| 欧美永久精品| 久久久xxx| 国产一区久久久| 欧美一级大片在线免费观看| 欧美一区二区视频在线观看2020| 国产精品福利在线| 中文国产成人精品| 亚洲欧美日韩中文播放| 国产精品国产a级| 一区二区三区国产| 亚洲一区二区综合| 国产精品福利片| 亚洲一区二区三区免费视频| 亚洲欧美激情一区| 国产精品男gay被猛男狂揉视频| 亚洲视频成人| 性色一区二区| 国产偷自视频区视频一区二区| 亚洲欧美视频在线观看| 久久精品国产99| 激情另类综合| 91久久久在线| 欧美激情视频在线播放| 亚洲精品在线二区| 亚洲影视综合| 国产精品一区二区三区四区五区| 亚洲欧美一区二区原创| 久久久久久国产精品mv| 在线不卡中文字幕播放| 亚洲精品永久免费| 欧美日韩国产一区| 在线亚洲免费| 欧美在线免费播放| 韩国久久久久| 日韩视频免费观看高清完整版| 欧美日韩在线不卡一区| 宅男噜噜噜66一区二区| 久久成人精品一区二区三区| 国产在线高清精品| 亚洲精品中文字幕女同| 国产精品va在线播放| 午夜精品成人在线| 久热国产精品视频| 日韩亚洲精品在线| 欧美一区激情视频在线观看| 伊人天天综合| 亚洲午夜视频| 国产亚洲福利一区| 亚洲区第一页| 国产精品家庭影院| 欧美在线999| 久久综合亚洲社区| 99国产精品自拍| 久久丁香综合五月国产三级网站| 136国产福利精品导航网址| 这里只有精品在线播放| 国产九九精品视频| 亚洲精品少妇30p| 国产精品美腿一区在线看| 久久精品国产99精品国产亚洲性色| 欧美黄色影院| 亚洲欧美变态国产另类| 欧美v亚洲v综合ⅴ国产v| 亚洲午夜av在线| 欧美mv日韩mv国产网站| 亚洲一区中文| 欧美高清视频一区二区三区在线观看| 一本色道久久综合亚洲精品高清 | 欧美一区二区三区在线视频| 在线观看成人av电影| 亚洲伊人观看| 在线播放中文字幕一区| 亚洲欧美激情四射在线日| 在线观看不卡av| 亚洲欧美日本在线| 亚洲国产成人高清精品| 亚洲欧美综合精品久久成人 | 亚洲综合电影| 欧美黄色成人网| 欧美中文在线免费| 国产精品久久久91| 亚洲免费电影在线| 国内外成人免费激情在线视频| 在线亚洲伦理| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲免费一在线| 亚洲国产高清自拍| 欧美在线视频观看| 一区二区久久|