關(guān) 閉

新聞中心

EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > 基于Modbus的EPS應(yīng)急電源監(jiān)控系統(tǒng)的研究

基于Modbus的EPS應(yīng)急電源監(jiān)控系統(tǒng)的研究

——
作者: 時(shí)間:2007-12-24 來(lái)源: 收藏

  1 引 言

  隨著環(huán)保和消防要求的提高,柴油發(fā)電機(jī)逐漸失去優(yōu)勢(shì),而由于逆變技術(shù)的成熟發(fā)展,新型無(wú)公害、高可靠性、動(dòng)力型的大型應(yīng)急(Emergency Power Supply)逐步成為代替柴油發(fā)電機(jī)組的“綠色”,目前已經(jīng)在建筑領(lǐng)域得到大面積推廣。同時(shí),隨著微處理器、計(jì)算機(jī)和數(shù)字通信技術(shù)的飛速發(fā)展,計(jì)算機(jī)控制已經(jīng)擴(kuò)展到了幾乎所有的工業(yè)領(lǐng)域。將所有的功能集成于統(tǒng)一開放的平臺(tái)上,通過(guò)人機(jī)界面可以使復(fù)雜的控制和數(shù)據(jù)處理變得更加簡(jiǎn)單。

  2 監(jiān)控系統(tǒng)設(shè)計(jì)

  美國(guó)電子工業(yè)協(xié)會(huì)(EIA)制定的RS 485標(biāo)準(zhǔn)作為一種多點(diǎn)差分?jǐn)?shù)據(jù)傳輸?shù)碾姎庖?guī)范,現(xiàn)已成為業(yè)界應(yīng)用最為廣泛的標(biāo)準(zhǔn)通信接口之一。這種通信接口允許在簡(jiǎn)單的一對(duì)雙絞線上進(jìn)行多點(diǎn)、雙向通信。平衡發(fā)送、平衡接收,具有傳輸距離遠(yuǎn)、通信速率高、抗干擾能力強(qiáng)、軟硬件支持豐富與現(xiàn)場(chǎng)儀表接口簡(jiǎn)單、易于實(shí)現(xiàn)和擴(kuò)展等特點(diǎn)。接口總線上可連接32個(gè)設(shè)備,加中繼器后最多可達(dá)255個(gè)設(shè)備。因此,許多領(lǐng)域都采用RS 485作為數(shù)據(jù)傳輸鏈路,例如汽車電子、電信設(shè)備、局域網(wǎng)、蜂窩基站、工業(yè)控制儀器儀表等。本系統(tǒng)采用一臺(tái)PC作為上位機(jī),下位機(jī)由若干臺(tái)P89C51單片機(jī)擔(dān)任,監(jiān)控系統(tǒng)結(jié)構(gòu)圖如圖1所示。

  

  上位機(jī)的RS 232串行口通過(guò)RS 232/RS 485轉(zhuǎn)換器轉(zhuǎn)換為RS 485總線,各下位機(jī)通過(guò)MAX485芯片連接到總線上。各個(gè)下位機(jī)設(shè)有自己惟一的地址,且下位機(jī)之間不能通信,一切通信受上位機(jī)控制。開始時(shí),所有下位機(jī)都處于監(jiān)聽狀態(tài),等待上位機(jī)發(fā)出指令。當(dāng)上位機(jī)發(fā)出指令時(shí),所有下位機(jī)都接收并且將其中的地址幀與自己的地址比較,如果相同則繼續(xù)接收后面的指令或數(shù)據(jù),若不同則不予理睬。

  3 通信協(xié)議

  協(xié)議是應(yīng)用于電子控制器上的一種通用語(yǔ)言。通過(guò)此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)和其他設(shè)備之間可以通信。他已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn),不同廠商生產(chǎn)的控制設(shè)備利用其可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。

  協(xié)議定義了消息域格式和內(nèi)容的公共格式,如表1和表2所示,使控制器能認(rèn)識(shí)和使用消息結(jié)構(gòu),而無(wú)需考慮通信網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。他描述了一個(gè)控制器訪問(wèn)其他設(shè)備的過(guò)程,當(dāng)采用Modbus協(xié)議通信時(shí),此協(xié)議規(guī)定每個(gè)控制器需要知道自己的設(shè)備地址,識(shí)別按地址發(fā)來(lái)的消息,如何響應(yīng)來(lái)自其他設(shè)備的請(qǐng)求,如何偵測(cè)錯(cuò)誤并記錄。

  

  系統(tǒng)通信采用主從技術(shù),即只有主設(shè)備能發(fā)出查詢,從設(shè)備響應(yīng)消息。主設(shè)備可單獨(dú)和從設(shè)備通信,從設(shè)備返回一個(gè)消息。如果采用廣播方式(地址為零)查詢,從設(shè)備不作任何回應(yīng)。

  Modbus協(xié)議有兩種模式:ASCII和RTU模式。一個(gè)Modbus通信系統(tǒng)中只能選擇一種模式,不允許兩種模式混合使用。本系統(tǒng)采用RTU模式,消息的起始位以至少3.5個(gè)字符傳輸時(shí)間的停頓開始(一般采用4個(gè)),在傳輸完最后一個(gè)字符后,有一個(gè)至少3.5個(gè)字符傳輸時(shí)間的停頓來(lái)標(biāo)識(shí)結(jié)束。一個(gè)新的消息可在此停頓后開始。在接收期間,如果等待接收下一個(gè)字符的時(shí)間超過(guò)1.5個(gè)字符傳輸時(shí)間,則認(rèn)為是下一個(gè)消息的開始。校驗(yàn)碼采用CRC16方式,只對(duì)設(shè)備地址、功能代碼和數(shù)據(jù)段進(jìn)行。整個(gè)消息幀必須作為一連續(xù)的流傳輸,傳輸速率較ASCII模式高。

  Modbus可能的從設(shè)備地址是0~247(十進(jìn)制),單個(gè)設(shè)備的地址范圍是1~247??赡艿墓δ艽a范圍是十進(jìn)制的1~255。其中有些代碼適用于所有的控制器,有些是針對(duì)某種Modicon控制器,有些是為用戶保留或備用。

