国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Visual Basic和Proteus的低壓電器通信協(xié)議仿真設(shè)計

2011-12-31 13:40陳林周煜智
關(guān)鍵詞:低壓電器物理層通信協(xié)議

陳林,周煜智

(1.浙江正泰電器股份有限公司 技術(shù)中心,浙江 溫州 325603;2.浙江大學(xué) 電氣學(xué)院,浙江 杭州 310027)

一、引言

從1960年代開始到現(xiàn)在,中國的低壓電器經(jīng)歷了四代的發(fā)展。最新一代低壓電器即第四代低壓電器的研發(fā)熱點為具有網(wǎng)絡(luò)通信功能的電器產(chǎn)品。低壓電器的通信實際上是低壓電器智能控制器或智能單元間的通信,低壓電器的通信協(xié)議通常直接采用現(xiàn)場總線的有關(guān)技術(shù)[1][2][3]。

通過現(xiàn)場總線技術(shù)的采用,低壓電器與系統(tǒng)發(fā)生了一場新的革命,傳統(tǒng)的安裝方式紛紛被打破。傳統(tǒng)低壓電器只可以固定安裝在控制柜或配電箱中,物理位置的改變將導(dǎo)致二次回路即控制回路的重新設(shè)置。采用現(xiàn)場總線,低壓電器可以離開控制柜或配電箱而安裝到設(shè)備現(xiàn)場,監(jiān)測信號和控制信號通過總線與上位機相連,進行實時通信。

目前,國內(nèi)低壓電器行業(yè)較為常見的總線方案為:Asi、Modbus、Profibus、DeviceNet四類,主要源自西門子、施耐德、ABB等國際大型電氣公司。中國企業(yè)目前在該領(lǐng)域還是追趕者。從技術(shù)復(fù)雜程度來看,Modbus最簡單,雖然其傳輸速率較低,但已足夠滿足低壓電器的通信需求。從技術(shù)壁壘角度來看,Modbus沒有像其他幾種協(xié)議那樣采用專用集成芯片,技術(shù)開放性較高,開發(fā)與使用成本方面具有優(yōu)勢。

二、Modbus協(xié)議分析

Modbus是較為常見的現(xiàn)場總線工業(yè)標(biāo)準(zhǔn),主要以樹型網(wǎng)絡(luò)結(jié)構(gòu)或者說總線型網(wǎng)絡(luò)結(jié)構(gòu)為主,協(xié)議結(jié)構(gòu)簡單,只規(guī)定了OSI模型第7層的應(yīng)用層報文傳輸協(xié)議、第2層的數(shù)據(jù)鏈路層串行鏈路協(xié)議及第1層的物理層(采用RS485/232規(guī)范),它在連接至不同類型總線或網(wǎng)絡(luò)的設(shè)備之間提供客戶機/服務(wù)器通信,采用主站/從站訪問方式,其協(xié)議棧結(jié)構(gòu)和與OSI模型的對照如圖1所示。

圖1 模型對照

三、硬件平臺配置

通過RS485/RS232以及RS232/USB接口電路,可以實現(xiàn)將個人電腦接入Modbus網(wǎng)絡(luò),仿真Modbus主機和從機。仿真硬件結(jié)構(gòu)原理圖如圖2所示。

圖2 硬件平臺結(jié)構(gòu)圖

當(dāng)前,很多PC機,特別是筆記本電腦,都已經(jīng)取消RS232接口,轉(zhuǎn)而由USB接口取代。但RS232的一些優(yōu)點,特別是與外圍微控制器通信方面仍有顯著優(yōu)勢。因此,采用USB轉(zhuǎn)RS232硬件,一方面繼承了USB接口熱插拔等方面的優(yōu)勢,另一方面又可繼續(xù)發(fā)揮RS232通信的優(yōu)勢。USB接口轉(zhuǎn)換為RS232接口主要通過CH340轉(zhuǎn)接芯片實現(xiàn)。CH340是一個USB總線的轉(zhuǎn)接芯片,可以實現(xiàn)USB轉(zhuǎn)RS232功能。

RS232與RS485的接口轉(zhuǎn)換,主要是電氣特性與邏輯轉(zhuǎn)換,通過電平轉(zhuǎn)換芯片即可實現(xiàn)。MAX232可將RS232電平與邏輯轉(zhuǎn)換為TTL,MAX485芯片則用于RS485的電平與TTL電平轉(zhuǎn)換。同樣,89C51的TTL電平也通過MAX485芯片轉(zhuǎn)換為RS485電平。

