·DQB-2型電子缺相保護器
·WSK系列溫濕度控制器
·DJR系列加熱器
·HKZ1-400型開關柜狀態綜合指示儀
·HKZ1-600型開關柜智能操控裝置
·HKZ1-800型開關柜智能操控裝置(無線測溫型)
·HRD系列數顯電力儀表
- HRD19系列可編程安裝式數顯電表
- HRD192E系列多功能數顯電表
- HRD18系列經濟型數顯電表
·HRWB系列微機保護裝置
- HRWB-2000系列微機保護測控裝置
- HRWB-200A通用型微機保護裝置
- HRWB-120環網柜專用微機保護裝置
·HR-WC系列開關柜電氣接點無線測溫系統
·HR-XQB型電磁線圈保護器
·HR-CTB系列電流互感器過電壓保護器
·干式變壓器溫度控制器
- BWD系列干變溫控
- HR-BWD-4K04Y型干變溫度智能監控系統
·干式變壓器用冷卻風機
·HRZ600系列箱變智能監控裝置
·HRWK200新能源箱變專用溫濕度控制器
·HR-CS系列智能除濕裝置
- HR-CS01智能除濕裝置(塑殼)
- HR-CS02智能除濕裝置(鐵殼)
- HR-CS03智能除濕裝置(鋁合金)
- HR-CS04智能除濕裝置(不銹鋼殼)
- HR-CS05小型智能除濕裝置
·EKL系列接地短路故障指示器
- EKL-2電纜型接地短路故障指示器
- EKL-4面板型接地短路故障指示器
- EKL-5測溫型接地短路故障指示器
·DXN系列帶電顯示器
 
技術交流
智能開關柜操控裝置Modbus-RTU通訊協議的設計
發布日期:2011-04-06 15:42:17
 

摘要:智能開關柜操控裝置具有RS485現場總線,適合于采用ModbusRTU協議來實現與上位機的串行通信。本文根據Modbus協議的定義以及智能開關柜操控裝置采集信息的種類和特點,完整地設計了智能開關柜操控裝

置與上位機通訊的ModbusRTu通信協議,并采用vc++程序設計語言實現了該通訊協議。

關鍵詞:智能開關柜;ModbusRTU協議;上位機;MScomm控件

0引言

我國智能發電和智能輸電網的建設與發達國家基本同步,但是智能配電網的建設則相對滯后。隨著國家低碳經濟、節能減排和新能源戰略的實施,智能配電網的建設必然受到越來越多的重視。現代計算機技術和通信技術的飛速發展,促進了智能配電系統的發展和完善,而開關柜的智能化就是智能配電網的重要基礎。

智能開關柜是在以模擬儀表、繼電器為監測、控制設備的普通開關柜基礎上,與新型的智能儀表(網絡電力儀表、智能配電監控/保護模塊、網絡IO)進行配合,通過其網絡通訊接口與中央控制室的計算機系統聯網,從而可以實現對各供配電回路的電壓、電流、有功功率、無功功率、功率因數、頻率、電度量等電參數以及斷路器的分合閘狀態、故障信息、開關柜的溫濕度信息進行監測,對斷路器的分合閘狀態和開關柜的溫濕度進行控制,并可以配合遠程監控軟件實現“四遙”。

本課題采用高性能AVR單片機設計的開關柜智能操控裝置提供RS485通訊接口,可進行串口通信。本文根據Modbus通訊協議的定義以及智能開關柜操控裝置采集信息的種類和特點,完整地設計了該類智能開關柜操控裝置與上位機通訊的ModbusRTU通信協議,并采用VC++程序設計語言實現了該通訊協議。

1 智能開關柜ModbusRTU通訊協議設計

11 ModbusRTU通訊協議簡介

Modbus通訊協議是由Modicon公司開發且已是工業領域全球最流行的通訊協議。此協議支持傳統的RS232RS422RS485和以太網設備。

Modbus協議規定了消息、數據的結構、命令和應答的方式。數據通訊采用MaserSlave方式。Masters發出數據請求消息,Slave端接收到正確消息后就可以發送數據到Master端以響應請求。Master端也可以直接發消息修改Slave端的數據,實現雙向讀寫。

Modbus協議在一根通訊線上使用主從應答式連接(半雙t),這意味著在一根單獨的通訊線卜信號沿著相反的兩個方向傳輸b首先,主計算機的信號尋址到一臺唯一的終端設備(開關柜),然后,終端設備發出的應答信號以相反的方向傳輸給主機。Modbus協議只允許在主機和終端設備之間通訊,而不允許獨立的終端設備之間的數據交換,這樣各終端設備不會在它

們初始化時占據通訊線路,而僅限于響應到達本機的

查詢信號口。

