一種基于RS-485接口的通信方法
引言
建議性標(biāo)準(zhǔn)RS-485作為一種多點(diǎn)差分?jǐn)?shù)據(jù)傳輸?shù)碾姎庖?guī)范現(xiàn)已成為業(yè)界應(yīng)用最為廣泛的標(biāo)準(zhǔn)通信接口之一。這種通信接口允許在簡單的一對(duì)雙絞線上進(jìn)行多點(diǎn)雙向通信。但是作為數(shù)據(jù)傳輸鏈路,RS-485標(biāo)準(zhǔn)只規(guī)定了平衡驅(qū)動(dòng)器和接收器的電氣特性,在此基礎(chǔ)上用戶必須建立自己的高層通信協(xié)議。結(jié)合水下鋼樁防腐陰極保護(hù)電流檢測系統(tǒng)的開發(fā)過程,介紹一種基于RS-485接口的通信方法。
1網(wǎng)絡(luò)配置
原料碼頭分為引橋(長1700米)、主碼頭(長640米)和副碼頭(長430米)。呈反F形態(tài),由855根鋼樁支撐。每根鋼樁分二或三段加以陰極保護(hù)電流以防腐蝕。陰極保護(hù)電流總數(shù)可達(dá)2565路。為實(shí)時(shí)監(jiān)測陰極保護(hù)電流的變化,在碼頭各點(diǎn)安裝電流檢測裝置57臺(tái)、參比電壓檢測裝置1臺(tái)(以下稱從節(jié)點(diǎn)),每臺(tái)最大檢測48路電流或64路電壓,通過RS-485網(wǎng)絡(luò)向電氣控制室的PC機(jī)(以下稱主節(jié)點(diǎn))傳送數(shù)據(jù)或由主節(jié)點(diǎn)設(shè)置各個(gè)從節(jié)點(diǎn)的工作狀態(tài)。
RS-485網(wǎng)絡(luò)拓?fù)湟话悴捎媒K端匹配的總線型結(jié)構(gòu),不支持環(huán)形或星型結(jié)構(gòu)。根據(jù)本系統(tǒng)中的反F形狀的特點(diǎn),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用了三條總線分別將各個(gè)從節(jié)點(diǎn)串接起來,再用兩個(gè)集線器整合為一條總線與主節(jié)點(diǎn)相連、實(shí)現(xiàn)網(wǎng)絡(luò)的合理布局。集線器同時(shí)又有中繼器的作用,延長了通信距離。理論上可以串接8個(gè)集線器,通信距離可達(dá)9.6公里。
詳見網(wǎng)絡(luò)連接圖。(圖一)
2數(shù)據(jù)編碼和通信協(xié)議
串行通信的格式是:8位數(shù)據(jù)位,1位啟動(dòng)位,1位停止位,無校驗(yàn)位,通信速率是9600bps。
為了避免數(shù)據(jù)代碼和命令代碼沖突而引起通信混亂,通信代碼都采用ASIIC碼的編碼形式。由于本系統(tǒng)中數(shù)據(jù)代碼只有數(shù)值數(shù)據(jù),0~9,A~F除外的字符都可以用作命令代碼。假如數(shù)據(jù)代碼中有文本數(shù)據(jù)的話,就必須用ASIIC碼表內(nèi)的非打印字符作為命令代碼。
在一個(gè)主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn)構(gòu)成的總線式網(wǎng)絡(luò)中,采取主從應(yīng)答方式由主節(jié)點(diǎn)發(fā)起并控制網(wǎng)上的每一次通信。每個(gè)從節(jié)點(diǎn)有一個(gè)識(shí)別地址,只有收到與自己地址匹配的數(shù)據(jù)幀時(shí),才有相應(yīng)的處理,并向主節(jié)點(diǎn)應(yīng)答結(jié)果。
該系統(tǒng)中主要有四個(gè)通信過程,從節(jié)點(diǎn)發(fā)送電流或電壓數(shù)據(jù)、對(duì)從節(jié)點(diǎn)的采集通道啟用或禁用設(shè)置、電流和電壓的上、下限數(shù)據(jù)設(shè)置以及對(duì)從節(jié)點(diǎn)的時(shí)鐘校對(duì)。據(jù)此定義相應(yīng)的網(wǎng)絡(luò)協(xié)議如下:
幀格式定義:
?。畲a:見下表
?。刂罚簽閺墓?jié)點(diǎn)地址,有效范圍是1~254。其中256為廣播地址。
?。r?yàn)碼:采用累加和校驗(yàn),校驗(yàn)碼僅取各字節(jié)之和的低字節(jié)。
?。L度:數(shù)據(jù)段的字節(jié)長度
?。獢?shù)據(jù)段:時(shí)鐘校對(duì)過程時(shí),為年、月、日、時(shí)、分、秒、周共8個(gè)字節(jié)。
評(píng)論