RS485總線只規(guī)定了物理層的有關(guān)特性,具體的傳輸協(xié)議由開發(fā)人員自行定制,這就大大降低了應(yīng)用門檻,為上層協(xié)議的開發(fā)提供了很大的柔性。但另外一方面,也就限制了RS485在復(fù)雜數(shù)據(jù)傳輸方便的應(yīng)用,在簡單信號傳輸,特別是智能控制器信號傳輸方面去有著非常大的優(yōu)勢[4]。

通過上述兩次接口轉(zhuǎn)換,可基本實現(xiàn)PC機到RS485網(wǎng)絡(luò)的硬件連通。

四、通信協(xié)議虛擬設(shè)計軟件

在傳統(tǒng)的低壓電器設(shè)計中,采用的開發(fā)模式主要是物理樣機模式,即通過反復(fù)地“制作樣機 測試改進樣機 測試”的流程來達到設(shè)計目標(biāo)。傳統(tǒng)模式存在開發(fā)周期長、費用高、質(zhì)量水平不高等缺陷,難以滿足四代低壓電器多元化、個性化方面的需求[5]。隨著計算機技術(shù)和仿真技術(shù)的發(fā)展,商用仿真軟件品種越來越豐富,功能也越來越強大,因此,低壓電器虛擬樣機設(shè)計也日益普及。本文主要采用Visual Basic設(shè)計上位機和下位機仿真程序,以及采用IAR和Proteus開展單片機的仿真。

Visual Basic是美國微軟公司開發(fā)的一款面向?qū)ο蟮某绦蜷_發(fā)系統(tǒng),在VB中創(chuàng)建的應(yīng)用程序可以在任何Windows環(huán)境下運行。在智能電器設(shè)計過程中,涉及到應(yīng)用于串口通信的MSComm控件。Microsoft Communications Control(MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,通過串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能。MSComm控件在串口編程時非常方便,程序員不必去花時間去了解較為復(fù)雜的API函數(shù),而且在Visual C++(以下簡稱VC),Visual Basic〔以下簡稱VB),Delphi等語言中均可使用。主要通過兩種方式處理通信問題:一是事件驅(qū)動(Event-driven)方法,二是查詢法[6]。

單片機仿真設(shè)計軟件是低壓電器通信協(xié)議虛擬設(shè)計的另外一類重要軟件。本文主要涉及Proteus和IAR EMbeded Workbench for 8051。用Proteus進行單片機功能設(shè)計與驗證,可大大提高速度并降低研發(fā)成本。IAR Embedded Workbench for 8051是一套高度精密且使用方便的嵌入式應(yīng)用編程開發(fā)工具。通過其內(nèi)置的針對不同芯片的代碼優(yōu)化器,IAR Embedded Workbench可以為8051系列芯片生成非常高效和可靠的FLASH/PROMable代碼。

五、Modbus通信協(xié)議的軟件設(shè)計

Modbus協(xié)議的實現(xiàn)分為兩個步驟,第一步是物理層協(xié)議的實現(xiàn),主要涉及異步串行通信參數(shù)的設(shè)置與調(diào)試;第二步是數(shù)據(jù)鏈路層和應(yīng)用層協(xié)議,主要是應(yīng)用數(shù)據(jù)單元的實現(xiàn)和操作函數(shù)的實現(xiàn)。

(一)物理層協(xié)議的實現(xiàn)

物理層協(xié)議實現(xiàn)主要是基于RS485網(wǎng)絡(luò),通過異步串行通信相關(guān)參數(shù)的設(shè)置來實現(xiàn)PC機和單片機在RS485上的數(shù)據(jù)收發(fā)功能。

1、PC機的物理層協(xié)議實現(xiàn)

PC機的物理層協(xié)議,通過VB開發(fā)軟件的MSComm控件實現(xiàn)。實現(xiàn)的步驟為[7][8]:

(1)運行VB程序,添加控件:一個MSComm控件、兩個文本控件(一個命名為“TextSend”,用于輸入待發(fā)送文本;另一個命名為“TextReceive”,用于顯示接收到的文本)、兩個按鈕控件(一個命名為“CommandSend”,用于將“TextSend”控件中的文本發(fā)送到RS485總線;另一個命名為“CommandReceive”,用于接收總線上收到的信息并顯示在“TextReceive”文本控件中);

(2)設(shè)置MSComm的通信參數(shù):

a.ComPort屬性,即使用的COM端口號;

b.Settings屬性,即串行通信波特率、校驗、數(shù)據(jù)位、停止位等參數(shù);

c.設(shè)置其它輔助屬性,如InputMode,Rthreshold等;