{{分頁(yè)}}

  4 軟件設(shè)計(jì)

  本系統(tǒng)上位機(jī)軟件采用VC 6.0開發(fā),操作系統(tǒng)為Windows 98,上位機(jī)向串口讀寫數(shù)據(jù),通過(guò)485總線將控制信息送到現(xiàn)場(chǎng)的每臺(tái)設(shè)備,就可以監(jiān)控網(wǎng)絡(luò)上任何一臺(tái)設(shè)備,同時(shí)現(xiàn)場(chǎng)采集到的電壓、電流等信號(hào)實(shí)時(shí)顯示在上位機(jī)的界面上。

  (1) 人機(jī)界面子程序

  包括實(shí)時(shí)信息動(dòng)態(tài)更新及數(shù)字顯示,異常判斷及報(bào)警聲音提示。

  (2) 串口通信子程序

  在Windows 98中將串行口和文件的操作統(tǒng)一起來(lái)。對(duì)他們打開、讀、寫、關(guān)閉等操作都使用相同的API函數(shù),但是又是有區(qū)別的,比如串行口不能像文件一樣被刪除,這些差別體現(xiàn)在API函數(shù)中部分的參數(shù)設(shè)置上。在VC中設(shè)計(jì)串行通信程序時(shí)要用到一些通信的API函數(shù),如CreateFile(),CloseHandle(),ReadFile(),WriteFile(),SetupComm(),WaitCommEvent()等。除上述幾個(gè)函數(shù)外,還要經(jīng)常用到一個(gè)重要的記錄DCB(設(shè)備控制塊)。DCB中記錄有可定義的串行口參數(shù),設(shè)置串行口參數(shù)時(shí)必須先用GetCommState函數(shù)將系統(tǒng)默認(rèn)值填入DCB控制塊,然后才可把用戶想改變的自定義值設(shè)定。

  PC機(jī)串行通信從調(diào)用CreateFile()函數(shù)開始,接著設(shè)置串行口波特率、數(shù)據(jù)位、校驗(yàn)位、停止位等參數(shù)和超時(shí)參數(shù),最后選擇一種工作方式來(lái)讀寫串行口。在Windows環(huán)境下,串行通信有4種方式可供選擇:查詢方式、同步I/O、異步I/O和事件驅(qū)動(dòng)方式。這幾種方式各有自己的優(yōu)缺點(diǎn):

 ?、俨樵兎绞奖容^直接,但要占用大量的CPU時(shí)間;

 ?、谕絀/O方式直到讀取指定的字節(jié)數(shù)或超時(shí)的時(shí)候才返回,這樣很容易長(zhǎng)時(shí)間地阻塞線程;

  ③異步I/O可以在后臺(tái)讀寫數(shù)據(jù),而在前臺(tái)做其他的事情;

  ④事件驅(qū)動(dòng)方式是由Windows通知應(yīng)用程序某些事件什么時(shí)候發(fā)生,然后根據(jù)所發(fā)生的事情來(lái)對(duì)串口進(jìn)行操作。

  在監(jiān)測(cè)系統(tǒng)中,由于事件的偶然性和要求傳送的實(shí)時(shí)性,計(jì)算機(jī)常采用事件驅(qū)動(dòng)I/O方式來(lái)進(jìn)行現(xiàn)場(chǎng)監(jiān)測(cè)。事件驅(qū)動(dòng)I/O方式是指線程通過(guò)監(jiān)視通信資源中的一組事件來(lái)進(jìn)行I/O操作,這種方式類似于MSDOS下的中斷方式,效率比較高。在實(shí)際項(xiàng)目應(yīng)用和開發(fā)過(guò)程中,大多用的這種工作方式來(lái)實(shí)現(xiàn)PC機(jī)和下位機(jī)的通信。

  上位機(jī)部分通信程序的實(shí)現(xiàn)過(guò)程如下:

  

  

