鐵路雨量監(jiān)測研究論文

時間:2022-06-23 03:08:00

導語:鐵路雨量監(jiān)測研究論文一文來源于網友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

鐵路雨量監(jiān)測研究論文

摘要:給出一種用于遠程通信的分布式計算機和單片機網絡結構。重點介紹單片機及計算機遠程通信的MODEM軟件處理方法,并給出部分應用程序供讀者參考。本系統(tǒng)成功應用于鐵路部門的雨量監(jiān)測

關鍵詞:單片機MODEM遠程通信監(jiān)測系統(tǒng)VB

引言

鐵路部門的雨量監(jiān)測是有關鐵路安全的一個重要環(huán)節(jié)。由雨量過多引起的洪水會影響鐵路路基,引發(fā)列車交通事故。因此,為了確保交通命脈的安全,應及時將鐵路沿線的雨量反饋至鐵路管理部門。過去雨量監(jiān)測是由各站點人工抄記雨量監(jiān)測儀表數(shù)據(jù),再匯總鐵路管理部門。顯然信息傳送不及時,且存在人為因素,備案困難。

微型計算機的發(fā)展和計算機通信技術的提高,使得各種信息采集的自動化、實時性變?yōu)榭赡堋W髡叱晒Φ剡\用微型計算機和單片機組成主從式微機網絡,將鐵路雨量監(jiān)測構成一個分布式雨量監(jiān)測系統(tǒng)。該系統(tǒng)將單片機雨量監(jiān)測儀采集的數(shù)據(jù),自動地由MODEM匯集到系統(tǒng)主計算機,從而使幾百公里長的遠程通信既經濟又可靠,大大提高了鐵路部門抗災的能力。

一、系統(tǒng)結構設計

雨量監(jiān)測系統(tǒng)是由微型計算機和單片機組成的主從式微機網絡。以單片機為核心的雨量監(jiān)測儀分布在鐵路各站點。該儀器功能有采集雨量、存儲雨量信息、雨量報警、現(xiàn)場雨量曲線打印以及通信。管理部門以個人計算機為系統(tǒng)主機。雨量監(jiān)測系統(tǒng)結構如圖1所示。

從圖1中看出系統(tǒng)主機直接與單片機建立通信聯(lián)系。由于各站點遠離系統(tǒng)主機,在不附加外部連線等硬件設施基礎上,利用單片機加MODEM方式以及電話線實現(xiàn)單片機遠程。系統(tǒng)主機可對各站部的單片機雨量監(jiān)測儀進行各種設置及數(shù)據(jù)采集,單片機雨量監(jiān)測儀根據(jù)雨量情況也可自動向系統(tǒng)主機發(fā)送當前雨量數(shù)據(jù),這樣就可做到及時提供現(xiàn)場的雨量情況。

二、單片機雨量監(jiān)測儀及其遠程通信

各站點的雨量監(jiān)測儀以8051系列單片機為CPU,輔以定制的液晶顯示器、SRAM、熱敏式繪圖儀、雨量傳感器等,其原理框圖如圖2所示。圖中W87E58是MCU,它兼容MCS-51單片機并具有32KB片內EEPROM。

單片機遠程通信由ST16C450連接MODEM實現(xiàn)。ST16C450是一種通用異步接收發(fā)送器,內部有10個寄存器,其中有MODEM控制寄存器和MODEM狀態(tài)寄存器。MCU通過這2個寄存器的操作實現(xiàn)對MODEM的控制并了解MODEM的工作狀態(tài),從而順利進行數(shù)據(jù)通信。ST16C450進行通信前首先要對其進行初始化,即設置波特率、通信數(shù)據(jù)格式、是否使用中斷等。ST16C450初始化后可采用程序查詢或中斷方式進行通信。

MODEM的使用主要有以下4個操作:

①初始化MODEM;

②撥號;

③應答到來的呼叫;

④掛斷線路,使MODEM回到AT命令狀態(tài)。

MODEM的控制由HayesAT命令集完成,程序可直接發(fā)送(以AT字符開始再加命令和參)數(shù)給MODEM。但是,AT命令無法完成系統(tǒng)間的文件傳送,發(fā)送或接收文件必須由通信軟件按預先規(guī)定的通信協(xié)議完成。

MODEM初始化命令串"AT&FS0=3","&F"重置MODEM,"S0=3"表示應答鈴響3次。雨量監(jiān)測儀MODEM初始化子程序如下:

MSTR:MOVR4,#0

MST0:MOVDPTR,#P3FE;MODEM狀態(tài)寄存器地址

MST1:MOVXA,@DPTR

ANLA,#30H

CJNEA,#30H,MST1

MOVDPTR,#P3FD;通信線狀態(tài)寄存器

MST2:MOVXA,@DPTR

JNBACC.5,MST2

MOVDPTR,#MTAB

MOVA,R4

MOVCA,@A+DPTR

JZMST3

MOVDPTR,#P3F3;數(shù)據(jù)發(fā)送保持寄存器

MOVX@DPTR,A

INCR4

SJMPMST0

MST3:RET

MTAB:DB41H,54H,26H,53H,30H,3DH,33H

DB0DH,0;AT&FS0=3

子程序執(zhí)行后MODEM應答"OK",表示初始化完成。