(3)運行串口通信程序,開啟通信端口,即賦值MSComm控件的PortOpen屬性。(PortOpen=True)

(4)送出字符串或讀入字符串,即賦值MSComm控件的Output屬性或讀取Input屬性。

(5)使用完MSComm通訊對象后,將通信端口關(guān)閉。

2.單片機物理層協(xié)議實現(xiàn)

單片機的物理層協(xié)議是通過USART(UART)串行通信接口來實現(xiàn)的。本文涉及的單片機為Atmel的AT89C51。8051單片機有一個采用通用異步接收/發(fā)送器(UART)工作方式的全雙工串行通信接口,因此它與外界的通信一般采用串行通信方式,只有少數(shù)情況下才采用并行方式。8051單片機的串行接口主要由2個物理上獨立的串行數(shù)據(jù)(接收、發(fā)送)緩沖器SBUF、發(fā)送控制器、接收控制器、輸入移位寄存器和輸出控制門組成。發(fā)送數(shù)據(jù)緩沖器SBUF只能寫入、不能讀出。接收數(shù)據(jù)緩沖器只能讀出、不能寫入。2個緩沖器共用一個單元地址99H,是不可位尋址的特殊功能寄存器,在編程應(yīng)用中就如同使用一個寄存器SBUF一樣??刂?051單片機串行接口的控制寄存器共有兩個:特殊功能寄存器SCON和PCON。

SM 0和SM1為串行通信模式選擇位,51單片機共提供4種通信模式,模式1~3為全雙工通信,模式0主要用于I/O擴展時作為移位寄存器。

本文選擇的是模式1,其波特率由時鐘T1生成。

以波特率為9600為例,則對應(yīng)的CUP頻率為14.7456MHz,T1的初始值為FCh,并采用8位自動重載模式。將單片機通信參數(shù)寫入初始化函數(shù)中并在主程序運行初始階段調(diào)用。

進一步地,對單片機的接收與發(fā)送函數(shù)進行設(shè)計。

接收函數(shù)采用中斷模式,MCS-51單片機的串行中斷矢量為0x23,中斷處理函數(shù)格式為:

通過IAR軟件編譯生成.hex格式機器文件,載入Proteus仿真軟件對上述代碼進行測試,可實現(xiàn)雙機互連。

(二)數(shù)據(jù)鏈路層的實現(xiàn)

Modbus數(shù)據(jù)鏈路層的實現(xiàn)分為上位機(PC)和下位機(單片機)兩部分。

1.通信參數(shù)設(shè)置

(1)傳輸模式,本文采用RTU模式,即信息的打包和解碼的方式為報文中每個8位字節(jié)含有兩個4位十六進制字符,每個字節(jié)的11位,格式為:1個起始位,8個數(shù)據(jù)位(首先發(fā)送最低有效位LSB),1個奇偶校驗位(偶校驗),1個停止位;

(2)通信速率:9600bit/s;

(3)幀校驗:采用循環(huán)冗余校驗(CRC);

(4)單播模式下的響應(yīng)超時由于從站處理請求并返回響應(yīng),設(shè)置為2s;廣播模式下的回轉(zhuǎn)延時只需從站處理請求并能夠接收新請求,設(shè)置為0.5s。

2.主站和從站的功能模塊設(shè)計

(1)主站的總體設(shè)計

定義一個整型變量Modbus_State,默認(rèn)值為0,取值范圍為0、1、2、3、4,通過對Modbus_State的狀態(tài)判定分別運行對應(yīng)的模塊。其子模塊包括:數(shù)據(jù)包接收子模塊(Modbus_State=0)、數(shù)據(jù)包解析子模塊(Modbus_State=1)、函數(shù)執(zhí)行模塊(ModBus_State=2)、信息反饋子模塊(ModBus_State=3)和復(fù)位子模塊(Modbus_State=4)。

(2)從站模塊的總體設(shè)計

與主站模塊的總體設(shè)計相似,也根據(jù)Modbus_State的取值來分為5個子模塊,分別包括:數(shù)據(jù)包接收子模塊(Modbus_State=0)、數(shù)據(jù)處理子模塊(Modbus_State=1)、響應(yīng)子模塊(Modbus_State=2)、命令執(zhí)行子模塊(Modbus_State=3)和超時復(fù)位子模塊(Modbus_State=4)。

(三)應(yīng)用層的實現(xiàn)