Modbus通訊規約包括RTU協議和ASCII協議。RTU(Remote Terminal Unit)通訊方式采用8位二進制數據傳輸命令或數據,數據校驗采用CRC循環冗余校驗,通訊速度較快;ASCII通訊方式采用7位二進制表示的ASCII碼進行通訊,數據校驗采用奇偶校驗或LRC邏輯冗余校驗,通訊速度較慢。在一個通訊系統中,只能選用一種通訊方式。

RTU模式下,幀中的每個字節直接用于傳輸,這樣在同樣的波特率下,可ELASCII模式傳輸更多的數據。與絕大多數電力自動化儀表一致,本儀表采用ModbusRTU通訊模式。

12字節格式

智能開關柜操控裝置ModbusRTu通訊協議中的數據結構以及數據傳輸遵循以下規則:

編碼形式:二進制;字節位:每個傳輸序列包含l l位串行數據,其中1位起始位、8位數據位DOD72位停止位;發送方式:數據位傳輸時,先傳低位,后傳高位;如圖l所示。

13數據幀格式

幀是傳送信息的基本單元,Modbus協議中主機與從機采用相同的幀格式。RTU幀以至少4個字節的停頓時間開始,同樣以至少4個字節的停頓時間標志幀的結束。整個幀必須作為連續的流傳送,RTU數據幀格式如表1所示。

131地址碼

地址碼用來選定哪個從機與主機通訊,占1個字節。每個從機具有唯一的地址碼,即儀表地址。主機發送的地址碼表明主機與之通訊的從機地址,從機發送的地址碼則表明回送的從機地址。

本設計限制可使用的地址為1247,其它地址保留。智能開關柜操控裝置(從機)可以利用按鍵修改儀表地址,也可以通過主機修改特定從機的儀表地址。

132功能碼

功能碼表示主機本次通訊要求從機執行的動作,功能碼占1個字節,表2列出了儀表支持的Modbus協議規定的標準功能碼及其定義和具體操作。

一般Modbus協議規定讀取內部數字量保持寄存器和外部輸入數字量寄存器采用不同的功能碼,分別為01H02H,讀取內部模擬量保持寄存器和外部模擬量寄存器亦采用不同的功能碼,分別為03H04H14j。對于相關系統和設備的調研表明,傳統協議區分內部量和外部量的做法完傘不適合于智能配電系統。因此本儀表采用兼容設計方案,不區分內部模擬量和外部模擬量,功能碼03H04H通用。同時,為了提高數據傳輸效率,本協議把每16位二進制開關輸入量組織成為一個字寄存器,并使之與模擬量或系統參數的讀取采用相同的功能碼。

即功能碼03H04H為讀寄存器,此功能允許主機獲得儀表采集的模擬量數據、開關量數據以及系統參數。讀寄存器個數不能超出允許地址范圍。Modbus通訊規約允許主機一次請求的最大寄存器個數為60個。

功能碼10H為寫寄存器,主機利用此功能將數據(或系統參數)保存到儀表的寄存器。要求寫入的寄存器必須可寫,個數不能超出允許地址范圍。Modbus通訊規約允許一次最多保存60+寄存器。同樣,開關量輸出、模擬量輸出和系統參數的保存均采用相同的功能碼,但每個開關量寄存器只控制一個開關設備以提高遙控可靠性。

133數據區.

數據區隨功能碼不同而不同。功能碼03H04H(讀寄存器)的主機命令數據區包含要讀取寄存器的起始地址(2個字節)及讀取長度(2個字節),從機應答數據區包含數據字節量(1個字

)以及數據列表。

功能碼10H(寫寄存器)的主機命令數據區包含要寫入寄存器的起始地址(2個字節)、寫入長度(2個字節)以及寫入數據列表,從機應答數據區包含寫入寄存器的起始地址以及寫入長度。

134校驗碼

校驗碼用于主機或從機判斷接收到的數據是否出錯,使系統通訊更可靠。ModbusRTU協議采用CRC16(16位循環冗余校驗碼)校驗方法,包含16位二進制。CRC校驗碼由發送端計算,放置于發送信息的尾部。接收端重新計算接收到的信息的校驗碼,并與接收到的校驗碼相比較,如果二者不相符,則表明通訊出錯。

CRC16校驗碼的計算方法:

(1)預置16位寄存器全為1,即寄存器CRC=0FFFFH

(2)8位數據信息與CRC碼的低8位數據進行異或,送回CRC寄存器;

(3)計算結果向右移一位,用0填補最高位;

(4)如果移出位為l,把CRC寄存器的內容與預置數(OA001H)相異或,如果移出位為0,不進行異或運算;

(5)重復第三步和第四步直到移位8次,處理完成一個字節;

(6)重復第二步至第五步直到所有字節處理結束。

2 寄存器地址分配及出錯處理

21寄存器地址分配

功能碼采取簡化兼容設計方案以后,寄存器的地址分配非常重要。根據開關柜運行和操作實際,把寄存器地址分為以下四類,其中每個寄存器存儲16位二進制數。