MODEM撥號命令串"ATDTxxxxx",xxxxx是電話號碼;撥號成功時MODEM將應答以"CONNECT"字符開始的字符串。單睡機與系統(tǒng)主機連接完成后,按通信協(xié)議所規(guī)定的數(shù)據(jù)串通信交換數(shù)據(jù)。數(shù)據(jù)通信結束后,程序發(fā)送掛斷線路命令串"+++ATH0",MODEM自動斷線,從而完成1次通信。

三、系統(tǒng)主機與雨量監(jiān)測儀的通信

系統(tǒng)主機軟件用VB5.0編制,運行于Windows95環(huán)境。整個軟件由通信、日報表、月報表、年報表、設定、曲線圖、報警等模塊組成,操作平臺如圖3所示。主機可與30個站點的雨量監(jiān)測儀連接。

程序中使用MSComm控件,通過向連接在串行口上的MODEM發(fā)送AT命令來控制。主機通信狀況分為2類:主動通信和被動通信。下面分別加以介紹。

1.主動通信

主機向站點雨量監(jiān)測儀傳送報警設定值及收集當天或前天的雨量數(shù)據(jù)時稱為主動通信。電話圖標表示各站點的雨量監(jiān)測儀,一旦被選中,程序就發(fā)出"ATDTxxxxx"撥號命令,雨量監(jiān)測儀MDOEM處于自動應答方式被連接。MODEM連接成功后,主機會收到"CONNECT4800"信息,此時,主機就可以向站點發(fā)送命令和數(shù)據(jù)串。如果站點接收到正確數(shù)據(jù),根據(jù)命令代碼(由通信協(xié)議規(guī)定)就可知道主機是要設定參數(shù)還是要收集當天或前天的雨量數(shù)據(jù)。若是收集雨量數(shù)據(jù),站點雨量監(jiān)測儀將雨量數(shù)據(jù)傳送給主機;主機收到站點正確的雨量數(shù)據(jù)后,向MODEM發(fā)送"+++ATH0"離線掛機命令,結束本次通信。

主站發(fā)送的數(shù)據(jù)串里包括站點號、通信代碼、當前日期和時間、警戒值及校驗和等信息。用@K和@J作為開始和結束標志。

下面是主動通信的主要源程序:

PrivateSub主動通信(發(fā)送代碼)

Dimi,j,ss,FsStr,ret

設置充許通信False

Fori=0T029''''工區(qū)數(shù)

If工區(qū)選中(i)Then

顯示信息"撥號到"+工區(qū)名(i)+"..."

FsStr="ATDT"+電話號碼(i)+vbCr

''''撥號的AT命令

ret=發(fā)送AT命令(FsStr,"CONNECT",60000)

''''發(fā)送撥號命令,限時60s

Ifret="正常"Then

FsStr=Format(i,"00")+發(fā)送代碼

''''發(fā)送字符串組合

FsStr=FsStr+Format(Now,"yymmddhhmmss")

FsStr=FsStr+設定值

FsStr=FsStr+計算累加和(FsStr)

FsStr="@K"+FsStr+"@J"

ret=發(fā)送AT命令(FsStr,"@J",5000)

''''發(fā)送數(shù)據(jù),等待接收串結束符@J

IfInStr(接收串,"@KCUO@J")Then

''''收到下位機的返回是"錯"

顯示"返回有錯."信息處理

Else

處理接收串''''下位機接收正確

EndIf

顯示"掛機..."信息處理

ret=發(fā)送AT命令("+++","OK",3000)

''''掛機,等待OK,限時3S

ret=發(fā)送AT命令("ATH0"+vbCrLf,"OK",3000)

EndIf

EndIf

Nexti

EndSub

2.被動通信

當站點監(jiān)測到雨量超過警戒值時,就主動撥號給主機,對主機而言就是被動通信。平時主機MODEM也處于自動應答狀態(tài),隨時可以接收站點呼叫。主機程序接收到正確數(shù)據(jù)串后,將數(shù)據(jù)記錄到相應文件中保存,點亮操作平臺上該站點的報警指示燈提醒用戶,同時向站點發(fā)送"接收正確"的信息。站點收到主機正確信息后向MODEM發(fā)送"+++ATH0"離線掛機命令,結束本次通信。站點發(fā)來的數(shù)據(jù)串里包括站點號、通信代碼、各種雨量數(shù)據(jù)、報警數(shù)據(jù)及校驗和等信息。用@K和@J作為開始和結束標志。

被動通信部分的主要源程序如下:

PrivateSubMSComm1_OnComm()

DimstrSh,Shc

Shc=MSComm1.InBufferCount''''取接收字符個數(shù)

IfShc>0Then

strSh=MSComm1,Input''''取本次接收串

接收串=接收串+strSh

IfInStr(接收串,"RING")Then''''若是電話鈴響

顯示"接收數(shù)據(jù)..."信息算是''''顯示接收數(shù)據(jù)信息

接收串=""

EndIf

IfInStr(接收串,"@J")Then''''收到接收串結束答@J

處理接收串''''處理接收串

EndIf

EndIf

EndSub

結束語

本系統(tǒng)已成功應用于鐵路部門。它具有實時性好、信息傳送距離遠、可靠性高、電路簡單、投資少等優(yōu)點。它可推廣用于其他需要信息采集及遠程通信的部門,如氣象部門溫度和風速收集、水文部門水位和雨量監(jiān)測;電力部門電網監(jiān)測等。