JBT10542(2006)——低壓電器通信規(guī)約已經(jīng)規(guī)定了斷路器通用數(shù)據(jù)通信參數(shù)表。本案采用Microsoft Access數(shù)據(jù)庫對相關(guān)通信參數(shù)進行預(yù)定義。數(shù)據(jù)庫由6個表組成:JBT10542(2006)斷路器通用數(shù)據(jù)通信參數(shù)表、寄存器總表、設(shè)備類別清單、設(shè)備類別寄存器表、設(shè)備注冊信息表和設(shè)備存儲器表。

另外,通過一個按鈕控件用于更新設(shè)備注冊并生成協(xié)議文件。所謂的協(xié)議文件,對于VB類的下位機,是一個文本文件,用于程序啟動時讀取相關(guān)配置。對于單片機類的下位機,協(xié)議文件是一個頭文件,用于編譯時載入。

六、結(jié)語

本文研究了配置低壓斷路器通信協(xié)議的單機開發(fā)環(huán)境,并基于該開發(fā)環(huán)境開展Modbus協(xié)議的設(shè)計與仿真,實現(xiàn)了智能控制器寄存器的Modbus通信系統(tǒng)。通過Modbus總線系統(tǒng),個人電腦作為上位機,各種帶智能控制器的低壓電器作為下位機,可實現(xiàn)遙測、遙控和遙信功能,實現(xiàn)四代低壓電器及其系統(tǒng)的功能。

目前,我國的節(jié)能減排任務(wù)艱巨,電力公司主要通過拉閘限電這種比較粗放的管理模式來達到減排目標(biāo),這種作法已經(jīng)引起了社會上廣泛的爭議。國家有關(guān)部門以及能源供應(yīng)公司需要采取更加科學(xué)的管理方式,一方面,需要將節(jié)能減排目標(biāo)具體量化并落實到每個企業(yè),比如建立單位GDP的能量消耗指標(biāo),另一方面,應(yīng)當(dāng)積極建設(shè)智能電網(wǎng),特別是安裝四代電器和系統(tǒng),對用電企業(yè)與單位實行全面的電力信息收集與統(tǒng)計,在此基礎(chǔ)上,通過考核對能耗產(chǎn)出比不達標(biāo)企業(yè)實施限電措施,而對于能耗產(chǎn)出優(yōu)越的企業(yè)應(yīng)該進行獎勵。這樣,才能真正實現(xiàn)可持續(xù)發(fā)展的節(jié)能減排目標(biāo)。

[1]王俊杰.一種新型的現(xiàn)場設(shè)備級監(jiān)控網(wǎng)絡(luò)──ASI總線[J].低壓電器,2006(6):23-24.

[2]袁海洲,劉少克.PROFIBUS技術(shù)概述[J].電工技術(shù),2000(2):1-2.

[3]孫喜田.關(guān)于我國現(xiàn)場總線技術(shù)發(fā)展策略的思考[J].自動化與儀器儀表,2000(5):1-3.

[4]元濤.基于RS485網(wǎng)絡(luò)的遠(yuǎn)程集中抄表系統(tǒng)設(shè)計與實現(xiàn)[J].山東科技大學(xué),2004.

[5]李瑞濤,方湄,張文明.虛擬樣機技術(shù)的概念及應(yīng)用[J].機電一體化,2000(5):17-19.

[6]Eric Brier ley,Anthony Prince,David Rinaldi.Visual Basic 6開發(fā)人員指南[M].北京:機械工業(yè)出版社,1999.

[7]仵浩,齊燕杰,宋文超.Visual Basic 串口通信工程開發(fā)實例導(dǎo)航[M].北京:人民郵電出版社,2003.

[8]范逸之,陳立元.Visual Basic與RS-232串行通訊控制[M].北京:中國青年出版社,2001.

猜你喜歡
低壓電器物理層通信協(xié)議
基于K-ML-MPWFRFT的物理層安全傳輸技術(shù)
低壓電器故障分析與維修技術(shù)探討
基于Wireshark的列控中心以太網(wǎng)通信協(xié)議解析器的研究與實現(xiàn)
公路聯(lián)網(wǎng)電子不停車收費系統(tǒng)路側(cè)單元物理層自動測試軟件研發(fā)
低壓電器智能測試技術(shù)的特點與應(yīng)用
探究我國低壓電器的現(xiàn)狀及發(fā)展
一種應(yīng)用于5G基于LDPC碼的物理層包編碼
關(guān)于電力物聯(lián)網(wǎng)信息模型及通信協(xié)議的設(shè)計要點分析
衛(wèi)星通信物理層安全技術(shù)探析
基于風(fēng)險分析的安全通信協(xié)議簡化研究