{{分頁(yè)}}

  5 系統(tǒng)抗干擾問(wèn)題

  實(shí)時(shí)監(jiān)控系統(tǒng)在工業(yè)中的應(yīng)用越來(lái)越多,由于現(xiàn)場(chǎng)的電氣環(huán)境比較復(fù)雜,容易形成各種干擾源,特別是在較惡劣的工業(yè)環(huán)境中,因此研究解決系統(tǒng)抗干擾問(wèn)題對(duì)確保系統(tǒng)的穩(wěn)定運(yùn)行非常重要。RS 485本身具有較強(qiáng)的抗電磁干擾能力,但實(shí)際應(yīng)用中仍然會(huì)出現(xiàn)一些問(wèn)題,為此應(yīng)注意以下幾個(gè)方面:

  (1)RS 485支持半雙工或全雙工模式網(wǎng)絡(luò)拓?fù)?,一般采用終端匹配的總線型結(jié)構(gòu),不支持環(huán)形或星型網(wǎng)絡(luò)。最好采用一條總線將各個(gè)節(jié)點(diǎn)串接起來(lái),從總線到每個(gè)節(jié)點(diǎn)的引出線長(zhǎng)度應(yīng)盡量短,以便使引出線中的反射信號(hào)對(duì)總線信號(hào)的影響最低。

  (2)采用雙絞線作為RS 485傳輸線時(shí),雖然對(duì)電磁感應(yīng)噪聲有較強(qiáng)的抑制能力,但對(duì)靜電感應(yīng)引起噪聲的抑制能力較差,因此應(yīng)選用帶屏蔽的雙絞線,同時(shí)雙絞線的屏蔽層要正確接地。

  (3)通過(guò)在總線兩端A,B加入匹配電阻的方法,解決信號(hào)反射問(wèn)題。

  (4)對(duì)于RS 485網(wǎng)絡(luò),合理的接地系統(tǒng)對(duì)系統(tǒng)的可靠性很重要?;诠材8蓴_和EMI問(wèn)題,選擇集中供電方式,可基本消除各處參考電位不等的情況。

  (5)在切換大功率感性負(fù)載、閃電等過(guò)程中,都會(huì)產(chǎn)生幅度很高的瞬態(tài)干擾,如果不加以適當(dāng)防護(hù)就會(huì)損壞接口。對(duì)于這種瞬態(tài)干擾可以采用隔離或旁路的方法加以防護(hù)。

  6 結(jié) 語(yǔ)

  本文提出的主從分布式多機(jī)通信系統(tǒng)硬件電路簡(jiǎn)單、控制靈活。用VC語(yǔ)言實(shí)現(xiàn)上位機(jī)數(shù)據(jù)傳送的優(yōu)點(diǎn)是可有效地實(shí)現(xiàn)通信的底層控制。由于RS 485總線通信方式仍屬于串行通信方式,通信速度偏低,若要提高通信速度,還需對(duì)控制系統(tǒng)做進(jìn)一步的改進(jìn)。

雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理
汽車防盜機(jī)相關(guān)文章:汽車防盜機(jī)原理


關(guān)鍵詞: Modbus EPS 電源監(jiān)控 電源

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