地址0000H00FFH為系統參數區,寄存器可讀可寫。內容主要包括儀表參數設置密碼、加熱控制上限、加熱控制下限、濕度控制上限、濕度控制下限、排風控制上限、排風控制下限、儀表Modbus通訊地址和RS485通訊波特率選擇等。

如果主機把數據(1-247)寫入從機儀表通訊地址寄存器,從機正確執行該指令以后將以新的從機地址進行應答;如果主機把數據(04)寫人從機波特率選擇寄存器(o代表1200波特、1代表2400波特、2代表4800波特、3代表9600波特、4代表1 9200波特),從機正確執行該指令以后將以新的波特率進行應答。

地址0100H01FFH為運行參數區,寄存器只可讀取,不能寫入。內容主要包括三相電壓有效值及平均值、i相電流有效值及平均值、三相有功功率及總和、三相無功功率及總和、三相視在功率及總和、三相功率因數及總功率因數(定義為總有功功率與總視在功率之比)、頻率、電能數據等電氣參數,l#2#溫濕度傳感器的溫度和濕度測量值等非電氣參數,以及開關量狀態指示、高壓帶電指示、面板按鍵指示和加熱狀態指示等開關量參數。

地址0200H02FFH為控制信息區,寄存器只可寫入。內容包括斷路器遠方操控、遠方強制排風降溫、遠方強制加熱/風除濕等控制功能。

地址0500H05FFH為廠家保留區,用于標識儀表類別、型號以及儀表測試。

22出錯處理

當儀表檢測到了校驗碼出錯以外的錯誤時,將向主機回送信息,功能碼的最高位置為1.即從機返送給主機的功能碼是在主機發送的功能碼的基礎上加128。從機返回的錯誤信息幀格式如表3所示。

其中錯誤碼定義如下:

01H一非法的功能碼,表示接收到的功能碼儀表不支持;

02n--t乍法的寄存器地址,表示接收到的寄存器地址超出儀表的范圍;

03H一非法的數據值,表示接收到的數據值超出儀表允許的數值范圍。

3 通訊協議的上位機程序設計

Vc++6.0程序設計語言有專門基于串口程序設計的MSeomm控件。使用MScomm的查詢法實現串口通信,具體設計步驟如下:

(1)初始化串口:用Settings設置串口參數,包括串口選擇,波特率、數據位、奇偶校驗位和停止位;

(2)讀取運行參數:用SetCommPort打開串口,產生OnComm事件,定時器,Se,tTimer每隔1秒產生OnTimer事件,發出一系列讀取命令讀取全部運行參數。發送每條命令時上位機計算CRC校驗碼一并發送,從機響應命令后發出應答數據。MScomm控件根據GetCommEvent獲得CommEvent判斷屬性。如果CommEvent=2,則接收下位機發送的應答數據和校驗碼并重新計算接收數據的校驗碼,若校驗碼正確則存儲并顯示相應的數據;

(3)修改系統參數/遠方操控:根據應用程序界面的菜單命令或按鈕命令向下位機發出數據讀取或寫入指令,讀取或修改系統參數,或者向下位機發送遠方操控指令。同樣,MSeomm控件根據GetCommEvent獲得CommEvent1]斷屬性,如果CommEvent'-I,則向下位機發送系統參數修改命令或開關柜遠方操控指令。

4 結束語

智能開關柜是智能配電網的基本操作單元,采用現場總線可以組成靈活的配電網信息采集與監控系統。

基于ModbusRTU通信規約設計的智能開關柜操控裝置ModbusRTU通訊協議簡化了傳統協議的功能碼,既符合開關柜采集信息的種類和特點,又提高了上位機監控軟件的兼容性。

據此協議設計的上位機軟件能夠在主控計算機和智能開關柜操控裝置之間有效地進行數據傳輸和操控命令下發。采用CRCl6位冗余校驗可以保證數據傳輸的可靠性和操控命令下達的準確性。

 
 
揚州市江陽西路2號 郵編:225009 電話: 0514-80872236 13815830828 蘇ICP備08023556號
傳真:0514-87637238 網址:http://www.dkrbal.live Email:[email protected]
服務電話
13815830828
在線客服
362351337

掃一掃,加微信
返回至頂部>>
中彩网内蒙古时时彩 快递中转站是怎么赚钱的 新11选5 王者捕鱼技巧 南宁卖凉茶赚钱嘛 卡五星麻将免费下载 山西泳坛夺金 用手机零投资怎么赚钱 致富赚钱幻术奇方 球探篮球比分播网 快乐时时彩 英雄联盟英雄台词 游泳私教赚钱吗 用信用卡怎样赚钱之道 13ri澳门足球比分 海王捕鱼逆变器 有什么电玩城可以赚钱