·HRWK400箱變智能環(huán)境管理系統(tǒng)
      ·WSK系列溫濕度控制器
      ·DJR系列加熱器
      ·HKZ1-400型開(kāi)關(guān)柜狀態(tài)綜合指示儀
      ·HKZ1-600型開(kāi)關(guān)柜智能操控裝置
      ·HKZ1-800型開(kāi)關(guān)柜智能操控裝置(無(wú)線測(cè)溫型)
      ·HRD系列數(shù)顯電力儀表
      - HRD19系列可編程安裝式數(shù)顯電表
      - HRD192E系列多功能數(shù)顯電表
      - HRD18系列經(jīng)濟(jì)型數(shù)顯電表
      ·HRWB系列微機(jī)保護(hù)裝置
      - HRWB-2000系列微機(jī)保護(hù)測(cè)控裝置
      - HRWB-200A通用型微機(jī)保護(hù)裝置
      - HRWB-120環(huán)網(wǎng)柜專用微機(jī)保護(hù)裝置
      ·HR-WC系列開(kāi)關(guān)柜電氣接點(diǎn)無(wú)線測(cè)溫系統(tǒng)
      ·HR-XQB型電磁線圈保護(hù)器
      ·HR-CTB系列電流互感器過(guò)電壓保護(hù)器
      ·干式變壓器溫度控制器
      - BWD系列干變溫控
      - HR-BWD-4K04Y型干變溫度智能監(jiān)控系統(tǒng)
      ·干式變壓器用冷卻風(fēng)機(jī)
      ·HRZ600系列箱變智能監(jiān)控裝置
      ·HRWK200新能源箱變專用溫濕度控制器
      ·HR-CS系列智能除濕裝置
      - HR-CS01智能除濕裝置(塑殼)
      - HR-CS02智能除濕裝置(鐵殼)
      - HR-CS03智能除濕裝置(鋁合金)
      - HR-CS04智能除濕裝置(不銹鋼殼)
      - HR-CS05智能除濕裝置(中塑殼 )
      - HR-CS06智能除濕裝置(鋁合金小款)
      ·EKL系列接地短路故障指示器
      - EKL-2電纜型接地短路故障指示器
      - EKL-4面板型接地短路故障指示器
      - EKL-5測(cè)溫型接地短路故障指示器
      ·HYB-301(302)油浸變壓器狀態(tài)監(jiān)測(cè)裝置
      - HYB-301油浸變壓器狀態(tài)監(jiān)測(cè)裝置
      - HYB-302油浸變壓器狀態(tài)監(jiān)測(cè)傳感裝置
      ·HR-RZWK-01溫壓一體油位監(jiān)測(cè)系統(tǒng)
      ·DQB-2型電子缺相保護(hù)器
       
      技術(shù)交流
      智能開(kāi)關(guān)柜操控裝置Modbus-RTU通訊協(xié)議的設(shè)計(jì)
      發(fā)布日期:2011-04-06 15:42:17
       

      摘要:智能開(kāi)關(guān)柜操控裝置具有RS485現(xiàn)場(chǎng)總線,適合于采用ModbusRTU協(xié)議來(lái)實(shí)現(xiàn)與上位機(jī)的串行通信。本文根據(jù)Modbus協(xié)議的定義以及智能開(kāi)關(guān)柜操控裝置采集信息的種類和特點(diǎn),完整地設(shè)計(jì)了智能開(kāi)關(guān)柜操控裝

      置與上位機(jī)通訊的ModbusRTu通信協(xié)議,并采用vc++程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)了該通訊協(xié)議。

      關(guān)鍵詞:智能開(kāi)關(guān)柜;ModbusRTU協(xié)議;上位機(jī);MScomm控件

      0引言

      我國(guó)智能發(fā)電和智能輸電網(wǎng)的建設(shè)與發(fā)達(dá)國(guó)家基本同步,但是智能配電網(wǎng)的建設(shè)則相對(duì)滯后。隨著國(guó)家低碳經(jīng)濟(jì)、節(jié)能減排和新能源戰(zhàn)略的實(shí)施,智能配電網(wǎng)的建設(shè)必然受到越來(lái)越多的重視,F(xiàn)代計(jì)算機(jī)技術(shù)和通信技術(shù)的飛速發(fā)展,促進(jìn)了智能配電系統(tǒng)的發(fā)展和完善,而開(kāi)關(guān)柜的智能化就是智能配電網(wǎng)的重要基礎(chǔ)。

      智能開(kāi)關(guān)柜是在以模擬儀表、繼電器為監(jiān)測(cè)、控制設(shè)備的普通開(kāi)關(guān)柜基礎(chǔ)上,與新型的智能儀表(網(wǎng)絡(luò)電力儀表、智能配電監(jiān)控/保護(hù)模塊、網(wǎng)絡(luò)IO)進(jìn)行配合,通過(guò)其網(wǎng)絡(luò)通訊接口與中央控制室的計(jì)算機(jī)系統(tǒng)聯(lián)網(wǎng),從而可以實(shí)現(xiàn)對(duì)各供配電回路的電壓、電流、有功功率、無(wú)功功率、功率因數(shù)、頻率、電度量等電參數(shù)以及斷路器的分合閘狀態(tài)、故障信息、開(kāi)關(guān)柜的溫濕度信息進(jìn)行監(jiān)測(cè),對(duì)斷路器的分合閘狀態(tài)和開(kāi)關(guān)柜的溫濕度進(jìn)行控制,并可以配合遠(yuǎn)程監(jiān)控軟件實(shí)現(xiàn)“四遙”。

      本課題采用高性能AVR單片機(jī)設(shè)計(jì)的開(kāi)關(guān)柜智能操控裝置提供RS485通訊接口,可進(jìn)行串口通信。本文根據(jù)Modbus通訊協(xié)議的定義以及智能開(kāi)關(guān)柜操控裝置采集信息的種類和特點(diǎn),完整地設(shè)計(jì)了該類智能開(kāi)關(guān)柜操控裝置與上位機(jī)通訊的ModbusRTU通信協(xié)議,并采用VC++程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)了該通訊協(xié)議。

      1 智能開(kāi)關(guān)柜ModbusRTU通訊協(xié)議設(shè)計(jì)

      11 ModbusRTU通訊協(xié)議簡(jiǎn)介

      Modbus通訊協(xié)議是由Modicon公司開(kāi)發(fā)且已是工業(yè)領(lǐng)域全球最流行的通訊協(xié)議。此協(xié)議支持傳統(tǒng)的RS232RS422、RS485和以太網(wǎng)設(shè)備。

      Modbus協(xié)議規(guī)定了消息、數(shù)據(jù)的結(jié)構(gòu)、命令和應(yīng)答的方式。數(shù)據(jù)通訊采用MaserSlave方式。Masters發(fā)出數(shù)據(jù)請(qǐng)求消息,Slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到Master端以響應(yīng)請(qǐng)求。Master端也可以直接發(fā)消息修改Slave端的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫。

      Modbus協(xié)議在一根通訊線上使用主從應(yīng)答式連接(半雙t),這意味著在一根單獨(dú)的通訊線卜信號(hào)沿著相反的兩個(gè)方向傳輸b首先,主計(jì)算機(jī)的信號(hào)尋址到一臺(tái)唯一的終端設(shè)備(開(kāi)關(guān)柜),然后,終端設(shè)備發(fā)出的應(yīng)答信號(hào)以相反的方向傳輸給主機(jī)。Modbus協(xié)議只允許在主機(jī)和終端設(shè)備之間通訊,而不允許獨(dú)立的終端設(shè)備之間的數(shù)據(jù)交換,這樣各終端設(shè)備不會(huì)在它

      們初始化時(shí)占據(jù)通訊線路,而僅限于響應(yīng)到達(dá)本機(jī)的

      查詢信號(hào)口。

      Modbus通訊規(guī)約包括RTU協(xié)議和ASCII協(xié)議。RTU(Remote Terminal Unit)通訊方式采用8位二進(jìn)制數(shù)據(jù)傳輸命令或數(shù)據(jù),數(shù)據(jù)校驗(yàn)采用CRC循環(huán)冗余校驗(yàn),通訊速度較快;ASCII通訊方式采用7位二進(jìn)制表示的ASCII碼進(jìn)行通訊,數(shù)據(jù)校驗(yàn)采用奇偶校驗(yàn)或LRC邏輯冗余校驗(yàn),通訊速度較慢。在一個(gè)通訊系統(tǒng)中,只能選用一種通訊方式。

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

      12字節(jié)格式

      智能開(kāi)關(guān)柜操控裝置ModbusRTu通訊協(xié)議中的數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)傳輸遵循以下規(guī)則:

      編碼形式:二進(jìn)制;字節(jié)位:每個(gè)傳輸序列包含l l位串行數(shù)據(jù),其中1位起始位、8位數(shù)據(jù)位DOD7、2位停止位;發(fā)送方式:數(shù)據(jù)位傳輸時(shí),先傳低位,后傳高位;如圖l所示。

      13數(shù)據(jù)幀格式

      幀是傳送信息的基本單元,Modbus協(xié)議中主機(jī)與從機(jī)采用相同的幀格式。RTU幀以至少4個(gè)字節(jié)的停頓時(shí)間開(kāi)始,同樣以至少4個(gè)字節(jié)的停頓時(shí)間標(biāo)志幀的結(jié)束。整個(gè)幀必須作為連續(xù)的流傳送,RTU數(shù)據(jù)幀格式如表1所示。

      131地址碼

      地址碼用來(lái)選定哪個(gè)從機(jī)與主機(jī)通訊,占1個(gè)字節(jié)。每個(gè)從機(jī)具有唯一的地址碼,即儀表地址。主機(jī)發(fā)送的地址碼表明主機(jī)與之通訊的從機(jī)地址,從機(jī)發(fā)送的地址碼則表明回送的從機(jī)地址。

      本設(shè)計(jì)限制可使用的地址為1。247,其它地址保留。智能開(kāi)關(guān)柜操控裝置(從機(jī))可以利用按鍵修改儀表地址,也可以通過(guò)主機(jī)修改特定從機(jī)的儀表地址。

      132功能碼

      功能碼表示主機(jī)本次通訊要求從機(jī)執(zhí)行的動(dòng)作,功能碼占1個(gè)字節(jié),表2列出了儀表支持的Modbus協(xié)議規(guī)定的標(biāo)準(zhǔn)功能碼及其定義和具體操作。

      一般Modbus協(xié)議規(guī)定讀取內(nèi)部數(shù)字量保持寄存器和外部輸入數(shù)字量寄存器采用不同的功能碼,分別為01H02H,讀取內(nèi)部模擬量保持寄存器和外部模擬量寄存器亦采用不同的功能碼,分別為03H04H14j。對(duì)于相關(guān)系統(tǒng)和設(shè)備的調(diào)研表明,傳統(tǒng)協(xié)議區(qū)分內(nèi)部量和外部量的做法完傘不適合于智能配電系統(tǒng)。因此本儀表采用兼容設(shè)計(jì)方案,不區(qū)分內(nèi)部模擬量和外部模擬量,功能碼03H04H通用。同時(shí),為了提高數(shù)據(jù)傳輸效率,本協(xié)議把每16位二進(jìn)制開(kāi)關(guān)輸入量組織成為一個(gè)字寄存器,并使之與模擬量或系統(tǒng)參數(shù)的讀取采用相同的功能碼。

      即功能碼03H04H為讀寄存器,此功能允許主機(jī)獲得儀表采集的模擬量數(shù)據(jù)、開(kāi)關(guān)量數(shù)據(jù)以及系統(tǒng)參數(shù)。讀寄存器個(gè)數(shù)不能超出允許地址范圍。Modbus通訊規(guī)約允許主機(jī)一次請(qǐng)求的最大寄存器個(gè)數(shù)為60個(gè)。

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

      133數(shù)據(jù)區(qū).

      數(shù)據(jù)區(qū)隨功能碼不同而不同。功能碼03H04H(讀寄存器)的主機(jī)命令數(shù)據(jù)區(qū)包含要讀取寄存器的起始地址(2個(gè)字節(jié))及讀取長(zhǎng)度(2個(gè)字節(jié)),從機(jī)應(yīng)答數(shù)據(jù)區(qū)包含數(shù)據(jù)字節(jié)量(1個(gè)字

      節(jié))以及數(shù)據(jù)列表。

      功能碼10H(寫寄存器)的主機(jī)命令數(shù)據(jù)區(qū)包含要寫入寄存器的起始地址(2個(gè)字節(jié))、寫入長(zhǎng)度(2個(gè)字節(jié))以及寫入數(shù)據(jù)列表,從機(jī)應(yīng)答數(shù)據(jù)區(qū)包含寫入寄存器的起始地址以及寫入長(zhǎng)度。

      134校驗(yàn)碼

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

      CRC16校驗(yàn)碼的計(jì)算方法:

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

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

      (3)計(jì)算結(jié)果向右移一位,用0填補(bǔ)最高位;

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

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

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

      2 寄存器地址分配及出錯(cuò)處理

      21寄存器地址分配

      功能碼采取簡(jiǎn)化兼容設(shè)計(jì)方案以后,寄存器的地址分配非常重要。根據(jù)開(kāi)關(guān)柜運(yùn)行和操作實(shí)際,把寄存器地址分為以下四類,其中每個(gè)寄存器存儲(chǔ)16位二進(jìn)制數(shù)。

      地址0000H00FFH為系統(tǒng)參數(shù)區(qū),寄存器可讀可寫。內(nèi)容主要包括儀表參數(shù)設(shè)置密碼、加熱控制上限、加熱控制下限、濕度控制上限、濕度控制下限、排風(fēng)控制上限、排風(fēng)控制下限、儀表Modbus通訊地址和RS485通訊波特率選擇等。

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

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

      地址0200H02FFH為控制信息區(qū),寄存器只可寫入。內(nèi)容包括斷路器遠(yuǎn)方操控、遠(yuǎn)方強(qiáng)制排風(fēng)降溫、遠(yuǎn)方強(qiáng)制加熱/風(fēng)除濕等控制功能。

      地址0500H05FFH為廠家保留區(qū),用于標(biāo)識(shí)儀表類別、型號(hào)以及儀表測(cè)試。

      22出錯(cuò)處理

      當(dāng)儀表檢測(cè)到了校驗(yàn)碼出錯(cuò)以外的錯(cuò)誤時(shí),將向主機(jī)回送信息,功能碼的最高位置為1.即從機(jī)返送給主機(jī)的功能碼是在主機(jī)發(fā)送的功能碼的基礎(chǔ)上加128。從機(jī)返回的錯(cuò)誤信息幀格式如表3所示。

      其中錯(cuò)誤碼定義如下:

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

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

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

      3 通訊協(xié)議的上位機(jī)程序設(shè)計(jì)

      Vc++6.0程序設(shè)計(jì)語(yǔ)言有專門基于串口程序設(shè)計(jì)的MSeomm控件。使用MScomm的查詢法實(shí)現(xiàn)串口通信,具體設(shè)計(jì)步驟如下:

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

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

      (3)修改系統(tǒng)參數(shù)/遠(yuǎn)方操控:根據(jù)應(yīng)用程序界面的菜單命令或按鈕命令向下位機(jī)發(fā)出數(shù)據(jù)讀取或?qū)懭胫噶睿x取或修改系統(tǒng)參數(shù),或者向下位機(jī)發(fā)送遠(yuǎn)方操控指令。同樣,MSeomm控件根據(jù)GetCommEvent獲得CommEvent1]斷屬性,如果CommEvent'-I,則向下位機(jī)發(fā)送系統(tǒng)參數(shù)修改命令或開(kāi)關(guān)柜遠(yuǎn)方操控指令。

      4 結(jié)束語(yǔ)

      智能開(kāi)關(guān)柜是智能配電網(wǎng)的基本操作單元,采用現(xiàn)場(chǎng)總線可以組成靈活的配電網(wǎng)信息采集與監(jiān)控系統(tǒng)。

      基于ModbusRTU通信規(guī)約設(shè)計(jì)的智能開(kāi)關(guān)柜操控裝置ModbusRTU通訊協(xié)議簡(jiǎn)化了傳統(tǒng)協(xié)議的功能碼,既符合開(kāi)關(guān)柜采集信息的種類和特點(diǎn),又提高了上位機(jī)監(jiān)控軟件的兼容性。

      據(jù)此協(xié)議設(shè)計(jì)的上位機(jī)軟件能夠在主控計(jì)算機(jī)和智能開(kāi)關(guān)柜操控裝置之間有效地進(jìn)行數(shù)據(jù)傳輸和操控命令下發(fā)。采用CRCl6位冗余校驗(yàn)可以保證數(shù)據(jù)傳輸?shù)目煽啃院筒倏孛钕逻_(dá)的準(zhǔn)確性。

       
       
      揚(yáng)州市江陽(yáng)西路2號(hào) 郵編:225009 電話: 0514-80872236 13815830828 蘇ICP備2021016267號(hào)-1
      傳真:0514-87637238 網(wǎng)址:http://www.jn-hr.com.cn Email:yzhrdqgs@163.com
      服務(wù)電話
      13815830828
      在線客服
      362351337

      掃一掃,加微信
      返回至頂部>>
      中文字幕精品亚洲无码视频精品,中文无码在线播放,成人av无码一区二区三区,久久er国产精品免费观看